From b11a7bba7acdcf30c0717c21d1b4583e3d739cf3 Mon Sep 17 00:00:00 2001 From: Richard Lau Date: Thu, 6 Dec 2018 14:35:02 -0500 Subject: [PATCH 1/2] build: fix compiler version detection Compiler version tuples should be numeric for tuple comparisons to work. --- configure.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/configure.py b/configure.py index 1bef01baef5fbc..9e3f8400727457 100755 --- a/configure.py +++ b/configure.py @@ -655,8 +655,8 @@ def try_check_compiler(cc, lang): values = (proc.communicate()[0].split() + ['0'] * 7)[0:7] is_clang = values[0] == '1' - gcc_version = tuple(values[1:1+3]) - clang_version = tuple(values[4:4+3]) + gcc_version = tuple(map(int, values[1:1+3])) + clang_version = tuple(map(int, values[4:4+3])) if is_clang else None return (True, is_clang, clang_version, gcc_version) @@ -921,8 +921,7 @@ def gcc_version_ge(version_checked): for compiler in [(CC, 'c'), (CXX, 'c++')]: ok, is_clang, clang_version, compiler_version = \ try_check_compiler(compiler[0], compiler[1]) - compiler_version_num = tuple(map(int, compiler_version)) - if is_clang or compiler_version_num < version_checked: + if is_clang or compiler_version < version_checked: return False return True From 208e57a9baeff24fb047df7082c01a373c748b6c Mon Sep 17 00:00:00 2001 From: Richard Lau Date: Thu, 6 Dec 2018 16:31:23 -0500 Subject: [PATCH 2/2] build: minimum supported GCC on AIX is 6.3.0 --- configure.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/configure.py b/configure.py index 9e3f8400727457..ca870824248532 100755 --- a/configure.py +++ b/configure.py @@ -753,6 +753,8 @@ def check_compiler(o): ok, is_clang, clang_version, gcc_version = try_check_compiler(CXX, 'c++') if not ok: warn('failed to autodetect C++ compiler version (CXX=%s)' % CXX) + elif sys.platform.startswith('aix') and gcc_version < (6, 3, 0): + warn('C++ compiler too old, need g++ 6.3.0 (CXX=%s)' % CXX) elif clang_version < (3, 4, 2) if is_clang else gcc_version < (4, 9, 4): warn('C++ compiler too old, need g++ 4.9.4 or clang++ 3.4.2 (CXX=%s)' % CXX)