-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
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])
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
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])
AC_ARG_ENABLE([python-bindings],
[AC_HELP_STRING([--enable-python-bindings],
[compile Python bindings])],
- [enable_python=yes], [enable_python=no])
+ [enable_python_binding=yes], [enable_python_binding=no])
-AM_CONDITIONAL([USE_PYTHON], [test "x${enable_python:-yes}" = xyes])
+AM_CONDITIONAL([PYTHON_BINDING], [test "x${enable_python_binding:-yes}" = xyes])
-if test "x${enable_python:-yes}" = xyes; then
+if test "x${enable_python_binding:-yes}" = xyes; then
AX_PKG_SWIG($swig_version, [], [ AC_MSG_ERROR([SWIG $swig_version or newer is needed]) ])
- AM_PATH_PYTHON
+ AM_PATH_PYTHON([3.0])
AC_ARG_VAR([PYTHON_INCLUDE], [Include flags for python, bypassing python-config])
AC_ARG_VAR([PYTHON_CONFIG], [Path to python-config])
)
AM_CONDITIONAL([COMPAT_EPOLL], [ test "$enable_epoll" = "yes" ])
-# Set compile flags to java include files if given. This is only used to
-# 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],
- [JAVA_JDK=""]
-)
-AM_CONDITIONAL([HAVE_JAVA_JDK], [test $JAVA_JDK], [Java JDK path])
-AC_SUBST([JAVA_JDK])
+AX_JAVA_OPTIONS
+AX_PROG_JAVAC
+AX_PROG_JAVA
+AX_PROG_JAR
-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)]
- )
-])
+AX_CHECK_CLASSPATH
-# 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 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)
+# Check for Java UST agent common class first
+AX_CHECK_CLASS(org.lttng.ust.agent.AbstractLttngAgent)
+if test "x$ac_cv_class_org_lttng_ust_agent_AbstractLttngAgent" = "xyes"; then
+ java_agent_common=yes
else
- build_java_agent=no
- AC_MSG_RESULT(not found)
+ java_agent_common=no
fi
-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"
+
+# If the common class is available, test for each agent
+if test "x$java_agent_common" = "xyes"; then
+ # Check for JUL
+ AX_CHECK_CLASS(org.lttng.ust.agent.jul.LttngLogHandler)
+ AX_CHECK_CLASS(org.lttng.ust.agent.log4j.LttngLogAppender)
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
+ build_java_jul_agent=no
+ if test "x$ac_cv_class_org_lttng_ust_agent_jul_LttngLogHandler" = "xyes"; then
+ build_java_jul_agent=yes
fi
+
+ build_java_log4j_agent=no
+ if test "x$ac_cv_class_org_lttng_ust_agent_log4j_LttngLogAppender" = "xyes"; then
+ if test "x$ac_cv_class_org_apache_log4j_Logger" = "xyes"; then
+ build_java_log4j_agent=yes
+ fi
+ fi
+
fi
+
+AM_CONDITIONAL([BUILD_JAVA_JUL_AGENT], [test "x$build_java_jul_agent" = "xyes"])
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
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
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"
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
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/regression/ust/clock-override/Makefile
tests/stress/Makefile
tests/unit/Makefile
tests/unit/ini_config/Makefile
#Python binding enabled/disabled
AS_ECHO_N("Python binding: ")
-AS_IF([test "x${enable_python:-yes}" = xyes], [
+AS_IF([test "x${enable_python_binding:-yes}" = xyes], [
AS_ECHO("Enabled")
],[
AS_ECHO("Disabled")