Tests: Ust getcpu override plugin
[lttng-tools.git] / configure.ac
index 7d8839543eb03f42b3d3061472b17b4e0c7314a7..d289dde6189b6bda5f2a2b06aede4dffa43dded5 100644 (file)
@@ -1,4 +1,5 @@
-AC_INIT([lttng-tools],[2.5.0-rc2],[dgoulet@efficios.com],[],[http://lttng.org])
+AC_PREREQ([2.64])
+AC_INIT([lttng-tools],[2.7.0-pre],[jeremie.galarneau@efficios.com],[],[https://lttng.org])
 AC_CONFIG_AUX_DIR([config])
 AC_CANONICAL_TARGET
 AC_CANONICAL_HOST
@@ -19,8 +20,8 @@ AC_DEFINE_UNQUOTED([VERSION_MAJOR], $major_version, [LTTng-Tools major version n
 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="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."
+version_name="Gaia"
+version_description="From Benelux brewery in Montreal, the Gaia is a witbier with a cloudy light amber ale color. Aroma of coriander with floral hay notes is enchanting. Taste is also dominated by the very floral coriander note and some medium sweet malt notes."
 
 AC_DEFINE_UNQUOTED([VERSION_NAME], ["$version_name"], "")
 AC_DEFINE_UNQUOTED([VERSION_DESCRIPTION], ["$version_description"], "")
@@ -57,7 +58,18 @@ AM_CONDITIONAL([NO_SHARED], [test x$enable_shared = xno])
 AC_CHECK_HEADERS([ \
        sys/types.h unistd.h fcntl.h string.h pthread.h limits.h \
        signal.h stdlib.h sys/un.h sys/socket.h stdlib.h stdio.h \
-       getopt.h sys/ipc.h sys/shm.h popt.h grp.h \
+       getopt.h sys/ipc.h sys/shm.h popt.h grp.h arpa/inet.h \
+       netdb.h netinet/in.h paths.h stddef.h sys/file.h sys/ioctl.h \
+       sys/mount.h sys/param.h sys/time.h
+])
+
+# Basic functions check
+AC_CHECK_FUNCS([ \
+       atexit bzero clock_gettime dup2 fdatasync ftruncate \
+       gethostbyname gethostname getpagesize localtime_r memchr memset \
+       mkdir munmap putenv realpath rmdir socket strchr strcspn strdup \
+       strncasecmp strndup strpbrk strrchr strstr strtol strtoul \
+       strtoull \
 ])
 
 # Babeltrace viewer check
@@ -171,17 +183,17 @@ AM_CONDITIONAL([LTTNG_BUILD_WITH_LIBUUID], [test "x$have_libuuid" = "xyes"])
 AM_CONDITIONAL([LTTNG_BUILD_WITH_LIBC_UUID], [test "x$have_libc_uuid" = "xyes"])
 
 # URCU library version needed or newer
-liburcu_version=">= 0.7.2"
+liburcu_version=">= 0.8.0"
 
 # Check liburcu needed function calls
 AC_CHECK_DECL([cds_list_add], [],
        [AC_MSG_ERROR([liburcu $liburcu_version or newer is needed])], [[#include <urcu/list.h>]]
 )
-AC_CHECK_DECL([cds_wfq_init], [],
-       [AC_MSG_ERROR([liburcu $liburcu_version or newer is needed])], [[#include <urcu/wfqueue.h>]]
+AC_CHECK_DECL([cds_wfcq_init], [],
+       [AC_MSG_ERROR([liburcu $liburcu_version or newer is needed])], [[#include <urcu/wfcqueue.h>]]
 )
-AC_CHECK_DECL([cds_wfq_dequeue_blocking], [],
-    [AC_MSG_ERROR([liburcu $liburcu_version or newer is needed])], [[#include <urcu/wfqueue.h>]]
+AC_CHECK_DECL([cds_wfcq_dequeue_blocking], [],
+    [AC_MSG_ERROR([liburcu $liburcu_version or newer is needed])], [[#include <urcu/wfcqueue.h>]]
 )
 AC_CHECK_DECL([futex_async], [],
        [AC_MSG_ERROR([liburcu $liburcu_version or newer is needed])], [[#include <urcu/futex.h>]]
@@ -200,6 +212,32 @@ AC_CHECK_DECL([cmm_smp_mb__before_uatomic_or], [],
         [AC_MSG_ERROR([liburcu $liburcu_version or newer is needed])], [[#include <urcu.h>]]
 )
 
+# Check kmod library
+AC_ARG_WITH(kmod-prefix,
+  AS_HELP_STRING([--with-kmod-prefix=PATH],
+               [Specify the installation prefix of the kmod library.
+               Headers must be in PATH/include; libraries in PATH/lib.]),
+               [
+                       CPPFLAGS="$CPPFLAGS -I${withval}/include"
+                       LDFLAGS="$LDFLAGS -L${withval}/lib64 -L${withval}/lib"
+               ])
+
+AC_ARG_ENABLE(kmod,
+       AS_HELP_STRING([--disable-kmod],[build without kmod support]),
+       kmod_support=zz$enableval, kmod_support=yes)
+
+AS_IF([test "x$kmod_support" = "xyes"], [
+       AC_CHECK_LIB([kmod], [kmod_module_probe_insert_module],
+               [
+                       AC_DEFINE([HAVE_KMOD], [1], [has kmod support])
+                       LIBS="$LIBS -lkmod"
+                       kmod_found=yes
+               ],
+               kmod_found=no
+       )
+])
+AM_CONDITIONAL([HAVE_KMOD], [test "x$kmod_found" = xyes])
+
 AC_ARG_WITH(lttng-ust-prefix,
   AS_HELP_STRING([--with-lttng-ust-prefix=PATH],
                  [Specify the installation prefix of the lttng-ust library.
@@ -221,7 +259,7 @@ AS_IF([test "x$lttng_ust_support" = "xyes"], [
                        lttng_ust_ctl_found=yes
                ],
                [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]
+               [-lurcu-common -lurcu-bp -lurcu-cds -lrt -ldl]
        )
 ])
 AM_CONDITIONAL([HAVE_LIBLTTNG_UST_CTL], [test "x$lttng_ust_ctl_found" = xyes])
@@ -259,6 +297,15 @@ AC_CHECK_LIB([c], [open_memstream],
 ]
 )
 
+AC_ARG_ENABLE([git-version],
+              [AC_HELP_STRING([--disable-git-version],
+                              [Do not use the git version for the build])],
+              [have_git_version=$enableval], [have_git_version=yes]
+)
+
+AM_CONDITIONAL([LTTNG_TOOLS_BUILD_GIT_SOURCE],
+       [test "x${have_git_version}" = "xyes"])
+
 # For Python
 # SWIG version needed or newer:
 swig_version=2.0.0
@@ -308,7 +355,7 @@ 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.
+# compile java agent 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],
@@ -329,23 +376,65 @@ AS_IF([test $JAVA_JDK],[
        )
 ])
 
-# Check for the UST JUL jar file in the system. Hardcoded path is added here
+# Check for the UST agent 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
+# used for agent testing.
+AC_MSG_CHECKING(Java UST agent jar file)
+java_agent_jar_path="${prefix}/share/java/liblttng-ust-agent.jar"
+if test -f $java_agent_jar_path; then
+       build_java_agent=yes
        AC_MSG_RESULT(found)
 else
-       build_java_jul=no
+       build_java_agent=no
        AC_MSG_RESULT(not found)
 fi
-AM_CONDITIONAL([BUILD_JAVA_JUL], [test "x$build_java_jul" = "xyes"])
-AC_SUBST([java_jul_jar_path])
+AM_CONDITIONAL([BUILD_JAVA_AGENT], [test "x$build_java_agent" = "xyes"])
+AC_SUBST([java_agent_jar_path])
+
+# Check for log4j support on the system to know if we can build or not the
+# log4j tests.
+if test "x$build_java_agent" = "xyes"; then
+       AC_MSG_CHECKING(Java agent support for log4j)
+       AX_JAVA_OPTIONS
+       AX_PROG_JAR
+       AX_PROG_JAVA
+       AX_PROG_JAVAC
+
+       # By default, use a commonly used classpath on the system to ease things up
+       # for the Java testing in this directory.
+       LOG4J_CLASSPATH="$java_agent_jar_path:$CLASSPATH:.:/usr/share/java/*"
+       JAVAFLAGS="-cp $LOG4J_CLASSPATH"
+       JAVACFLAGS="$JAVAFLAGS"
+       AX_CHECK_CLASS(org.apache.log4j.Logger)
+
+       if test "x$ac_cv_class_org_apache_log4j_Logger" = "xno"; then
+               build_java_log4j_agent=no
+       else
+               build_java_log4j_agent=yes
+       fi
+fi
+AM_CONDITIONAL([BUILD_JAVA_LOG4J_AGENT], [test "x$build_java_log4j_agent" = "xyes"])
 
 AC_SYS_LARGEFILE
+
+# C compiler tests
 AC_PROG_CC
+AC_C_INLINE
+
+# Type availability checking
+AC_TYPE_INT32_T
+AC_TYPE_INT64_T
+AC_TYPE_MODE_T
+AC_TYPE_OFF_T
+AC_TYPE_PID_T
+AC_TYPE_SIZE_T
+AC_TYPE_SSIZE_T
+AC_TYPE_UID_T
+AC_TYPE_UINT16_T
+AC_TYPE_UINT32_T
+AC_TYPE_UINT64_T
+AC_TYPE_UINT8_T
+
 LT_INIT
 AC_PROG_YACC
 AC_PROG_LEX
@@ -355,6 +444,10 @@ if test ! -f "$srcdir/src/lib/lttng-ctl/filter/filter-parser.h"; then
                AC_MSG_ERROR([[bison not found and is required when building from git.
                Please install bison]])
        fi
+       AC_PATH_PROG([BISON],[bison])
+       AX_PROG_BISON_VERSION([2.4], [],[
+               AC_MSG_ERROR([[Bison >= 2.4 is required when building from git]])
+       ])
 fi
 
 if test ! -f "$srcdir/src/lib/lttng-ctl/filter/filter-lexer.c"; then
@@ -362,6 +455,10 @@ if test ! -f "$srcdir/src/lib/lttng-ctl/filter/filter-lexer.c"; then
                AC_MSG_ERROR([[flex not found and is required when building from git.
                Please install flex]])
        fi
+       AC_PATH_PROG([FLEX],[flex])
+       AX_PROG_FLEX_VERSION([2.5.35], [],[
+               AC_MSG_ERROR([[Flex >= 2.5.35 is required when building from git]])
+       ])
 fi
 
 CFLAGS="-Wall $CFLAGS -g -fno-strict-aliasing"
@@ -408,6 +505,7 @@ AC_CONFIG_FILES([
        src/bin/lttng-sessiond/Makefile
        src/bin/lttng-relayd/Makefile
        src/bin/lttng/Makefile
+       src/bin/lttng-crash/Makefile
        tests/Makefile
        tests/regression/Makefile
        tests/regression/kernel/Makefile
@@ -437,6 +535,9 @@ AC_CONFIG_FILES([
        tests/regression/ust/fork/Makefile
        tests/regression/ust/libc-wrapper/Makefile
        tests/regression/ust/java-jul/Makefile
+       tests/regression/ust/java-log4j/Makefile
+       tests/regression/ust/python-logging/Makefile
+       tests/regression/ust/getcpu-override/Makefile
        tests/stress/Makefile
        tests/unit/Makefile
        tests/unit/ini_config/Makefile
@@ -474,6 +575,14 @@ done
 AS_ECHO_N("Target architecture: ")
 AS_ECHO($target_arch)
 
+# kmod enabled/disabled
+AS_ECHO_N("libkmod support: ")
+AS_IF([test "x$kmod_found" = "xyes"],[
+       AS_ECHO("Enabled")
+],[
+       AS_ECHO("Disabled")
+])
+
 # LTTng-UST enabled/disabled
 AS_ECHO_N("Lttng-UST support: ")
 AS_IF([test "x$lttng_ust_support" = "xyes"],[
This page took 0.026156 seconds and 4 git commands to generate.