summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/populate_sdk_ext.bbclass5
-rw-r--r--meta/classes/uninative.bbclass2
-rw-r--r--meta/lib/oe/utils.py14
3 files changed, 18 insertions, 3 deletions
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass
index 3c3a73c..1affa9d 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 9242320..11cbf9b 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 d6545b1..2b095f1 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
233def 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