On 9/26/13 7:13 PM, Randy MacLeod wrote:
On 13-09-26 02:52 PM, Joe Slater wrote:
This class points the inheritor, if it is a target,
to directories in the target sysroot, so we want to
be sure the .vapi files are there.

Signed-off-by: Joe Slater <jsla...@windriver.com>
---
   meta/classes/vala.bbclass |    8 +++++---
   1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/meta/classes/vala.bbclass b/meta/classes/vala.bbclass
index c7db08c..3b70a04 100644
--- a/meta/classes/vala.bbclass
+++ b/meta/classes/vala.bbclass
@@ -1,9 +1,11 @@
   # Vala has problems with multiple concurrent invocations
   PARALLEL_MAKE = ""

-# Vala needs vala-native
-DEPENDS += "vala-native"
-DEPENDS_virtclass-native += "vala-native"
+# Everyone needs vala-native and targets need vala, too,
+# because that is where target builds look for .vapi files.
+#
+VALADEPENDS_class-target = "vala"
+DEPENDS_append = " vala-native ${VALADEPENDS}"

   # Our patched version of Vala looks in STAGING_DATADIR for .vapi files
   export STAGING_DATADIR



In response to your previous patch, Richard P said:
In class code this is a really bad idea. Why? Imagine a recipe which
does:

DEPENDS =+ "x"
DEPENDS_class-native = "y"

The += on the class-native above will not do what you think.

I'd recommend something like:

VALADEPENDS = "vala vala-native"
VALADEPENDS_class-native = "vala-native"
DEPENDS += "${VALADEPENDS}"

Most other classes actually use _append on DEPENDS to ensure consistent
behaviour.

so send it to oe-core and see what they say.
Mark H any comments?

Good catch, I had missed this.

Ya the overrides (class-native) run -after- the rest of the system.  So:

DEPENDS = "foobar"
DEPENDS =+ "x"
DEPENDS_class-native =+ "y"

For "normal" it' would be "x foobar"
For "native" it would be "y"

This is because that system evals and gets:

DEPENDS = "foobar"  (DEPENDS = "foobar")
DEPENDS =+ "x"      (DEPENDS = "x foobar")
DEPENDS_class-native =+ "y"  (DEPENDS_class-native = "y")

invoke 'class-native' override,  DEPENDS = "y"

--Mark

// Randy


_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to