# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
-AC_INIT([lttng-ust],[2.2.0-rc1],[mathieu dot desnoyers at efficios dot com])
+AC_INIT([lttng-ust],[2.5.0-rc2],[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
# This is the library version of liblttng-ust-ctl, used internally by
# liblttng-ust, lttng-sessiond, and lttng-consumerd.
-AC_SUBST([LTTNG_UST_CTL_LIBRARY_VERSION], [1:0:0])
+AC_SUBST([LTTNG_UST_CTL_LIBRARY_VERSION], [2:0:0])
AC_CONFIG_AUX_DIR([config])
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])
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
AC_DEFINE_UNQUOTED([VERSION_MINOR], $minor_version, [UST minor version number])
AC_DEFINE_UNQUOTED([VERSION_PATCHLEVEL], $patchlevel_version, [UST patchlevel version number])
-version_name="Cuda"
-version_description="Brewed at the Benelux microbrewery, this IPA has huge floral, citric and resinous hop aroma, simply an amazing nose. The flavor is very fresh with a light caramel malting touch completing a strong body. Huge amounts of hops, lots of grapefruit, lemon and oranges. This is an outstanding IPA!"
+version_name="Fumisterie"
+version_description="The Fumisterie is a beer whose style is at the confluence of English and German ales. On the palate, it is full-bodied, malty and slightly caramelized. The organic hemp seeds incorporated during the brewing gives it a unique and original taste. The hop flavour comes through delicately in the after taste."
+
AC_DEFINE_UNQUOTED([VERSION_NAME], ["$version_name"], [UST version name])
AC_DEFINE_UNQUOTED([VERSION_DESCRIPTION], ["$version_description"], [UST version description])
[rw_cv_prog_cxx_works],
[AC_LANG_PUSH([C++])
AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
- [rw_cv_prog_cxx_works=yes],
+ [check_cxx_designated_initializers=yes],
[rw_cv_prog_cxx_works=no])
+ if test "$check_cxx_designated_initializers" = "yes"; then
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+ struct foo { int a; int b; };
+ void fct(void)
+ {
+ struct foo f = { .a = 0, .b = 1 };
+ }
+ ]])],[
+ rw_cv_prog_cxx_works=yes
+ ],[
+ rw_cv_prog_cxx_works=no
+ ])
+ fi
AC_LANG_POP([C++])])
AM_CONDITIONAL([CXX_WORKS], [test "x$rw_cv_prog_cxx_works" = "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])
# 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], [])
+
+# Perf event counters are only supported on x86 so far.
+AC_MSG_CHECKING([UST support for architecture perf event counters])
+case $host_cpu in
+changequote(,)dnl
+ i[3456]86)
+changequote([,])dnl
+ UST_SUPPORT_FOR_ARCH_PERF_EVENT_COUNTERS=yes;;
+ x86_64) UST_SUPPORT_FOR_ARCH_PERF_EVENT_COUNTERS=yes;;
+ amd64) UST_SUPPORT_FOR_ARCH_PERF_EVENT_COUNTERS=yes;;
+ *) UST_SUPPORT_FOR_ARCH_PERF_EVENT_COUNTERS=no;;
+esac
+AC_MSG_RESULT([$UST_SUPPORT_FOR_ARCH_PERF_EVENT_COUNTERS])
+
+AM_CONDITIONAL([HAVE_PERF_EVENT], [test "x$have_perf_event" = "xyes" -a "x$UST_SUPPORT_FOR_ARCH_PERF_EVENT_COUNTERS" = "xyes"])
+
+if test "x$have_perf_event" = "xyes" -a "x$UST_SUPPORT_FOR_ARCH_PERF_EVENT_COUNTERS" = "xyes"; then
+AC_DEFINE([LTTNG_UST_HAVE_PERF_EVENT], [1])
+fi
+
AC_MSG_CHECKING([host system alignment requirements])
case $host_cpu in
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])
[JAVA_JDK=$withval],
[JAVA_JDK=""]
)
+AM_CONDITIONAL([HAVE_JAVA_JDK], [test $JAVA_JDK], [Java JDK path])
+AC_SUBST([JAVA_JDK])
+
AS_IF([test $JAVA_JDK],[
AS_IF([test -d $JAVA_JDK],[
AC_MSG_RESULT([using Java includes in $JAVA_SDK])
])
])
+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".]),
+ [lttng_system_rundir="$withval"],
+ [lttng_system_rundir="/var/run/lttng"])
+AC_DEFINE_UNQUOTED([LTTNG_SYSTEM_RUNDIR], ["$lttng_system_rundir"],
+ [LTTng system runtime directory])
+
+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
liblttng-ust/Makefile
liblttng-ust-ctl/Makefile
liblttng-ust-fork/Makefile
+ liblttng-ust-dl/Makefile
liblttng-ust-java/Makefile
+ liblttng-ust-jul/Makefile
liblttng-ust-libc-wrapper/Makefile
liblttng-ust-cyg-profile/Makefile
tools/Makefile
tests/Makefile
tests/hello/Makefile
- tests/hello-static-lib/Makefile
tests/hello.cxx/Makefile
tests/same_line_tracepoint/Makefile
tests/snprintf/Makefile
+ tests/benchmark/Makefile
+ tests/utils/Makefile
+ tests/java-jul/Makefile
lttng-ust.pc
])