summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Ohly <patrick.ohly@intel.com>2017-04-11 20:38:36 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-04-12 15:02:13 +0100
commit58149a7be4172074349951aaf5af95fa40fd4bdb (patch)
tree1caa0a19a9591cef7be1a69fc2b0f9a42fdef72c
parenta2f1026b3d8c9f9810cb4389a8a93fabb04e15a4 (diff)
downloadopenembedded-core-contrib-58149a7be4172074349951aaf5af95fa40fd4bdb.tar.gz
openembedded-core-contrib-58149a7be4172074349951aaf5af95fa40fd4bdb.tar.bz2
openembedded-core-contrib-58149a7be4172074349951aaf5af95fa40fd4bdb.zip
go-cross: avoid libgcc dependency
libgcc gets compiled differently depending on the tune flags for the target. That dependency would make go-cross also tune specific and prevent sharing it between different machines using the same architecture. For example, MACHINE=intel-corei7-64 and MACHINE=qemux86-64 shared the same go-cross-x86_64, but compiled libgcc differently. The libgcc dependency gets inherited from go.inc, but does not seem to be necessary for go-cross (compiling go-helloworld still succeeds). The dependency is left in go.inc conditionally, just in case that it really is relevant for the various on-target recipes which inherit that. Because go-cross*.bb includes go*.bb, moving the DEPENDS into a .inc file that only gets included for the target recipes doesn't work. Reshuffling the content of three .bb files seems too intrusive at this point. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/go/go.inc11
1 files changed, 9 insertions, 2 deletions
diff --git a/meta/recipes-devtools/go/go.inc b/meta/recipes-devtools/go/go.inc
index 5ccbf73e23..25437ddfe3 100644
--- a/meta/recipes-devtools/go/go.inc
+++ b/meta/recipes-devtools/go/go.inc
@@ -1,6 +1,13 @@
inherit goarch
-# libgcc is required for the target specific libraries to build properly
-DEPENDS += "go-bootstrap-native libgcc"
+DEPENDS += "go-bootstrap-native"
+
+# libgcc is required for the target specific libraries to build
+# properly, but apparently not for go-cross and, more importantly,
+# also can't be used there because go-cross cannot depend on
+# the tune-specific libgcc. Otherwise go-cross also would have
+# to be tune-specific.
+DEPENDS += "${@ 'libgcc' if not oe.utils.inherits(d, 'cross') else ''}"
+
# Prevent runstrip from running because you get errors when the host arch != target arch
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_SYSROOT_STRIP = "1"