Add a single generated env file to the test suite
[babeltrace.git] / configure.ac
index 8c7dec29bc236e443d00ff66870b1606530e9a8e..673fd7209523d66785ce18eddc917d3d1307f4f3 100644 (file)
@@ -69,7 +69,7 @@ AS_CASE([$host_os],
     ],
   [freebsd*],
     [
-       DEFAULT_ENABLE_DEBUG_INFO=no
+       AE_FEATURE_DISABLE([debug-info])
     ],
   [cygwin*],
     [
@@ -93,7 +93,8 @@ AC_SUBST(LT_NO_UNDEFINED)
 ##                   ##
 
 # Choose the c compiler
-AC_PROG_CC_STDC
+AC_PROG_CC
+m4_version_prereq([2.70], [], [AC_PROG_CC_STDC])
 
 # Make sure the c compiler supports C99
 AS_IF([test "$ac_cv_prog_cc_c99" = "no"], [AC_MSG_ERROR([The compiler does not support C99])])
@@ -128,6 +129,14 @@ AC_TYPE_UINT8_T
 AC_CHECK_TYPES([ptrdiff_t])
 
 
+##                     ##
+## C++ compiler checks ##
+##                     ##
+
+# Require a C++11 compiler without GNU extensions (-std=c++11)
+AX_CXX_COMPILE_STDCXX([11], [noext], [mandatory])
+
+
 ##               ##
 ## Header checks ##
 ##               ##
@@ -218,7 +227,9 @@ detection.
 AM_CONDITIONAL([HAVE_BISON], [test "x$have_bison" = "xyes"])
 
 # check for flex
-AC_PROG_LEX
+# Prior to autoconf 2.70, AC_PROG_FLEX did not take an argument. This is not a
+# problem since the argument is silently ignored by older versions.
+AC_PROG_LEX([noyywrap])
 AX_PROG_FLEX_VERSION([2.5.35], [have_flex=yes])
 
 AS_IF([test "x$have_flex" != "xyes"], [
@@ -393,7 +404,7 @@ AE_FEATURE([built-in-python-plugin-support],[Statically-link Python plugin suppo
 AE_FEATURE_DEFAULT_ENABLE
 AE_FEATURE([man-pages],[Do not build and install man pages (already built in a distributed tarball])
 
-# When given, add -Werror to WARN_CFLAGS.
+# When given, add -Werror to WARN_CFLAGS and WARN_CXXFLAGS.
 # Disabled by default
 AE_FEATURE_DEFAULT_DISABLE
 AE_FEATURE([Werror],[Treat compiler warnings as errors.])
@@ -471,7 +482,7 @@ AC_SUBST([ENABLE_DEBUG_INFO_VAL])
 ##                                           ##
 
 # The Python bindings require SWIG
-AE_IF_FEATURE_ENABLED([python-plugins],
+AE_IF_FEATURE_ENABLED([python-bindings],
   [AX_PKG_SWIG(2.0.0, [], [AC_MSG_ERROR([SWIG 2.0.0 or newer is required to build the python bindings])])]
 )
 
@@ -629,6 +640,7 @@ AC_SUBST(LIBDIR)
 # CFLAGS from libraries (the glib ones are needed for the following sizeof
 # test).
 AM_CFLAGS="${PTHREAD_CFLAGS} ${GLIB_CFLAGS}"
+AM_CXXFLAGS="${PTHREAD_CFLAGS} ${GLIB_CFLAGS}"
 
 # Check that the current size_t matches the size that glib thinks it should
 # be. This catches problems on multi-arch where people try to do a 32-bit
@@ -665,11 +677,10 @@ CFLAGS=${save_CFLAGS}
 
 # Detect C and LD warning flags supported by the compiler.
 
-# Detect warning flags supported by the compiler, append them to WARN_CFLAGS.
+# Detect warning flags supported by the C and C++ compilers and append them to
+# WARN_CFLAGS and WARN_CXXFLAGS.
 #
-# Pass -Werror as an extra flag during the test: this is needed to make the
-# -Wunknown-warning-option diagnostic fatal with clang.
-AX_APPEND_COMPILE_FLAGS([ dnl
+m4_define([WARN_FLAGS_LIST], [ dnl
                -Wall dnl
                -Wextra dnl
                -Wmissing-prototypes dnl
@@ -706,10 +717,16 @@ AX_APPEND_COMPILE_FLAGS([ dnl
                dnl Ref: https://github.com/swig/swig/issues/1259
                -Wno-cast-function-type dnl
                -Wno-missing-field-initializers dnl
-       ],
-       [WARN_CFLAGS],
-       [-Werror])
+       ])
+
+# Pass -Werror as an extra flag during the test: this is needed to make the
+# -Wunknown-warning-option diagnostic fatal with clang.
+AC_LANG([C++])
+AX_APPEND_COMPILE_FLAGS([WARN_FLAGS_LIST], [WARN_CXXFLAGS], [-Werror])
+AC_LANG([C])
+AX_APPEND_COMPILE_FLAGS([WARN_FLAGS_LIST], [WARN_CFLAGS], [-Werror])
 
+AE_IF_FEATURE_ENABLED([Werror], [WARN_CXXFLAGS="${WARN_CXXFLAGS} -Werror"])
 AE_IF_FEATURE_ENABLED([Werror], [WARN_CFLAGS="${WARN_CFLAGS} -Werror"])
 
 # The test used in AX_APPEND_COMPILE_FLAGS, generated using AC_LANG_PROGRAM, is
@@ -718,13 +735,15 @@ AE_IF_FEATURE_ENABLED([Werror], [WARN_CFLAGS="${WARN_CFLAGS} -Werror"])
 # the test program would not build.
 #
 # Enable them here unconditionally.  They are supported by GCC >= 4.8 and by
-# Clang >= 4.0.
+# Clang >= 3.3 (required by the project) and are only valid for C code.
 WARN_CFLAGS="${WARN_CFLAGS} -Wold-style-definition -Wstrict-prototypes"
 
 # CFLAGS from AX_APPEND_COMPILE_FLAGS.
+AM_CXXFLAGS="${AM_CXXFLAGS} ${WARN_CXXFLAGS}"
 AM_CFLAGS="${AM_CFLAGS} ${WARN_CFLAGS}"
 
-# Done for AM_CFLAGS.
+# Done for AM_CXXFLAGS and AM_CFLAGS.
+AC_SUBST(AM_CXXFLAGS)
 AC_SUBST(AM_CFLAGS)
 
 # Set global CPPFLAGS in AM_CPPFLAGS
@@ -822,6 +841,8 @@ AC_CONFIG_FILES([
        tests/utils/tap/Makefile
 ])
 
+AC_CONFIG_FILES([tests/utils/env.sh],[chmod +x tests/utils/env.sh])
+
 AC_OUTPUT
 
 #
This page took 0.023756 seconds and 4 git commands to generate.