blob: 7a0d286e14cf53c2d32903ebca598d38e60c2324 [file] [log] [blame]
Option '-std=gnu++14' has been supported from gcc 4.9. But on some build hosts
such as CentOS 7.6 which only has gcc 4.8.5 and fails to configure:
| checking whether the host C compiler can be used... no
| ERROR: Only GCC 4.9 or newer is supported (found version 4.8.5).
Fallback to 2011 C++ standard and lower required gcc version to 4.8.0 which is
the same as in previous version 52.9.1 of mozjs.
Upstream-Status: Inappropriate [Workaround]
Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
index 9c772a8..fc640c7 100755
--- a/build/moz.configure/toolchain.configure
+++ b/build/moz.configure/toolchain.configure
@@ -502,10 +502,8 @@ def check_compiler(compiler, language, target):
append_flag('-std=c++14')
# GCC 4.9 indicates that it implements draft C++14 features
# instead of the full language.
- elif info.type == 'gcc' and \
- info.language_version not in (draft_cxx14_version,
- cxx14_version):
- append_flag('-std=gnu++14')
+ elif info.type == 'gcc' and info.language_version != 201103:
+ append_flag('-std=gnu++11')
# We force clang-cl to emulate Visual C++ 2017 version 15.4
if info.type == 'clang-cl' and info.version != '19.11.25547':
@@ -903,9 +901,9 @@ def compiler(language, host_or_target, c_compiler=None, other_compiler=None,
# Check the compiler version here instead of in `compiler_version` so
# that the `checking` message doesn't pretend the compiler can be used
# to then bail out one line later.
- if info.type == 'gcc' and info.version < '4.9.0':
+ if info.type == 'gcc' and info.version < '4.8.0':
raise FatalCheckError(
- 'Only GCC 4.9 or newer is supported (found version %s).'
+ 'Only GCC 4.8 or newer is supported (found version %s).'
% info.version)
if info.type == 'gcc' and host_or_target.os == 'Android':