sstate: Add a rule for target sysroot requirements from cross dependencies
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 22 Nov 2012 21:38:20 +0000 (21:38 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 24 Nov 2012 15:12:28 +0000 (15:12 +0000)
For example gcc-cross depends on linux-libc-headers and needs it to be present
to build/work correctly.

(From OE-Core rev: 43ce7a1d86bf82d976ad241057a4207b1a340b3b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/sstate.bbclass

index 470e0ee..b8a766b 100644 (file)
@@ -663,6 +663,10 @@ def setscene_depvalid(task, taskdependees, notneeded, d):
         # Native/Cross populate_sysroot need their dependencies
         if isNativeCross(taskdependees[task][0]) and isNativeCross(taskdependees[dep][0]) and taskdependees[task][1] == 'do_populate_sysroot' and taskdependees[dep][1] == 'do_populate_sysroot':
             return False
+        # Target populate_sysroot depended on by cross tools need to be installed
+        if taskdependees[task][1] == 'do_populate_sysroot' and taskdependees[dep][1] == 'do_populate_sysroot' and isNativeCross(taskdependees[dep][0]):
+            return False
+
         # Target populate_sysroot do not need their dependencies
         if taskdependees[task][1] == 'do_populate_sysroot' and taskdependees[dep][1] == 'do_populate_sysroot':
             continue