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