configure: regroup and expand C compiler checks
authorMichael Jeanson <mjeanson@efficios.com>
Mon, 22 Mar 2021 16:44:54 +0000 (12:44 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Tue, 23 Mar 2021 15:15:12 +0000 (11:15 -0400)
This is part of an effort to standardise our autotools setup across
project to simplify maintenance.

Change-Id: I304f4bda39e60321248772ef9864cd205a049a6f
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
configure.ac

index 1f80ffe0a952667b98e3beb10597a930e1d217a1..685e6fe496bcbf5c298d20fff48d2d1e9b3801b0 100644 (file)
@@ -57,21 +57,64 @@ AM_MAINTAINER_MODE([enable])
 # Enable silent rules by default
 AM_SILENT_RULES([yes])
 
-# Checks for C compiler
-AC_USE_SYSTEM_EXTENSIONS
-AC_SYS_LARGEFILE
+
+##                   ##
+## C compiler checks ##
+##                   ##
+
+# 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])
-AX_CXX_COMPILE_STDCXX([11], [noext], [optional])
-AM_CONDITIONAL([HAVE_CXX], [test "$HAVE_CXX11" = "1"])
 
-# Check if the compiler support weak symbols
+# 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 __attribute__
+AX_C___ATTRIBUTE__
+AS_IF([test "x$ax_cv___attribute__" != "xyes"],
+  [AC_MSG_ERROR([The compiler does not support __attribute__ extensions])])
+
+# Make sure we have pthread support
+AX_PTHREAD([], [AC_MSG_ERROR([Could not configure pthread support])])
+
+# Make sure the C compiler supports weak symbols
 AX_SYS_WEAK_ALIAS
+AS_IF([test "x$ax_cv_sys_weak_alias" = "xno"],
+  [AC_MSG_ERROR([Your platform doesn't support weak symbols.])])
+
+# Checks for typedefs, structures, and compiler characteristics.
+AC_C_INLINE
+AC_C_TYPEOF
+AC_TYPE_INT16_T
+AC_TYPE_INT32_T
+AC_TYPE_INT64_T
+AC_TYPE_INT8_T
+AC_TYPE_MODE_T
+AC_TYPE_OFF_T
+AC_TYPE_PID_T
+AC_TYPE_SIZE_T
+AC_TYPE_SSIZE_T
+AC_TYPE_UID_T
+AC_TYPE_UINT16_T
+AC_TYPE_UINT32_T
+AC_TYPE_UINT64_T
+AC_TYPE_UINT8_T
+AC_CHECK_TYPES([ptrdiff_t])
+
+
+##                     ##
+## C++ compiler checks ##
+##                     ##
+
+# Find an optional C++11 compiler without GNU extensions (-std=c++11)
+AX_CXX_COMPILE_STDCXX([11], [noext], [optional])
+AM_CONDITIONAL([HAVE_CXX], [test "$HAVE_CXX11" = "1"])
 
-AS_IF([test "x${ax_cv_sys_weak_alias}" = "xno"], [
-       AC_MSG_ERROR([Your platform doesn't support weak symbols.])
-])
 
 # Checks for programs.
 AM_PROG_AR
@@ -116,31 +159,6 @@ AS_IF([test "x$enable_shared" = "xyes"], [
        AC_MSG_ERROR([LTTng-UST requires shared libraries to be enabled])
 ])
 
-# Checks for typedefs, structures, and compiler characteristics.
-AC_C_INLINE
-AC_TYPE_INT8_T
-AC_TYPE_INT16_T
-AC_TYPE_INT32_T
-AC_TYPE_INT64_T
-AC_TYPE_MODE_T
-AC_TYPE_OFF_T
-AC_TYPE_PID_T
-AC_TYPE_SIZE_T
-AC_TYPE_SSIZE_T
-AC_TYPE_UID_T
-AC_TYPE_UINT8_T
-AC_TYPE_UINT16_T
-AC_TYPE_UINT32_T
-AC_TYPE_UINT64_T
-AC_CHECK_TYPES([ptrdiff_t])
-
-AX_C___ATTRIBUTE__
-AS_IF([test "x$ax_cv___attribute__" = "xyes"],
-       [:],
-       [AC_MSG_ERROR([The compiler does not support __attribute__ extensions])])
-
-AX_PTHREAD(,[AC_MSG_ERROR([Could not configure pthreads support])])
-
 # Checks for library functions.
 AC_FUNC_CHOWN
 AC_FUNC_FORK
This page took 0.030837 seconds and 4 git commands to generate.