summaryrefslogtreecommitdiffstats
path: root/meta/lib/oe/utils.py
diff options
context:
space:
mode:
authorEd Bartosh <ed.bartosh@linux.intel.com>2016-12-13 23:55:04 (GMT)
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-12-16 10:23:23 (GMT)
commitc21cec84886d9c70396e9be0ceb9a8ef300b54be (patch)
tree583e4155d4a8f8961d396e2821688b050725dd5c /meta/lib/oe/utils.py
parent76ba70fcaa5482a179e3fc23dbbcc0d34e1aa878 (diff)
downloadpoky-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/lib/oe/utils.py')
-rw-r--r--meta/lib/oe/utils.py14
1 files changed, 14 insertions, 0 deletions
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