diff options
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/populate_sdk_ext.bbclass | 5 | ||||
-rw-r--r-- | meta/classes/uninative.bbclass | 2 | ||||
-rw-r--r-- | meta/lib/oe/utils.py | 14 |
3 files changed, 18 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 | ||
diff --git a/meta/lib/oe/utils.py b/meta/lib/oe/utils.py index d6545b197d..2b095f1f0a 100644 --- a/meta/lib/oe/utils.py +++ b/meta/lib/oe/utils.py | |||
@@ -230,6 +230,20 @@ def format_pkg_list(pkg_dict, ret_format=None): | |||
230 | 230 | ||
231 | return '\n'.join(output) | 231 | return '\n'.join(output) |
232 | 232 | ||
233 | def host_gcc_version(d): | ||
234 | compiler = d.getVar("BUILD_CC", True) | ||
235 | retval, output = getstatusoutput("%s --version" % compiler) | ||
236 | if retval: | ||
237 | bb.fatal("Error running %s --version: %s" % (compiler, output)) | ||
238 | |||
239 | import re | ||
240 | match = re.match(".* (\d\.\d)\.\d.*", output.split('\n')[0]) | ||
241 | if not match: | ||
242 | bb.fatal("Can't get compiler version from %s --version output" % compiler) | ||
243 | |||
244 | version = match.group(1) | ||
245 | return "-%s" % version if version in ("4.8", "4.9") else "" | ||
246 | |||
233 | # | 247 | # |
234 | # Python 2.7 doesn't have threaded pools (just multiprocessing) | 248 | # Python 2.7 doesn't have threaded pools (just multiprocessing) |
235 | # so implement a version here | 249 | # so implement a version here |