From: Zongchun Yu <zongchun...@freescale.com>

Signed-off-by: Zongchun Yu <zongchun...@freescale.com>
---
 .../conf/distro/include/tcmode-external-linaro.inc |   27 ++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)

diff --git 
a/meta-linaro-toolchain/conf/distro/include/tcmode-external-linaro.inc 
b/meta-linaro-toolchain/conf/distro/include/tcmode-external-linaro.inc
index ed00a00..e1098c0 100644
--- a/meta-linaro-toolchain/conf/distro/include/tcmode-external-linaro.inc
+++ b/meta-linaro-toolchain/conf/distro/include/tcmode-external-linaro.inc
@@ -46,6 +46,33 @@ DISTRO_FEATURES_LIBC = "ipv4 ipv6 libc-backtrace 
libc-big-macros libc-bsd libc-c
 ENABLE_BINARY_LOCALE_GENERATION = "0"
 GLIBC_INTERNAL_USE_BINARY_LOCALE = "precompiled"
 
+ERROR_QA[type] ?= "list"
+python toolchain_metadata_setup () {
+    import subprocess
+    if not isinstance(e, bb.event.ConfigParsed):
+        return
+
+    d = e.data
+    l = d.createCopy()
+    l.finalize()
+    oe_import(l)
+
+    external_toolchain = l.getVar('EXTERNAL_TOOLCHAIN', True)
+    if not external_toolchain or external_toolchain == 'UNDEFINED':
+        bb.fatal("Error: EXTERNAL_TOOLCHAIN must be set to the path to your 
linaro toolchain")
+
+    if not os.path.exists(external_toolchain):
+        bb.fatal("Error: EXTERNAL_TOOLCHAIN path '%s' does not exist" % 
external_toolchain)
+
+    # The external toolchain may not have been built with the yocto preferred
+    # gnu hash setting, so ensure that the corresponding sanity check is not 
an error.
+    error_qa = oe.data.typed_value('ERROR_QA', l)
+    if 'ldflags' in error_qa:
+        error_qa.remove('ldflags')
+        d.setVar('ERROR_QA', ' '.join(error_qa))
+}
+addhandler toolchain_metadata_setup
+
 def populate_toolchain_links(d):
     import errno
     import os
-- 
1.7.0.4



_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to