dnl SPDX-License-Identifier: GPL-2.0-only
AC_PREREQ([2.64])
-AC_INIT([lttng-tools],[2.12.0-rc1],[jeremie.galarneau@efficios.com],[],[https://lttng.org])
+AC_INIT([lttng-tools],[2.12.2],[jeremie.galarneau@efficios.com],[],[https://lttng.org])
AC_CONFIG_HEADERS([include/config.h])
AC_CONFIG_AUX_DIR([config])
AC_USE_SYSTEM_EXTENSIONS
AC_SYS_LARGEFILE
AC_PROG_CC
-AC_PROG_CC_STDC
+# AC_PROG_CC_STDC was merged in AC_PROG_CC in autoconf 2.70
+m4_version_prereq([2.70], [], [AC_PROG_CC_STDC])
AC_PROG_CXX
RW_PROG_CXX_WORKS
AM_CONDITIONAL([CXX_WORKS], [test "x$rw_cv_prog_cxx_works" = "xyes"])
+# Detect warning flags supported by the compiler, append them to WARN_CFLAGS.
+#
+# 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
+ -Wall dnl
+ dnl We currently get this warning when building with Clang:
+ dnl
+ dnl /usr/include/setjmp.h:54:12: error: declaration of built-in function '__sigsetjmp' requires the declaration of the 'jmp_buf' type, commonly provided in the header <setjmp.h>. [-Werror,-Wincomplete-setjmp-declaration]
+ dnl extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) __THROWNL;
+ dnl ^
+ -Wno-incomplete-setjmp-declaration dnl
+ -Wdiscarded-qualifiers dnl
+ -Wmissing-declarations dnl
+ -Wmissing-prototypes dnl
+ -Wmissing-parameter-type dnl
+ -Wold-style-definition dnl
+ -Wstrict-prototypes dnl
+ ],
+ [WARN_CFLAGS],
+ [-Werror])
+
+# When given, add -Werror to WARN_CFLAGS.
+AC_ARG_ENABLE([Werror],
+ [AS_HELP_STRING([--enable-Werror], [Treat compiler warnings as errors.])]
+)
+AS_IF([test "x$enable_Werror" = "xyes"],
+ [WARN_CFLAGS="${WARN_CFLAGS} -Werror"]
+)
+
# Checks for programs.
AC_PROG_GREP
AC_PROG_MAKE_SET
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])
FLEX=$LEX
AX_PROG_FLEX_VERSION([2.5.35], [have_flex=yes])
swig_version=2.0.0
AC_ARG_ENABLE([python-bindings],
- [AC_HELP_STRING([--enable-python-bindings],
+ [AS_HELP_STRING([--enable-python-bindings],
[compile Python bindings])],
[enable_python_binding=$enableval], [enable_python_binding=no])
AM_CONDITIONAL([BUILD_LIB_TESTPOINT], [test x$build_lib_testpoint = xyes])
AM_CONDITIONAL([BUILD_LIB_UST_CONSUMER], [test x$build_lib_ust_consumer = xyes])
-AM_CFLAGS="-Wall -fno-strict-aliasing $PTHREAD_CFLAGS"
+AM_CFLAGS="${WARN_CFLAGS} -fno-strict-aliasing $PTHREAD_CFLAGS"
AC_SUBST(AM_CFLAGS)
+# This is set even though it is empty, so Makefiles can do "AM_LDFLAGS += ...".
+AM_LDFLAGS=""
+AC_SUBST(AM_LDFLAGS)
+
# The order in which the include folders are searched is important.
# The top_builddir should always be searched first in the event that a build
# time generated file is included. An example of this is the "version.i" file.