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.13.0-pre],[jeremie.galarneau@efficios.com],[],[https://lttng.org])
AC_CONFIG_HEADERS([include/config.h])
AC_CONFIG_AUX_DIR([config])
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])
AC_DEFINE_UNQUOTED([VERSION_MINOR], $minor_version, [LTTng-Tools minor version number])
AC_DEFINE_UNQUOTED([VERSION_PATCHLEVEL], $patchlevel_version, [LTTng-Tools patchlevel version number])
-version_name="(Ta) Meilleure"
-version_description="Ta Meilleure is a Northeast IPA beer brewed by Lagabière. Translating to \"Your best one\", this beer gives out strong aromas of passion fruit, lemon, and peaches. Tastewise, expect a lot of fruit, a creamy texture, and a smooth lingering hop bitterness."
+version_name="N-Beer"
+version_description="An alcoholic drink made from yeast-fermented malt flavored with hops."
version_description_c=$(echo $version_description | $SED 's/"/\\"/g')
AC_DEFINE_UNQUOTED([VERSION_NAME], ["$version_name"], "")
sched_getcpu sysconf sync_file_range
])
+# Check for pthread_setname_np and its signature
+LTTNG_PTHREAD_SETNAME_NP
+
# Check if clock_gettime, timer_create, timer_settime, and timer_delete are available in lib rt, and if so,
# add -lrt to LIBS
AC_CHECK_LIB([rt], [clock_gettime, timer_create, timer_settime, timer_delete])
AC_CHECK_FUNC([clock_gettime], [AC_DEFINE_UNQUOTED([LTTNG_HAVE_CLOCK_GETTIME], 1, [Has clock_gettime() support.])])
# URCU library version needed or newer
-m4_define([WRONG_LIBURCU_MSG], [Userspace RCU (liburcu) >= 0.9.0 is needed])
-
-# Check liburcu needed function calls
-AC_CHECK_DECL([cds_list_add], [],
- [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu/list.h>]])
-AC_CHECK_DECL([cds_wfcq_init], [],
- [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu/wfcqueue.h>]])
-AC_CHECK_DECL([cds_wfcq_dequeue_blocking], [],
- [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu/wfcqueue.h>]])
-AC_CHECK_DECL([futex_async], [],
- [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu/futex.h>]])
-AC_CHECK_DECL([rcu_thread_offline], [],
- [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu.h>]])
-AC_CHECK_DECL([rcu_thread_online], [],
- [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu.h>]])
-AC_CHECK_DECL([caa_likely], [],
- [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu.h>]])
-AC_CHECK_LIB([urcu-cds], [_cds_lfht_new], [],
- [AC_MSG_ERROR([WRONG_LIBURCU_MSG])])
-
-#Function added in urcu 0.7.0
-AC_CHECK_DECL([cmm_smp_mb__before_uatomic_or], [],
- [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu.h>]]
-)
-
-#Function added in urcu 0.9.0
-AC_CHECK_DECL([urcu_ref_get_unless_zero], [],
- [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu/ref.h>]]
-)
+PKG_CHECK_MODULES([URCU], [liburcu >= 0.9])
+PKG_CHECK_MODULES([URCU_BP], [liburcu-bp >= 0.9])
+PKG_CHECK_MODULES([URCU_CDS], [liburcu-cds >= 0.9])
+AM_CPPFLAGS="$AM_CPPFLAGS $URCU_CFLAGS"
# Check for libkmod, it will be auto-neabled if found but won't fail if it's not,
# it can be explicitly disabled with --without-kmod
)
AX_CONFIG_FEATURE(
[epoll], [This platform supports epoll(7)],
- [HAVE_EPOLL], [This platform supports epoll(7).],
- [enable_epoll="yes"], [enable_epoll="no"]
+ [HAVE_EPOLL], [This platform supports epoll(7).]
)
-AM_CONDITIONAL([COMPAT_EPOLL], [ test "$enable_epoll" = "yes" ])
AS_IF([test "x$ac_cv_func_dirfd" = "xyes"],
[AX_CONFIG_FEATURE_ENABLE(dirfd)],
)
AX_CONFIG_FEATURE(
[dirfd], [Use directory file descriptors],
- [COMPAT_DIRFD], [This platform supports directory file descriptors.],
- [enable_dirfd="yes"], [enable_dirfd="no"]
+ [HAVE_DIRFD], [This platform supports directory file descriptors.]
)
-AM_CONDITIONAL([COMPAT_DIRFD], [ test "$enable_dirfd" = "yes" ])
AM_CONDITIONAL([TEST_JAVA_JUL_AGENT], [test "x$test_java_agent_jul" = "xyes"])
AM_CONDITIONAL([TEST_JAVA_LOG4J_AGENT], [test "x$test_java_agent_log4j" = "xyes"])
AC_SUBST(ARCHTYPE)
+AS_CASE([$host_os],
+ [linux*], [OSTYPE="linux"],
+ [freebsd*], [OSTYPE="freebsd"],
+ [solaris*], [OSTYPE="solaris"],
+ [cygwin*], [OSTYPE="cygwin"],
+ [mingw*], [OSTYPE="mingw"],
+ [OSTYPE="unknown"]
+)
+AC_SUBST(OSTYPE)
+AM_CONDITIONAL([IS_LINUX], [test $OSTYPE = "linux"])
+
+
+
+# Userspace callstack capture is only supported by the Linux kernel on x86.
AH_TEMPLATE([HAVE_MODULES_USERSPACE_CALLSTACK_CONTEXT], [Define if you have LTTng-modules userspace callstack tracing support])
-AC_MSG_CHECKING([for architecture support of userspace callstack tracing from the kernel])
-AS_IF([test "x$ARCHTYPE" = "xx86"],[
- # Userspace callstack capture is only supported by the Linux kernel on x86.
- AC_MSG_RESULT([yes])
+AS_IF([test "x$ARCHTYPE" = "xx86" && test "x$OSTYPE" = "xlinux"],[
have_modules_userspace_callstack_context=yes
AC_DEFINE([HAVE_MODULES_USERSPACE_CALLSTACK_CONTEXT], [1])
-], [
- AC_MSG_RESULT([no])
- have_modules_userspace_callstack_context=no
])
-AM_CONDITIONAL([HAVE_MODULES_USERSPACE_CALLSTACK_CONTEXT], [test x$have_modules_userspace_callstack_context != xno])
+AM_CONDITIONAL([HAVE_MODULES_USERSPACE_CALLSTACK_CONTEXT], [test x$have_modules_userspace_callstack_context = xyes])
# Export binaries build conditions.
AM_CONDITIONAL([BUILD_BIN_LTTNG], [test x$enable_bin_lttng != xno])
# In a scenario where lttng-tools is built from a distribution tarball and in a
# out-of-tree manner, the generated "version.i" has priority on the one from
# the source (distribution tarball) and must be found first.
-AM_CPPFLAGS="-I\$(top_builddir)/include -I\$(top_srcdir)/include -I\$(top_srcdir)/src -include config.h $AM_CPPFLAGS"
+AM_CPPFLAGS="-I\$(top_builddir)/include -I\$(top_srcdir)/include -I\$(top_builddir)/src -I\$(top_srcdir)/src -include config.h $AM_CPPFLAGS"
AC_SUBST(AM_CPPFLAGS)
lttngincludedir="${includedir}/lttng"
lttngtriggerincludedir="${includedir}/lttng/trigger"
AC_SUBST(lttngtriggerincludedir)
+lttngeventruleincludedir="${includedir}/lttng/event-rule"
+AC_SUBST(lttngeventruleincludedir)
+
lttnglibexecdir="${libdir}/lttng/libexec"
AC_SUBST(lttnglibexecdir)
src/common/config/Makefile
src/common/string-utils/Makefile
src/common/fd-tracker/Makefile
+ src/common/filter/Makefile
src/lib/Makefile
src/lib/lttng-ctl/Makefile
- src/lib/lttng-ctl/filter/Makefile
src/lib/lttng-ctl/lttng-ctl.pc
src/bin/Makefile
src/bin/lttng-consumerd/Makefile