changeset 235:4a05a154b09b

Bug 3405: HeapStats Agent cannot be built on CentOS 6 after Bug 3403 Reviewed-by: ykubota https://github.com/HeapStats/heapstats/pull/102
author Yasumasa Suenaga <yasuenag@gmail.com>
date Tue, 20 Jun 2017 14:42:13 +0900
parents 07b92bcfe98d
children 84f67233da38
files ChangeLog configure configure.ac
diffstat 3 files changed, 53 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Jun 14 00:09:19 2017 +0900
+++ b/ChangeLog	Tue Jun 20 14:42:13 2017 +0900
@@ -1,3 +1,7 @@
+2017-06-20 Yasumasa Suenaga <yasuenag@gmail.com>
+
+	* Bug 3405: HeapStats Agent cannot be built on CentOS 6 after Bug 3403
+
 2017-06-14 KUBOTA Yuji <kubota.yuji@lab.ntt.co.jp>
 
 	* Bug 3404: Fix to show a path to debuginfo
--- a/configure	Wed Jun 14 00:09:19 2017 +0900
+++ b/configure	Tue Jun 20 14:42:13 2017 +0900
@@ -6349,10 +6349,7 @@
 fi
 rm -f confcache
 
-# Check C++11 regex
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for std::regex" >&5
-$as_echo_n "checking for std::regex... " >&6; }
-
+# Check C++11 support
 ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -6361,7 +6358,40 @@
 
 ORIG_CXXFLAGS=$CXXFLAGS
 CXXFLAGS+=" -std=c++11"
-
+CPP11=1
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking C++11 support" >&5
+$as_echo_n "checking C++11 support... " >&6; }
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+else
+   CPP11=0
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+if test $CPP11 -eq 1; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: c++11" >&5
+$as_echo "c++11" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: c++0x" >&5
+$as_echo "c++0x" >&6; }
+  CXXFLAGS="$ORIG_CXXFLAGS -std=c++0x"
+fi
+
+# Check C++11 regex
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for std::regex" >&5
+$as_echo_n "checking for std::regex... " >&6; }
 
 
 if test "$cross_compiling" = yes; then :
@@ -6400,7 +6430,6 @@
 $as_echo "no" >&6; }
     $as_echo "#define USE_PCRE 1" >>confdefs.h
 
-    CXXFLAGS=$ORIG_CXXFLAGS
     for ac_header in pcre.h
 do :
   ac_fn_cxx_check_header_mongrel "$LINENO" "pcre.h" "ac_cv_header_pcre_h" "$ac_includes_default"
--- a/configure.ac	Wed Jun 14 00:09:19 2017 +0900
+++ b/configure.ac	Tue Jun 20 14:42:13 2017 +0900
@@ -72,12 +72,23 @@
 AC_CHECK_HEADERS([sys/auxv.h], [], [])  # Supplemental headers
 AC_CACHE_SAVE
 
-# Check C++11 regex
-AC_MSG_CHECKING([for std::regex])
-
+# Check C++11 support
 AC_LANG_PUSH([C++])
 ORIG_CXXFLAGS=$CXXFLAGS
 CXXFLAGS+=" -std=c++11"
+CPP11=1
+
+AC_MSG_CHECKING([C++11 support])
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])], [], [ CPP11=0 ])
+if test $CPP11 -eq 1; then
+  AC_MSG_RESULT([c++11])
+else
+  AC_MSG_RESULT([c++0x])
+  CXXFLAGS="$ORIG_CXXFLAGS -std=c++0x"
+fi
+
+# Check C++11 regex
+AC_MSG_CHECKING([for std::regex])
 
 AC_RUN_IFELSE(
   [AC_LANG_PROGRAM(
@@ -93,7 +104,6 @@
   ], [
     AC_MSG_RESULT([no])
     AC_DEFINE(USE_PCRE,1)
-    CXXFLAGS=$ORIG_CXXFLAGS
     AC_CHECK_HEADERS([pcre.h], [], [AC_MSG_ERROR([PCRE not found.])])
     AC_CHECK_LIB([pcre], [main], [], [AC_MSG_ERROR([PCRE not found.])])
   ]