X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=configure.ac;h=71949f25994d36570e853758404b07c7a5287599;hp=bd49df7ba12a20cc13a0a1f2e72b6d8d711ae77b;hb=34f69498c4065ad2d4ae47217a0655a030f12647;hpb=ceb6ba5100c73f6a2b39475c89f3317d64fc9b48 diff --git a/configure.ac b/configure.ac index bd49df7ba..71949f259 100644 --- a/configure.ac +++ b/configure.ac @@ -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-rc1],[jeremie.galarneau@efficios.com],[],[https://lttng.org]) AC_CONFIG_AUX_DIR([config]) AC_CANONICAL_TARGET AC_CANONICAL_HOST @@ -19,11 +20,12 @@ 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="Herbe à Détourne" +version_description='Brewed with unrestrained amounts of Citra hop, the Herbe à Détourne is a fantastic New World Tripel brewed by "Dieu du Ciel!". Aromas of mango, cantaloupe melon and passion fruit, combined with a controlled bitter finish, unite in making this smooth golden-orange beer stand apart.' +version_description_c=$(echo $version_description | sed 's/"/\\"/g') AC_DEFINE_UNQUOTED([VERSION_NAME], ["$version_name"], "") -AC_DEFINE_UNQUOTED([VERSION_DESCRIPTION], ["$version_description"], "") +AC_DEFINE_UNQUOTED([VERSION_DESCRIPTION], ["$version_description_c"], "") AC_CONFIG_HEADERS([include/config.h]) @@ -57,7 +59,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 @@ -200,6 +213,32 @@ AC_CHECK_DECL([cmm_smp_mb__before_uatomic_or], [], [AC_MSG_ERROR([liburcu $liburcu_version or newer is needed])], [[#include ]] ) +# 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 +260,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]) @@ -262,11 +301,11 @@ 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])], - [disable_git_version=yes], [disable_git_version=no] + [have_git_version=$enableval], [have_git_version=yes] ) -if test "x${disable_git_version:-no}" = xno; then - AC_DEFINE_UNQUOTED([GIT_SOURCE], 1, [Disable git version.]) -fi + +AM_CONDITIONAL([LTTNG_TOOLS_BUILD_GIT_SOURCE], + [test "x${have_git_version}" = "xyes"]) # For Python # SWIG version needed or newer: @@ -317,7 +356,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], @@ -338,23 +377,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 @@ -364,6 +445,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 @@ -371,6 +456,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" @@ -417,6 +506,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 @@ -446,6 +536,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 @@ -483,6 +576,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"],[