Cleanup: work-around missing inet.h struct mmsghdr fwd declaration
[lttng-ust.git] / configure.ac
index 243a490644603c40400d663067a26514e20fce26..8bf7c04069d03b6d9d4f09006068a44d73c20d29 100644 (file)
@@ -1,7 +1,7 @@
 #                                               -*- Autoconf -*-
 # Process this file with autoconf to produce a configure script.
 
-AC_INIT([lttng-ust],[2.4.0-rc3],[mathieu dot desnoyers at efficios dot com])
+AC_INIT([lttng-ust],[2.4.0],[mathieu dot desnoyers at efficios dot com])
 
 # Following the numbering scheme proposed by libtool for the library version
 # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
@@ -19,6 +19,7 @@ AC_CANONICAL_TARGET
 AC_CANONICAL_HOST
 AC_CONFIG_MACRO_DIR([config])
 AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip])
+AM_MAINTAINER_MODE([enable])
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 AC_CONFIG_SRCDIR([include/lttng/tracepoint.h])
 
@@ -26,6 +27,7 @@ AC_CONFIG_SRCDIR([include/lttng/tracepoint.h])
 AC_CONFIG_HEADERS([config.h include/lttng/ust-config.h])
 AH_TEMPLATE([LTTNG_UST_HAVE_EFFICIENT_UNALIGNED_ACCESS], [Use efficient unaligned access.])
 AH_TEMPLATE([LTTNG_UST_HAVE_SDT_INTEGRATION], [SystemTap integration via sdt.h])
+AH_TEMPLATE([LTTNG_UST_HAVE_PERF_EVENT], [Perf event integration via perf_event.h])
 
 # Compute minor/major/patchlevel version numbers
 AC_PROG_SED
@@ -123,6 +125,16 @@ AM_CONDITIONAL([LTTNG_UST_BUILD_WITH_LIBC_DL], [test "x$have_libc_dl" = "xyes"])
 
 AC_CHECK_LIB([pthread], [pthread_create])
 
+# Check for dlfcn.h
+AC_CHECK_HEADER([dlfcn.h])
+AS_IF([test "x${ac_cv_header_dlfcn_h}" = "xyes"],
+       [AC_CHECK_DECLS([RTLD_DI_LINKMAP],,,
+               [#define _GNU_SOURCE /* Required on Linux to get GNU extensions */
+               #include <dlfcn.h>])
+       ],
+       [ac_cv_have_decl_RTLD_DI_LINKMAP="no"])
+AM_CONDITIONAL([HAVE_DLINFO], [test "x${ac_cv_have_decl_RTLD_DI_LINKMAP}" = "xyes"])
+
 # Checks for header files.
 #AC_CHECK_HEADERS([fcntl.h stdint.h stdlib.h string.h sys/socket.h sys/time.h unistd.h])
 
@@ -180,6 +192,14 @@ AC_CHECK_LIB([urcu-bp], [synchronize_rcu_bp], [], [AC_MSG_ERROR([Cannot find lib
 # urcu - check that URCU lib is at least version 0.6
 AC_CHECK_LIB([urcu-bp], [call_rcu_bp], [], [AC_MSG_ERROR([liburcu 0.6 or newer is needed, please update your version or use [LDFLAGS]=-Ldir to specify the right location.])])
 
+# optional linux/perf_event.h
+AC_CHECK_HEADERS([linux/perf_event.h], [have_perf_event=yes], [])
+AM_CONDITIONAL([HAVE_PERF_EVENT], [test "x$have_perf_event" = "xyes"])
+
+if test "x$have_perf_event" = "xyes"; then
+AC_DEFINE([LTTNG_UST_HAVE_PERF_EVENT], [1])
+fi
+
 AC_MSG_CHECKING([host system alignment requirements])
 case $host_cpu in
 changequote(,)dnl
@@ -198,6 +218,7 @@ changequote([,])dnl
        tile*) NO_UNALIGNED_ACCESS=1 ;;
        *) AC_MSG_ERROR([unable to detect alignment requirements (unsupported architecture ($host_cpu)?)]) ;;
 esac
+AC_MSG_RESULT([$host_cpu])
 
 if test x$NO_UNALIGNED_ACCESS = x ; then
 AC_DEFINE([LTTNG_UST_HAVE_EFFICIENT_UNALIGNED_ACCESS], [1])
@@ -265,6 +286,16 @@ AS_IF([test "x$with_sdt" = "xyes"],[
        ])
 ])
 
+AC_MSG_CHECKING([whether shared libraries are enabled])
+AS_IF([test "x$enable_shared" = "xyes"],
+       [
+               AC_MSG_RESULT([yes])
+       ],
+       [
+               AC_MSG_RESULT([no])
+               AC_MSG_ERROR([LTTng-UST requires shared libraries to be enabled])
+       ])
+
 AC_ARG_WITH([lttng-system-rundir],
        AS_HELP_STRING([--with-lttng-system-rundir],
        [Location of the system directory where LTTng-UST expects the system-wide lttng-sessiond runtime files. The default is "/var/run/lttng".]),
@@ -276,6 +307,9 @@ AC_DEFINE_UNQUOTED([LTTNG_SYSTEM_RUNDIR], ["$lttng_system_rundir"],
 lttnglibjavadir="${libdir}/lttng/java"
 AC_SUBST(lttnglibjavadir)
 
+AM_PATH_PYTHON([2.7],BUILD_GEN_TP_EXAMPLES=1,[:])
+AM_CONDITIONAL([BUILD_GEN_TP_EXAMPLES], [test $BUILD_GEN_TP_EXAMPLES], [Build examples requiring lttng-gen-tp])
+
 AC_CONFIG_FILES([
        Makefile
        doc/Makefile
This page took 0.023905 seconds and 4 git commands to generate.