X-Git-Url: https://sigrok.org/gitweb/?p=libsigrok.git;a=blobdiff_plain;f=configure.ac;fp=configure.ac;h=f36a3b2452be0dfeb9035660dc9d69297dc6f267;hp=5c4808183b3625a8e453ecfec110453f13aa7429;hb=cbcc060d9409585ca237706896e9a8d21fa5b376;hpb=c64bc75db0733eb7506740f152a4fb110765c82f diff --git a/configure.ac b/configure.ac index 5c480818..f36a3b24 100644 --- a/configure.ac +++ b/configure.ac @@ -401,9 +401,23 @@ AC_ARG_ENABLE([java], sr_cxx_missing= -# Check if the C++ compiler supports the C++11 standard. -AX_CXX_COMPILE_STDCXX([11], [noext], [optional]) -AS_IF([test "x$HAVE_CXX11" != x1], +# Check if the C++ compiler supports at least the C++11 standard. +# Get the highest of the available C++17/C++14/C++11 standards. +# This transparently amends CXXFLAGS to pick the detected standard. +HAVE_MODERN_CXX= +AS_IF([test "x$HAVE_MODERN_CXX" = x], + [AX_CXX_COMPILE_STDCXX([17], [noext], [optional])]) +AS_IF([test "x$HAVE_CXX17" = x1], + [HAVE_MODERN_CXX=yes]) +AS_IF([test "x$HAVE_MODERN_CXX" = x], + [AX_CXX_COMPILE_STDCXX([14], [noext], [optional])]) +AS_IF([test "x$HAVE_CXX14" = x1], + [HAVE_MODERN_CXX=yes]) +AS_IF([test "x$HAVE_MODERN_CXX" = x], + [AX_CXX_COMPILE_STDCXX([11], [noext], [optional])]) +AS_IF([test "x$HAVE_CXX11" = x1], + [HAVE_MODERN_CXX=yes]) +AS_IF([test "x$HAVE_MODERN_CXX" = x], [SR_APPEND([sr_cxx_missing], [', '], ['C++11'])]) # The C++ bindings need glibmm.