configure: cleanup typos and sorting
[babeltrace.git] / configure.ac
index 590627f641e87c11787604799578ce20d6594c38..961e87c72289ee27cb3e314a868750746bbb1f0e 100644 (file)
@@ -92,18 +92,19 @@ AC_SUBST(LT_NO_UNDEFINED)
 ## C compiler checks ##
 ##                   ##
 
-# Choose the c compiler
+# Choose the C compiler
 AC_PROG_CC
+# AC_PROG_CC_STDC was merged in AC_PROG_CC in autoconf 2.70
 m4_version_prereq([2.70], [], [AC_PROG_CC_STDC])
 
-# Make sure the c compiler supports C99
+# 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])])
 
 # Enable available system extensions and LFS support
 AC_USE_SYSTEM_EXTENSIONS
 AC_SYS_LARGEFILE
 
-# Make sure the c compiler supports __attributes__
+# Make sure the C compiler supports __attributes__
 AX_C___ATTRIBUTE__
 AS_IF([test "x$ax_cv___attribute__" != "xyes"],
   [AC_MSG_ERROR([The compiler does not support __attribute__ extensions])])
@@ -114,13 +115,13 @@ AX_PTHREAD([], [AC_MSG_ERROR([Could not configure pthread support])])
 # Checks for typedefs, structures, and compiler characteristics.
 AC_C_INLINE
 AC_C_TYPEOF
-AC_TYPE_PID_T
-AC_TYPE_SIZE_T
 AC_TYPE_INT16_T
 AC_TYPE_INT32_T
 AC_TYPE_INT64_T
 AC_TYPE_INT8_T
 AC_TYPE_OFF_T
+AC_TYPE_PID_T
+AC_TYPE_SIZE_T
 AC_TYPE_SSIZE_T
 AC_TYPE_UINT16_T
 AC_TYPE_UINT32_T
@@ -409,6 +410,9 @@ AE_FEATURE([man-pages],[Do not build and install man pages (already built in a d
 AE_FEATURE_DEFAULT_DISABLE
 AE_FEATURE([Werror],[Treat compiler warnings as errors.])
 
+# When given, build with AddressSanitizer.
+AE_FEATURE_DEFAULT_DISABLE
+AE_FEATURE([asan],[Build with AddressSanitizer.])
 
 ##                                          ##
 ## Check for conflicting features selection ##
@@ -446,9 +450,9 @@ AE_IF_FEATURE_ENABLED([built-in-python-plugin-support], [
 ])
 
 
-##                                                                           ##
-## Set automake variables for optionnal feature conditionnals in Makefile.am ##
-##                                                                           ##
+##                                                                          ##
+## Set automake variables for optional feature conditionnals in Makefile.am ##
+##                                                                          ##
 
 AM_CONDITIONAL([ENABLE_PYTHON_BINDINGS], AE_IS_FEATURE_ENABLED([python-bindings]))
 AM_CONDITIONAL([ENABLE_PYTHON_BINDINGS_DOC], AE_IS_FEATURE_ENABLED([python-bindings-doc]))
@@ -459,11 +463,12 @@ AM_CONDITIONAL([ENABLE_BUILT_IN_PLUGINS], AE_IS_FEATURE_ENABLED([built-in-plugin
 AM_CONDITIONAL([ENABLE_BUILT_IN_PYTHON_PLUGIN_SUPPORT], AE_IS_FEATURE_ENABLED([built-in-python-plugin-support]))
 AM_CONDITIONAL([ENABLE_MAN_PAGES], AE_IS_FEATURE_ENABLED([man-pages]))
 AM_CONDITIONAL([ENABLE_PYTHON_COMMON_DEPS], AE_IS_FEATURE_ENABLED([python-bindings]) || AE_IS_FEATURE_ENABLED([python-plugins]))
+AM_CONDITIONAL([ENABLE_ASAN], AE_IS_FEATURE_ENABLED([asan]))
 
 
-##                                                                     ##
-## Set defines for optionnal features conditionnals in the source code ##
-##                                                                     ##
+##                                                                    ##
+## Set defines for optional features conditionnals in the source code ##
+##                                                                    ##
 
 AE_IF_FEATURE_ENABLED([built-in-plugins],
   [AC_DEFINE([BT_BUILT_IN_PLUGINS], [1], [Define to 1 to register plug-in attributes in static executable sections])]
@@ -476,10 +481,12 @@ AE_IF_FEATURE_ENABLED([built-in-python-plugin-support],
 AE_IF_FEATURE_ENABLED([debug-info], [ENABLE_DEBUG_INFO_VAL=1], [ENABLE_DEBUG_INFO_VAL=0])
 AC_SUBST([ENABLE_DEBUG_INFO_VAL])
 
+AE_IF_FEATURE_ENABLED([asan], [ENABLE_ASAN=1], [ENABLE_ASAN=0])
+AC_SUBST([ENABLE_ASAN])
 
-##                                           ##
-## Check for optionnal features dependencies ##
-##                                           ##
+##                                          ##
+## Check for optional features dependencies ##
+##                                          ##
 
 # The Python bindings require SWIG
 AE_IF_FEATURE_ENABLED([python-bindings],
@@ -634,13 +641,21 @@ AS_IF([test "x$exec_prefix" = xNONE], [
 
 AC_SUBST(LIBDIR)
 
+# If --enable-asan is used...
+AE_IF_FEATURE_ENABLED([asan], [
+  # ... add -fsanitize=address to the *FLAGS variables.
+  ASAN_CFLAGS="-fsanitize=address"
+  ASAN_CXXFLAGS="-fsanitize=address"
+  ASAN_LDFLAGS="-fsanitize=address"
+])
 
 
 
 # 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}"
+AM_CFLAGS="${PTHREAD_CFLAGS} ${GLIB_CFLAGS} ${ASAN_CFLAGS}"
+AM_CXXFLAGS="${PTHREAD_CFLAGS} ${GLIB_CFLAGS} ${ASAN_CXXFLAGS}"
+AM_LDFLAGS="${ASAN_LDFLAGS}"
 
 # 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
@@ -742,9 +757,10 @@ WARN_CFLAGS="${WARN_CFLAGS} -Wold-style-definition -Wstrict-prototypes"
 AM_CXXFLAGS="${AM_CXXFLAGS} ${WARN_CXXFLAGS}"
 AM_CFLAGS="${AM_CFLAGS} ${WARN_CFLAGS}"
 
-# Done for AM_CXXFLAGS and AM_CFLAGS.
+# Done for AM_CXXFLAGS, AM_CFLAGS and AM_LDFLAGS.
 AC_SUBST(AM_CXXFLAGS)
 AC_SUBST(AM_CFLAGS)
+AC_SUBST(AM_LDFLAGS)
 
 # Set global CPPFLAGS in AM_CPPFLAGS
 AM_CPPFLAGS="-I\$(top_srcdir)/include -I\$(top_builddir)/src -I\$(top_srcdir)/src -include common/config.h"
@@ -841,6 +857,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.024325 seconds and 4 git commands to generate.