SCons: Expand env variables to check compiler version

Scons' `Environment.subst()` does that, and was already used in the
other place where we query an env variable (`env["LINK"]` in x11 code).

Fixes `3.2` iOS build after cherry-pick of #36559 (previously it only
ran for GCC code, not iOS's Clang), and the same issue would likely
affect `master` if iOS builds were enabled right now.
This commit is contained in:
Rémi Verschelde 2020-03-04 14:36:57 +01:00
parent 98f88a4102
commit df7ecfc4a7
2 changed files with 6 additions and 3 deletions

View file

@ -1,5 +1,4 @@
import os import os
import os.path
import re import re
import glob import glob
import subprocess import subprocess
@ -564,7 +563,11 @@ def get_compiler_version(env):
if not env.msvc: if not env.msvc:
# Not using -dumpversion as some GCC distros only return major, and # Not using -dumpversion as some GCC distros only return major, and
# Clang used to return hardcoded 4.2.1: # https://reviews.llvm.org/D56803 # Clang used to return hardcoded 4.2.1: # https://reviews.llvm.org/D56803
version = decode_utf8(subprocess.check_output([env['CXX'], '--version']).strip()) try:
version = decode_utf8(subprocess.check_output([env.subst(env['CXX']), '--version']).strip())
except (subprocess.CalledProcessError, OSError):
print("Couldn't parse CXX environment variable to infer compiler version.")
return None
else: # TODO: Implement for MSVC else: # TODO: Implement for MSVC
return None return None
match = re.search('[0-9]+\.[0-9.]+', version) match = re.search('[0-9]+\.[0-9.]+', version)

View file

@ -1,7 +1,7 @@
import os import os
import platform import platform
import sys import sys
from methods import get_compiler_version, using_gcc, using_clang from methods import using_gcc, using_clang
def is_active(): def is_active():