Fix: lttng: sanity check of `--probe` description
[lttng-tools.git] / configure.ac
index 06608073896d421ca04b7b6506af73376418907a..ab659691fab0886a3710088366aa24e2d67a32ea 100644 (file)
@@ -8,7 +8,7 @@ AC_CONFIG_MACRO_DIR([m4])
 AC_CANONICAL_TARGET
 AC_CANONICAL_HOST
 
-AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip tar-pax nostdinc])
+AM_INIT_AUTOMAKE([1.12 foreign dist-bzip2 no-dist-gzip tar-pax nostdinc])
 AM_MAINTAINER_MODE([enable])
 
 # Enable silent rules if available (Introduced in AM 1.11)
@@ -25,9 +25,6 @@ AC_PROG_CXX
 RW_PROG_CXX_WORKS
 AM_CONDITIONAL([CXX_WORKS], [test "x$rw_cv_prog_cxx_works" = "xyes"])
 
-LTTNG_CHECK_SDT_WORKS
-AM_CONDITIONAL([SDT_WORKS], [test "x$lttng_cv_sdt_works" = "xyes"])
-
 # Checks for programs.
 AC_PROG_GREP
 AC_PROG_MAKE_SET
@@ -248,13 +245,12 @@ AC_ARG_WITH([babeltrace-bin],
        [BABELTRACE_BIN=''])
 AC_SUBST([BABELTRACE_BIN])
 
-# lttv-gui
-AC_ARG_WITH([lttv-gui-bin],
-       AS_HELP_STRING([--with-lttv-gui-bin],
-   [Location of the lttv GUI viewer executable (including the filename)]),
-   [LTTV_GUI_BIN="$withval"],
-   [LTTV_GUI_BIN=''])
-AC_SUBST([LTTV_GUI_BIN])
+AC_ARG_WITH([babeltrace2-bin],
+       AS_HELP_STRING([--with-babeltrace2-bin],
+       [Location of the babeltrace2 viewer executable (including the filename)]),
+       [BABELTRACE2_BIN="$withval"],
+       [BABELTRACE2_BIN=''])
+AC_SUBST([BABELTRACE2_BIN])
 
 AC_ARG_WITH([consumerd32-bin],
        AS_HELP_STRING([--with-consumerd32-bin],
@@ -322,7 +318,7 @@ AC_DEFINE_UNQUOTED([CONFIG_CONSUMERD64_BIN], "$CONSUMERD64_BIN", [Location of th
 AC_DEFINE_UNQUOTED([CONFIG_CONSUMERD32_LIBDIR], "$CONSUMERD32_LIBDIR", [Search for consumerd 32-bit libraries in this location.])
 AC_DEFINE_UNQUOTED([CONFIG_CONSUMERD64_LIBDIR], "$CONSUMERD64_LIBDIR", [Search for consumerd 64-bit libraries in this location.])
 AC_DEFINE_UNQUOTED([CONFIG_BABELTRACE_BIN], "$BABELTRACE_BIN", [Location of the babeltrace viewer executable.])
-AC_DEFINE_UNQUOTED([CONFIG_LTTV_GUI_BIN], "$LTTV_GUI_BIN", [Location of the lttv GUI viewer executable.])
+AC_DEFINE_UNQUOTED([CONFIG_BABELTRACE2_BIN], "$BABELTRACE2_BIN", [Location of the babeltrace2 viewer executable.])
 AC_DEFINE_UNQUOTED([CONFIG_SESSIOND_BIN], "$SESSIOND_BIN", [Location of the sessiond executable.])
 AC_DEFINE_UNQUOTED([CONFIG_LTTNG_SYSTEM_RUNDIR], ["$LTTNG_SYSTEM_RUNDIR"], [LTTng system runtime directory])
 
@@ -392,6 +388,7 @@ _AC_DEFINE_AND_SUBST([DEFAULT_ROTATE_PENDING_TIMER], [500000])
 # Command short descriptions
 _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_ADD_CONTEXT], [Add context fields to a channel])
 _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_CREATE], [Create a tracing session])
+_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_CLEAR], [Clear a tracing session])
 _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_DESTROY], [Tear down tracing sessions])
 _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_DISABLE_CHANNEL], [Disable tracing channels])
 _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_DISABLE_EVENT], [Disable event rules])
@@ -412,7 +409,6 @@ _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_STATUS], [Get the status of the current t
 _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_STOP], [Stop tracing])
 _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_DISABLE_ROTATION], [Unset a rotation schedule])
 _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_ENABLE_ROTATION], [Set a rotation schedule])
-_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_ROTATE], [Archive a tracing session’s current trace chunk])
 _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_TRACK], [Track specific system resources])
 _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_UNTRACK], [Untrack specific system resources])
 _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_VERSION], [Show version information])
