From 73550ce6a86887bdcf3520416675c52c6914440f Mon Sep 17 00:00:00 2001 From: Kai Kang Date: Thu, 27 Jun 2019 01:22:12 -0400 Subject: mozjs: fix configure failure on CentOS 7.6 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. Signed-off-by: Kai Kang Signed-off-by: Khem Raj --- .../mozjs/fallback-to-2011-C++-standard.patch | 42 ++++++++++++++++++++++ meta-oe/recipes-extended/mozjs/mozjs_60.5.2.bb | 1 + 2 files changed, 43 insertions(+) create mode 100644 meta-oe/recipes-extended/mozjs/mozjs/fallback-to-2011-C++-standard.patch diff --git a/meta-oe/recipes-extended/mozjs/mozjs/fallback-to-2011-C++-standard.patch b/meta-oe/recipes-extended/mozjs/mozjs/fallback-to-2011-C++-standard.patch new file mode 100644 index 0000000000..7a0d286e14 --- /dev/null +++ b/meta-oe/recipes-extended/mozjs/mozjs/fallback-to-2011-C++-standard.patch @@ -0,0 +1,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 +--- +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': diff --git a/meta-oe/recipes-extended/mozjs/mozjs_60.5.2.bb b/meta-oe/recipes-extended/mozjs/mozjs_60.5.2.bb index 70bdbc1688..c89aba773a 100644 --- a/meta-oe/recipes-extended/mozjs/mozjs_60.5.2.bb +++ b/meta-oe/recipes-extended/mozjs/mozjs_60.5.2.bb @@ -17,6 +17,7 @@ SRC_URI = "https://dev.gentoo.org/~axs/distfiles/mozjs-60.5.2.tar.bz2 \ file://0001-To-fix-build-error-on-arm32BE.patch \ file://JS_PUBLIC_API.patch \ file://0001-riscv-Disable-atomic-operations.patch \ + file://fallback-to-2011-C++-standard.patch \ " SRC_URI_append_libc-musl = " \ file://0006-support-musl.patch \ -- cgit 1.2.3-korg