diff options
author | Ed Bartosh <ed.bartosh@linux.intel.com> | 2016-12-14 01:55:04 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-12-16 10:23:23 +0000 |
commit | c21cec84886d9c70396e9be0ceb9a8ef300b54be (patch) | |
tree | 583e4155d4a8f8961d396e2821688b050725dd5c /meta/classes | |
parent | 76ba70fcaa5482a179e3fc23dbbcc0d34e1aa878 (diff) | |
download | poky-c21cec84886d9c70396e9be0ceb9a8ef300b54be.tar.gz |
uninative: rebuild uninative for gcc 4.8 and 4.9
Some c++ libraries fail to build if uninative is built
with gcc 5.x and host gcc version is either 4.8 or 4.9.
The issue should be solved by making separate uninative sstate
directory structure sstate-cache/universal-<gcc version> for host gcc
versions 4.8 and 4.9. This causes rebuilds of uninative if host gcc
is either 4.8 or 4.9 and it doesn't match gcc version used to build
uninative.
[YOCTO #10441]
(From OE-Core rev: d36f41e5658bbbb6080ee833027879c119edf3e0)
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/populate_sdk_ext.bbclass | 5 | ||||
-rw-r--r-- | meta/classes/uninative.bbclass | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index 3c3a73c72e..1affa9dfaa 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass | |||
@@ -374,8 +374,9 @@ python copy_buildsystem () { | |||
374 | 374 | ||
375 | sstate_out = baseoutpath + '/sstate-cache' | 375 | sstate_out = baseoutpath + '/sstate-cache' |
376 | bb.utils.remove(sstate_out, True) | 376 | bb.utils.remove(sstate_out, True) |
377 | # uninative.bbclass sets NATIVELSBSTRING to 'universal' | 377 | |
378 | fixedlsbstring = 'universal' | 378 | # uninative.bbclass sets NATIVELSBSTRING to 'universal%s' % oe.utils.host_gcc_version(d) |
379 | fixedlsbstring = "universal%s" % oe.utils.host_gcc_version(d) | ||
379 | 380 | ||
380 | sdk_include_toolchain = (d.getVar('SDK_INCLUDE_TOOLCHAIN', True) == '1') | 381 | sdk_include_toolchain = (d.getVar('SDK_INCLUDE_TOOLCHAIN', True) == '1') |
381 | sdk_ext_type = d.getVar('SDK_EXT_TYPE', True) | 382 | sdk_ext_type = d.getVar('SDK_EXT_TYPE', True) |
diff --git a/meta/classes/uninative.bbclass b/meta/classes/uninative.bbclass index 9242320fee..11cbf9be80 100644 --- a/meta/classes/uninative.bbclass +++ b/meta/classes/uninative.bbclass | |||
@@ -88,7 +88,7 @@ def enable_uninative(d): | |||
88 | loader = d.getVar("UNINATIVE_LOADER", True) | 88 | loader = d.getVar("UNINATIVE_LOADER", True) |
89 | if os.path.exists(loader): | 89 | if os.path.exists(loader): |
90 | bb.debug(2, "Enabling uninative") | 90 | bb.debug(2, "Enabling uninative") |
91 | d.setVar("NATIVELSBSTRING", "universal") | 91 | d.setVar("NATIVELSBSTRING", "universal%s" % oe.utils.host_gcc_version(d)) |
92 | d.appendVar("SSTATEPOSTUNPACKFUNCS", " uninative_changeinterp") | 92 | d.appendVar("SSTATEPOSTUNPACKFUNCS", " uninative_changeinterp") |
93 | d.prependVar("PATH", "${STAGING_DIR}-uninative/${BUILD_ARCH}-linux${bindir_native}:") | 93 | d.prependVar("PATH", "${STAGING_DIR}-uninative/${BUILD_ARCH}-linux${bindir_native}:") |
94 | 94 | ||