diff options
authorPatrick Ohly <>2017-04-11 20:38:36 +0200
committerRichard Purdie <>2017-04-12 15:02:13 +0100
commit58149a7be4172074349951aaf5af95fa40fd4bdb (patch)
parenta2f1026b3d8c9f9810cb4389a8a93fabb04e15a4 (diff)
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, but does not seem to be necessary for go-cross (compiling go-helloworld still succeeds). The dependency is left in 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 <> Signed-off-by: Richard Purdie <>
1 files changed, 9 insertions, 2 deletions
diff --git a/meta/recipes-devtools/go/ b/meta/recipes-devtools/go/
index 5ccbf73e23..25437ddfe3 100644
--- a/meta/recipes-devtools/go/
+++ b/meta/recipes-devtools/go/
@@ -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