aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-extended/mozjs/mozjs/fallback-to-2011-C++-standard.patch
blob: 7a0d286e14cf53c2d32903ebca598d38e60c2324 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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':