aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCory Fields <cory-nospam-@coryfields.com>2017-02-22 13:33:22 -0500
committerWladimir J. van der Laan <laanwj@gmail.com>2017-02-23 19:06:57 +0100
commit99fd85cb44fe9983c64cfa376299e67b18568304 (patch)
tree3ab777b20692dea3fb85671d298a1cf8718ce960
parent05e906dbc68e3a88a358f2f08750c51b6e9d9856 (diff)
downloadbitcoin-99fd85cb44fe9983c64cfa376299e67b18568304.tar.xz
build: force a c++ standard to be specified
Newer compilers may switch to newer standards by default. For example, gcc6 uses std=gnu++14 by default. Github-Pull: #9831 Rebased-From: 9829c54de2725037ee0702306cbaa99fc9aa1826
-rw-r--r--build-aux/m4/ax_cxx_compile_stdcxx.m48
-rw-r--r--configure.ac2
2 files changed, 8 insertions, 2 deletions
diff --git a/build-aux/m4/ax_cxx_compile_stdcxx.m4 b/build-aux/m4/ax_cxx_compile_stdcxx.m4
index 2c18e49c56..f147cee3b1 100644
--- a/build-aux/m4/ax_cxx_compile_stdcxx.m4
+++ b/build-aux/m4/ax_cxx_compile_stdcxx.m4
@@ -57,8 +57,14 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
[$3], [mandatory], [ax_cxx_compile_cxx$1_required=true],
[$3], [optional], [ax_cxx_compile_cxx$1_required=false],
[m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])])
+ m4_if([$4], [], [ax_cxx_compile_cxx$1_try_default=true],
+ [$4], [default], [ax_cxx_compile_cxx$1_try_default=true],
+ [$4], [nodefault], [ax_cxx_compile_cxx$1_try_default=false],
+ [m4_fatal([invalid fourth argument `$4' to AX_CXX_COMPILE_STDCXX])])
AC_LANG_PUSH([C++])dnl
ac_success=no
+
+ m4_if([$4], [nodefault], [], [dnl
AC_CACHE_CHECK(whether $CXX supports C++$1 features by default,
ax_cv_cxx_compile_cxx$1,
[AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
@@ -66,7 +72,7 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
[ax_cv_cxx_compile_cxx$1=no])])
if test x$ax_cv_cxx_compile_cxx$1 = xyes; then
ac_success=yes
- fi
+ fi])
m4_if([$2], [noext], [], [dnl
if test x$ac_success = xno; then
diff --git a/configure.ac b/configure.ac
index 95e85e6d05..a2332578a6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -55,7 +55,7 @@ case $host in
;;
esac
dnl Require C++11 compiler (no GNU extensions)
-AX_CXX_COMPILE_STDCXX([11], [noext], [mandatory])
+AX_CXX_COMPILE_STDCXX([11], [noext], [mandatory], [nodefault])
dnl Check if -latomic is required for <std::atomic>
CHECK_ATOMIC