utils: Always use datastore's PATH for host_gcc_version

BUILD_CC may reference something like ccache and expect this to come from
ccache-native, we at least have some selftests which assume this. Modify the
code to use PATH when runnig BUILD_CC to ensure the tests continue to work
as expected.

(From OE-Core rev: f3e753372baac43d0921186340cf260df056de20)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton 2016-12-15 19:09:16 +00:00 committed by Richard Purdie
parent 1e8c6434c9
commit 1969854ec3
1 changed files with 9 additions and 5 deletions

View File

@ -231,12 +231,16 @@ def format_pkg_list(pkg_dict, ret_format=None):
return '\n'.join(output)
def host_gcc_version(d):
compiler = d.getVar("BUILD_CC")
retval, output = getstatusoutput("%s --version" % compiler)
if retval:
bb.fatal("Error running %s --version: %s" % (compiler, output))
import re, subprocess
compiler = d.getVar("BUILD_CC")
try:
env = os.environ.copy()
env["PATH"] = d.getVar("PATH")
output = subprocess.check_output("%s --version" % compiler, shell=True, env=env).decode("utf-8")
except subprocess.CalledProcessError as e:
bb.fatal("Error running %s --version: %s" % (compiler, e.output.decode("utf-8")))
import re
match = re.match(".* (\d\.\d)\.\d.*", output.split('\n')[0])
if not match:
bb.fatal("Can't get compiler version from %s --version output" % compiler)