From 076da8d5ae2aa78b60649c66d27e965c57c74289 Mon Sep 17 00:00:00 2001 From: Kazuki OIKAWA Date: Fri, 18 Mar 2016 13:16:22 +0900 Subject: [PATCH] Enabled -std=c++11 option if compiler supported --- configure.in | 13 ++++++++++++- jubatus/mp/Makefile.am | 1 + jubatus/mp/config.h.in | 6 ++++++ jubatus/mp/functional.h | 2 ++ jubatus/mp/memory.h | 2 ++ jubatus/mp/unordered.h | 2 ++ 6 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 jubatus/mp/config.h.in diff --git a/configure.in b/configure.in index ef95fde..04d8002 100644 --- a/configure.in +++ b/configure.in @@ -110,8 +110,19 @@ else fi AC_MSG_RESULT($enable_debug) +AC_CONFIG_FILES([jubatus/mp/config.h]) +AC_LANG(C++) +mp_cxxflags_backup="$CXXFLAGS" +CXXFLAGS="$CXXFLAGS -std=c++11 -Wno-deprecated-declarations" +AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], + mp_use_cpp11_standard="#define MP_FUNCTIONAL_STANDARD +#define MP_MEMORY_STANDARD +#define MP_UNORDERED_MAP_STANDARD" + AC_SUBST([mp_use_cpp11_standard]), + CXXFLAGS="$mp_cxxflags_backup" +) + AC_OUTPUT([Makefile jubatus/mp/Makefile mpsrc/Makefile test/Makefile]) - diff --git a/jubatus/mp/Makefile.am b/jubatus/mp/Makefile.am index ec96da5..11ec136 100644 --- a/jubatus/mp/Makefile.am +++ b/jubatus/mp/Makefile.am @@ -3,6 +3,7 @@ libjubatus_mpio_includedir = $(includedir)/jubatus/mp libjubatus_mpio_include_HEADERS = \ + config.h \ endian.h \ exception.h \ functional.h \ diff --git a/jubatus/mp/config.h.in b/jubatus/mp/config.h.in new file mode 100644 index 0000000..70c7d45 --- /dev/null +++ b/jubatus/mp/config.h.in @@ -0,0 +1,6 @@ +#ifndef MP_CONFIG_H__ +#define MP_CONFIG_H__ + +@mp_use_cpp11_standard@ + +#endif diff --git a/jubatus/mp/functional.h b/jubatus/mp/functional.h index c980153..585865f 100644 --- a/jubatus/mp/functional.h +++ b/jubatus/mp/functional.h @@ -18,6 +18,8 @@ #ifndef MP_FUNCTIONAL_H__ #define MP_FUNCTIONAL_H__ +#include "jubatus/mp/config.h" + #ifdef MP_FUNCTIONAL_BOOST #include namespace mp { diff --git a/jubatus/mp/memory.h b/jubatus/mp/memory.h index e3f5866..a372cf7 100644 --- a/jubatus/mp/memory.h +++ b/jubatus/mp/memory.h @@ -18,6 +18,8 @@ #ifndef MP_MEMORY_H__ #define MP_MEMORY_H__ +#include "jubatus/mp/config.h" + #ifdef MP_MEMORY_BOOST #include namespace mp { diff --git a/jubatus/mp/unordered.h b/jubatus/mp/unordered.h index 2c4272c..7427f63 100644 --- a/jubatus/mp/unordered.h +++ b/jubatus/mp/unordered.h @@ -19,6 +19,8 @@ #ifndef MP_UNORDERED_H__ #define MP_UNORDERED_H__ +#include "jubatus/mp/config.h" + #if defined(MP_UNORDERED_MAP_BOOST) #include #include