@@ -448,48 +444,6 @@ AC_SUBST(POPT_LIBS)
 
 PKG_CHECK_MODULES([libxml2], [libxml-2.0 >= 2.7.6])
 
-# First, check for uuid in system libs
-AH_TEMPLATE([LTTNG_HAVE_LIBUUID], [Define if you have libuuid support])
-AC_CHECK_FUNCS([uuid_generate],
-  [
-    AC_DEFINE([LTTNG_HAVE_LIBUUID], [1])
-    UUID_LIBS=""
-  ],
-  [
-    # Then, check if the pkg-config module is available, otherwise explicitly check
-    # for libuuid, or uuid support in the C-library.
-    PKG_CHECK_MODULES([UUID], [uuid],
-      [
-        AC_DEFINE([LTTNG_HAVE_LIBUUID], [1])
-        dnl PKG_CHECK_MODULES defines UUID_LIBS
-      ],
-      [
-        AC_MSG_WARN([pkg-config was unable to find a valid .pc for libuuid. Set PKG_CONFIG_PATH to specify the pkgconfig configuration file location])
-        AC_MSG_WARN([Finding libuuid without pkg-config.])
-        AC_CHECK_LIB([uuid], [uuid_generate],
-          [
-            AC_DEFINE([LTTNG_HAVE_LIBUUID], [1])
-            UUID_LIBS="-luuid"
-          ],
-          [
-            # libuuid not found, check for uuid_create in libc.
-            AC_CHECK_LIB([c], [uuid_create],
-              [
-                AC_DEFINE([LTTNG_HAVE_LIBUUID], [1])
-                UUID_LIBS="-lc"
-              ],
-              [
-                AC_MSG_FAILURE([Cannot find libuuid uuid_generate nor libc uuid_create. Either set PKG_CONFIG_PATH to the configuration file location or use LDFLAGS=-Ldir to specify the library location])
-              ]
-            )
-          ]
-        )
-      ]
-    )
-  ]
-)
-AC_SUBST(UUID_LIBS)
-
 AC_CHECK_FUNC([clock_gettime], [AC_DEFINE_UNQUOTED([LTTNG_HAVE_CLOCK_GETTIME], 1, [Has clock_gettime() support.])])
 
 # URCU library version needed or newer
@@ -560,18 +514,18 @@ AC_ARG_WITH([lttng-ust],
   [with_lttng_ust=yes]
 )
 
-AS_IF([test "x$with_lttng_ust" = "xyes"],
-  [
-    AC_CHECK_LIB([lttng-ust-ctl], [lttng_ust_enum_get_from_desc],
-      [
-        AC_DEFINE([HAVE_LIBLTTNG_UST_CTL], [1])
-      ],
-      [
-        AC_MSG_FAILURE([Cannot find LTTng-UST >= 2.11.x. Use [LDFLAGS]=-Ldir and [CPPFLAGS]=-Idir to specify its location, or specify --without-lttng-ust to build lttng-tools without LTTng-UST support.])
-      ]
-    )
-  ]
-)
+AS_IF([test "x$with_lttng_ust" = "xyes"], [
+  AC_DEFINE([HAVE_LIBLTTNG_UST_CTL], [1])
+
+  # Check for liblttng-ust
+  PKG_CHECK_MODULES([UST], [lttng-ust >= $major_version.$minor_version])
+
+  # Check for liblttng-ust-ctl
+  PKG_CHECK_MODULES([UST_CTL], [lttng-ust-ctl >= $major_version.$minor_version])
+
+  AM_CPPFLAGS="$AM_CPPFLAGS $UST_CFLAGS"
+])
+
 AM_CONDITIONAL([HAVE_LIBLTTNG_UST_CTL], [test "x$with_lttng_ust" = "xyes"])
 
 
@@ -857,6 +811,36 @@ AC_SUBST([RUN_PYTHON_AGENT_TEST])
 AC_SUBST([PYTHON2_AGENT])
 AC_SUBST([PYTHON3_AGENT])
 
