summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsantouits <santouits@users.noreply.github.com>2019-07-25 23:59:25 +0300
committersantouits <santouits@users.noreply.github.com>2019-07-26 00:04:16 +0300
commit21297a533eb40b939aac1afb62cae2c1ddcb551a (patch)
treed1d54ea799acdb81dd73756de498dc72ef15e16b
parent3a68b241718a6bfef68e6e9916ec152b2615fea2 (diff)
fix getting correct mingw-w64 version
When checking mingw-w64 version, at least on debian, the regex being used returned 86 because the name of the binary in debian starts with x86_64-w64 so we use the dumpversion option that gcc has. This fixes not compiling because gcc versions < 7 don't have some checks like shadow-local
-rw-r--r--methods.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/methods.py b/methods.py
index 7840fb1b64..86ab7cd9af 100644
--- a/methods.py
+++ b/methods.py
@@ -617,7 +617,11 @@ def detect_darwin_sdk_path(platform, env):
raise
def get_compiler_version(env):
- version = decode_utf8(subprocess.check_output([env['CXX'], '--version']).strip())
+ # Not using this method on clang because it returns 4.2.1 # https://reviews.llvm.org/D56803
+ if using_gcc(env):
+ version = decode_utf8(subprocess.check_output([env['CXX'], '-dumpversion']).strip())
+ else:
+ version = decode_utf8(subprocess.check_output([env['CXX'], '--version']).strip())
match = re.search('[0-9][0-9.]*', version)
if match is not None:
return match.group().split('.')