Add a dependency to libxml2
[lttng-tools.git] / configure.ac
index 650ae7ff6ba9cd2da9ea9d5a65129aee836d2183..4dfd37c31ad89af54b99dbacbe4e65fe0b9e7ecf 100644 (file)
@@ -1,4 +1,4 @@
-AC_INIT([lttng-tools],[2.2.0-rc2],[dgoulet@efficios.com],[],[http://lttng.org])
+AC_INIT([lttng-tools],[2.4.0-rc2],[dgoulet@efficios.com],[],[http://lttng.org])
 AC_CONFIG_AUX_DIR([config])
 AC_CANONICAL_TARGET
 AC_CANONICAL_HOST
@@ -6,8 +6,20 @@ AC_CONFIG_MACRO_DIR([config])
 AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip])
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
-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!"
+# Compute minor/major/patchlevel version numbers
+AC_PROG_SED
+major_version=$(echo AC_PACKAGE_VERSION | sed 's/^\([[0-9]]\)*\.[[0-9]]*\.[[0-9]]*.*$/\1/')
+minor_version=$(echo AC_PACKAGE_VERSION | sed 's/^[[0-9]]*\.\([[0-9]]*\)\.[[0-9]]*.*$/\1/')
+patchlevel_version=$(echo AC_PACKAGE_VERSION | sed 's/^[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\).*$/\1/')
+AC_SUBST([MAJOR_VERSION], [$major_version])
+AC_SUBST([MINOR_VERSION], [$minor_version])
+AC_SUBST([PATCHLEVEL_VERSION], [$patchlevel_version])
+AC_DEFINE_UNQUOTED([VERSION_MAJOR], $major_version, [LTTng-Tools major version number])
+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="Époque Opaque"
+version_description="The Époque Opaque is a black IPA from Trou du Diable brewery. The nose is eerily reminiscent of the coffee crisp candy from of our childhood. These strong mocha accents are present on the palate, which are quickly subdued by Japanese and Australian hops leading to a final state of satisfaction enjoyable for any fan of bitter beer."
 
 AC_DEFINE_UNQUOTED([VERSION_NAME], ["$version_name"], "")
 AC_DEFINE_UNQUOTED([VERSION_DESCRIPTION], ["$version_description"], "")
@@ -98,6 +110,13 @@ AC_ARG_WITH([sessiond-bin],
        [SESSIOND_BIN=''])
 AC_SUBST([SESSIOND_BIN])
 
+AC_ARG_WITH([lttng-system-rundir],
+       AS_HELP_STRING([--with-lttng-system-rundir],
+       [Location of the system directory where the system-wide lttng-sessiond runtime files are kept. The default is "/var/run/lttng".]),
+       [LTTNG_SYSTEM_RUNDIR="$withval"],
+       [LTTNG_SYSTEM_RUNDIR="/var/run/lttng"])
+AC_SUBST([LTTNG_SYSTEM_RUNDIR])
+
 AC_DEFINE_UNQUOTED([CONFIG_CONSUMERD32_BIN], "$CONSUMERD32_BIN", [Location of the 32-bit consumerd executable.])
 AC_DEFINE_UNQUOTED([CONFIG_CONSUMERD64_BIN], "$CONSUMERD64_BIN", [Location of the 64-bit consumerd executable])
 AC_DEFINE_UNQUOTED([CONFIG_CONSUMERD32_LIBDIR], "$CONSUMERD32_LIBDIR", [Search for consumerd 32-bit libraries in this location.])
@@ -105,7 +124,16 @@ AC_DEFINE_UNQUOTED([CONFIG_CONSUMERD64_LIBDIR], "$CONSUMERD64_LIBDIR", [Search f
 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_SESSIOND_BIN], "$SESSIOND_BIN", [Location of the sessiond executable.])
+AC_DEFINE_UNQUOTED([CONFIG_LTTNG_SYSTEM_RUNDIR], ["$LTTNG_SYSTEM_RUNDIR"], [LTTng system runtime directory])
+
+if test "x$prefix" = "xNONE"; then
+       prefix=$ac_default_prefix
+fi
+CONFDIR=`eval echo $sysconfdir`
+AC_SUBST(CONFDIR)
+AC_DEFINE_UNQUOTED([CONFIG_LTTNG_SYSTEM_CONFIGDIR],"$CONFDIR", [LTTng system configuration directory.])
 
+#
 # Check for pthread
 AC_CHECK_LIB([pthread], [pthread_create], [],
        [AC_MSG_ERROR([Cannot find libpthread. Use [LDFLAGS]=-Ldir to specify its location.])]
@@ -116,6 +144,8 @@ AC_CHECK_LIB([popt], [poptGetContext], [],
        [AC_MSG_ERROR([Cannot find libpopt. Use [LDFLAGS]=-Ldir to specify its location.])]
 )
 
+AM_PATH_XML2(2.7.6)
+
 # Check for libuuid
 AC_CHECK_LIB([uuid], [uuid_generate],
 [
@@ -162,6 +192,19 @@ AC_CHECK_DECL([rcu_thread_online], [],
 AC_CHECK_DECL([caa_likely], [],
        [AC_MSG_ERROR([liburcu $liburcu_version or newer is needed])], [[#include <urcu.h>]]
 )
+#Function added in urcu 0.7.0
+AC_CHECK_DECL([cmm_smp_mb__before_uatomic_or], [],
+        [AC_MSG_ERROR([liburcu $liburcu_version or newer is needed])], [[#include <urcu.h>]]
+)
+
+AC_ARG_WITH(lttng-ust-prefix,
+  AS_HELP_STRING([--with-lttng-ust-prefix=PATH],
+                 [Specify the installation prefix of the lttng-ust library.
+                 Headers must be in PATH/include; libraries in PATH/lib.]),
+                 [
+                   CPPFLAGS="$CPPFLAGS -I${withval}/include"
+                   LDFLAGS="$LDFLAGS -L${withval}/lib64 -L${withval}/lib"
+                 ])
 
 # Check liblttng-ust-ctl library
 AC_ARG_ENABLE(lttng-ust,
@@ -169,12 +212,12 @@ AC_ARG_ENABLE(lttng-ust,
        lttng_ust_support=$enableval, lttng_ust_support=yes)
 
 AS_IF([test "x$lttng_ust_support" = "xyes"], [
-       AC_CHECK_LIB([lttng-ust-ctl], [ustctl_set_filter],
+       AC_CHECK_LIB([lttng-ust-ctl], [ustctl_recv_channel_from_consumer],
                [
                        AC_DEFINE([HAVE_LIBLTTNG_UST_CTL], [1], [has LTTng-UST control support])
                        lttng_ust_ctl_found=yes
                ],
-               [AC_MSG_ERROR([Cannot find LTTng-UST 2.1.x. Use [LDFLAGS]=-Ldir to specify its location, or specify --disable-lttng-ust to build lttng-tools without LTTng-UST support.])],
+               [AC_MSG_ERROR([Cannot find LTTng-UST >= 2.2.x. Use --with-lttng-ust-prefix=PREFIX to specify its location, or specify --disable-lttng-ust to build lttng-tools without LTTng-UST support.])],
                [-lurcu-common -lurcu-bp -lurcu-cds -lrt]
        )
 ])
@@ -268,13 +311,62 @@ AX_CONFIG_FEATURE(
 )
 AM_CONDITIONAL([COMPAT_EPOLL], [ test "$enable_epoll" = "yes" ])
 
+# Set compile flags to java include files if given. This is only used to
+# compile JUL tests.
+AC_ARG_WITH([java-jdk],
+       [AS_HELP_STRING([--with-java-jdk=DIR],[use the Java JDK in DIR. Ex : $JAVA_HOME.])],
+       [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])
+                       SUBDIRS=`find $JAVA_JDK/include -type d`
+                       CPPFLAGS+=" "
+                       CPPFLAGS+=`for x in $SUBDIRS; do echo -n "-I$x "; done`
+                       CPPFLAGS+=" "
+        ],[AC_MSG_ERROR(Unable to find Java include files in $JAVA_JDK)]
+       )
+])
+
+# Check for the UST JUL jar file in the system. Hardcoded path is added here
+# since we have *no* idea where this could be installed. Note that this is only
+# used for JUL testing.
+AC_MSG_CHECKING(Java JUL UST jar file)
+java_jul_jar_path="/usr/local/lib/lttng/java/liblttng-ust-jul.jar"
+if test -f $java_jul_jar_path; then
+       build_java_jul=yes
+       AC_MSG_RESULT(found)
+else
+       build_java_jul=no
+       AC_MSG_RESULT(not found)
+fi
+AM_CONDITIONAL([BUILD_JAVA_JUL], [test "x$build_java_jul" = "xyes"])
+AC_SUBST([java_jul_jar_path])
+
 AC_SYS_LARGEFILE
 AC_PROG_CC
 LT_INIT
 AC_PROG_YACC
 AC_PROG_LEX
 
-AC_DEFUN([AC_PROG_BISON], [AC_CHECK_PROGS(BISON, bison, bison)])
+if test ! -f "$srcdir/src/lib/lttng-ctl/filter/filter-parser.h"; then
+       if test x"$YACC" != "xbison -y"; then
+               AC_MSG_ERROR([[bison not found and is required when building from git.
+               Please install bison]])
+       fi
+fi
+
+if test ! -f "$srcdir/src/lib/lttng-ctl/filter/filter-lexer.c"; then
+       if test x"$LEX" != "xflex"; then
+               AC_MSG_ERROR([[flex not found and is required when building from git.
+               Please install flex]])
+       fi
+fi
 
 CFLAGS="-Wall $CFLAGS -g -fno-strict-aliasing"
 
@@ -297,6 +389,7 @@ AC_CONFIG_FILES([
        extras/bindings/Makefile
        extras/bindings/swig/Makefile
        extras/bindings/swig/python/Makefile
+       extras/core-handler/Makefile
        src/Makefile
        src/common/Makefile
        src/common/kernel-ctl/Makefile
@@ -307,6 +400,9 @@ AC_CONFIG_FILES([
        src/common/compat/Makefile
        src/common/relayd/Makefile
        src/common/testpoint/Makefile
+       src/common/index/Makefile
+       src/common/health/Makefile
+       src/common/config/Makefile
        src/lib/Makefile
        src/lib/lttng-ctl/Makefile
        src/lib/lttng-ctl/filter/Makefile
@@ -323,12 +419,16 @@ AC_CONFIG_FILES([
        tests/regression/tools/streaming/Makefile
        tests/regression/tools/filtering/Makefile
        tests/regression/tools/health/Makefile
+       tests/regression/tools/tracefile-limits/Makefile
+       tests/regression/tools/snapshots/Makefile
+       tests/regression/tools/live/Makefile
+       tests/regression/tools/exclusion/Makefile
        tests/regression/ust/Makefile
        tests/regression/ust/nprocesses/Makefile
        tests/regression/ust/high-throughput/Makefile
        tests/regression/ust/low-throughput/Makefile
        tests/regression/ust/before-after/Makefile
-       tests/regression/ust/buffers-uid/Makefile
+       tests/regression/ust/buffers-pid/Makefile
        tests/regression/ust/periodical-metadata-flush/Makefile
        tests/regression/ust/multi-session/Makefile
        tests/regression/ust/overlap/Makefile
@@ -338,9 +438,15 @@ AC_CONFIG_FILES([
        tests/regression/ust/exit-fast/Makefile
        tests/regression/ust/fork/Makefile
        tests/regression/ust/libc-wrapper/Makefile
+       tests/regression/ust/java-jul/Makefile
+       tests/stress/Makefile
        tests/unit/Makefile
+       tests/unit/ini_config/Makefile
        tests/utils/Makefile
        tests/utils/tap/Makefile
+       tests/utils/testapp/Makefile
+       tests/utils/testapp/gen-ust-events/Makefile
+       tests/utils/testapp/gen-ust-nevents/Makefile
 ])
 
 AC_OUTPUT
This page took 0.02564 seconds and 4 git commands to generate.