+AC_ARG_ENABLE([test-sdt-uprobe],
+  [AS_HELP_STRING([--enable-test-sdt-uprobe], [enable the LTTng UST SDT uprobe tests [default=autodetect]])],
+  [test_sdt_uprobe="$enableval"],
+  [test_sdt_uprobe=autodetect]
+)
+
+AS_IF([test "$test_sdt_uprobe" != "no"], [
+  LTTNG_CHECK_SDT_WORKS
+  AC_PATH_PROG([DTRACE], [dtrace])
+])
+
+AS_IF([test "$test_sdt_uprobe" = "yes"], [
+  AS_IF([test "$lttng_cv_sdt_works" = "no"], [
+    AC_MSG_ERROR([Cannot find 'sys/sdt.h'.])
+  ])
+  AS_IF([test "x$DTRACE" = "x"], [
+    AC_MSG_ERROR([Cannot find SystemTap dtrace. You can set the DTRACE variable to override automatic detection.])
+  ])
+])
+
+AS_IF([test "$test_sdt_uprobe" = "autodetect"], [
+  AS_IF([test "$lttng_cv_sdt_works" = "yes"], [
+    AS_IF([test "x$DTRACE" != "x"], [
+      test_sdt_uprobe=yes
+    ])
+  ])
+])
+
+AM_CONDITIONAL([TEST_SDT_UPROBE], [test "$test_sdt_uprobe" = "yes"])
+
 # Arguments for binaries build exclusion
 AC_ARG_ENABLE([bin-lttng], AS_HELP_STRING([--disable-bin-lttng],[Disable the build of lttng binaries]))
 AC_ARG_ENABLE([bin-lttng-consumerd], AS_HELP_STRING([--disable-bin-lttng-consumerd],
@@ -882,6 +866,7 @@ build_lib_kernel_consumer=no
 build_lib_kernel_ctl=no
 build_lib_lttng_ctl=no
 build_lib_relayd=no
+build_lib_fd_tracker=no
 build_lib_sessiond_comm=no
 build_lib_testpoint=no
 build_lib_ust_consumer=no
@@ -921,6 +906,7 @@ AS_IF([test x$enable_bin_lttng_relayd != xno],
        build_lib_index=yes
        build_lib_health=yes
        build_lib_testpoint=yes
+       build_lib_fd_tracker=yes
       ]
 )
 AS_IF([test x$enable_bin_lttng_sessiond != xno],
@@ -1046,6 +1032,7 @@ AM_CONDITIONAL([BUILD_LIB_KERNEL_CONSUMER], [test x$build_lib_kernel_consumer =
 AM_CONDITIONAL([BUILD_LIB_KERNEL_CTL], [test x$build_lib_kernel_ctl = xyes])
 AM_CONDITIONAL([BUILD_LIB_LTTNG_CTL], [test x$build_lib_lttng_ctl = xyes])
 AM_CONDITIONAL([BUILD_LIB_RELAYD], [test x$build_lib_relayd = xyes])
+AM_CONDITIONAL([BUILD_LIB_FD_TRACKER], [test x$build_lib_fd_tracker = xyes])
 AM_CONDITIONAL([BUILD_LIB_SESSIOND_COMM], [test x$build_lib_sessiond_comm = xyes])
 AM_CONDITIONAL([BUILD_LIB_TESTPOINT], [test x$build_lib_testpoint = xyes])
 AM_CONDITIONAL([BUILD_LIB_UST_CONSUMER], [test x$build_lib_ust_consumer = xyes])
@@ -1106,6 +1093,7 @@ AC_CONFIG_FILES([
        src/common/health/Makefile
        src/common/config/Makefile
        src/common/string-utils/Makefile
+       src/common/fd-tracker/Makefile
        src/lib/Makefile
        src/lib/lttng-ctl/Makefile
        src/lib/lttng-ctl/filter/Makefile
@@ -1139,7 +1127,10 @@ AC_CONFIG_FILES([
        tests/regression/tools/rotation/Makefile
        tests/regression/tools/base-path/Makefile
        tests/regression/tools/metadata/Makefile
+       tests/regression/tools/tracker/Makefile
        tests/regression/tools/working-directory/Makefile
+       tests/regression/tools/relayd-grouping/Makefile
+       tests/regression/tools/clear/Makefile
        tests/regression/ust/Makefile
        tests/regression/ust/nprocesses/Makefile
        tests/regression/ust/high-throughput/Makefile
@@ -1175,6 +1166,7 @@ AC_CONFIG_FILES([
        tests/utils/tap/Makefile
        tests/utils/testapp/Makefile
        tests/utils/testapp/gen-ns-events/Makefile
+       tests/utils/testapp/gen-kernel-test-events/Makefile
        tests/utils/testapp/gen-ust-events/Makefile
        tests/utils/testapp/gen-ust-events-ns/Makefile
        tests/utils/testapp/gen-syscall-events-callstack/Makefile
@@ -1285,6 +1277,10 @@ PPRINT_PROP_BOOL([LTTng-UST Python2 agent tests], $value)
 test ! -z "$PYTHON3_AGENT" && value=1 || value=0
 PPRINT_PROP_BOOL([LTTng-UST Python3 agent tests], $value)
 
+# LTTng UST Java agent Log4j tests enabled/disabled
+test "x$test_sdt_uprobe" = "xyes" && value=1 || value=0
+PPRINT_PROP_BOOL([LTTng-UST SDT uprobe tests], $value)
+
 #Python binding enabled/disabled
 test "x$enable_python_binding" = xyes && value=1 || value=0
 AS_ECHO
This page took 0.026607 seconds and 5 git commands to generate.