Brad Bishop | 26bdd44 | 2019-08-16 17:08:17 -0400 | [diff] [blame^] | 1 | Option '-std=gnu++14' has been supported from gcc 4.9. But on some build hosts |
| 2 | such 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 | |
| 7 | Fallback to 2011 C++ standard and lower required gcc version to 4.8.0 which is |
| 8 | the same as in previous version 52.9.1 of mozjs. |
| 9 | |
| 10 | Upstream-Status: Inappropriate [Workaround] |
| 11 | |
| 12 | Signed-off-by: Kai Kang <kai.kang@windriver.com> |
| 13 | --- |
| 14 | diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure |
| 15 | index 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': |