[LTTNG_SYSTEM_RUNDIR="/var/run/lttng"])
AC_SUBST([LTTNG_SYSTEM_RUNDIR])
+AC_ARG_ENABLE([test-java-agent-jul],
+ [AS_HELP_STRING([--enable-test-java-agent-jul],[enable the LTTng UST Java agent JUL tests [default=no]])],
+ [test_java_agent_jul=$enableval],
+ [test_java_agent_jul=no]
+)
+
+AC_ARG_ENABLE([test-java-agent-log4j],
+ [AS_HELP_STRING([--enable-test-java-agent-log4j],[enable the LTTng UST Java agent Log4j tests [default=no]])],
+ [test_java_agent_log4j=$enableval],
+ [test_java_agent_log4j=no]
+)
+
+AC_ARG_ENABLE([test-java-agent-all],
+ [AS_HELP_STRING([--enable-test-java-agent-all],[enable all the LTTng UST Java agent tests [default=no]])],
+ [test_java_agent_jul=$enableval
+ test_java_agent_log4j=$enableval],
+ [:]
+)
+
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.])
)
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])
+AM_CONDITIONAL([TEST_JAVA_JUL_AGENT], [test "x$test_java_agent_jul" = "xyes"])
+AM_CONDITIONAL([TEST_JAVA_LOG4J_AGENT], [test "x$test_java_agent_log4j" = "xyes"])
-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 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)
-else
- build_java_agent=no
- AC_MSG_RESULT(not found)
-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)
+if test "x$test_java_agent_jul" = "xyes" || test "x$test_java_agent_log4j" = "xyes"; then
AX_JAVA_OPTIONS
- AX_PROG_JAR
- AX_PROG_JAVA
AX_PROG_JAVAC
+ AX_PROG_JAVA
+ AX_PROG_JAR
+
+ AX_CHECK_CLASSPATH
+
+ # 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" = "xno"; then
+ AC_MSG_ERROR([The UST Java agent common class was not found. Please specify the location of the jar via the Java CLASSPATH e.g: export CLASSPATH="/path/to/lttng-ust-agent-common.jar"])
+ fi
- # 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
+ if test "x$test_java_agent_jul" = "xyes"; then
+ # Check for JUL agent class
+ AX_CHECK_CLASS(org.lttng.ust.agent.jul.LttngLogHandler)
+ if test "x$ac_cv_class_org_lttng_ust_agent_jul_LttngLogHandler" = "xno"; then
+ AC_MSG_ERROR([The UST Java agent JUL class was not found. Please specify the location of the jar via the Java CLASSPATH e.g: export CLASSPATH="/path/to/lttng-ust-agent-jul.jar"])
+ fi
+ fi
+
+ if test "x$test_java_agent_log4j" = "xyes"; then
+ # Check for Log4j agent class
+ AX_CHECK_CLASS(org.lttng.ust.agent.log4j.LttngLogAppender)
+ if test "x$ac_cv_class_org_lttng_ust_agent_log4j_LttngLogAppender" = "xno"; then
+ AC_MSG_ERROR([The UST Java agent Log4j class was not found. Please specify the location of the jar via the Java CLASSPATH e.g: export CLASSPATH="/path/to/lttng-ust-agent-log4j.jar"])
+ fi
+
+ # Check for Log4j class
+ AX_CHECK_CLASS(org.apache.log4j.Logger)
+ if test "x$ac_cv_class_org_apache_log4j_Logger" = "xno"; then
+ AC_MSG_ERROR([The Log4j class was not found. Please specify the location of the jar via the Java CLASSPATH e.g: export CLASSPATH="/path/to/log4j.jar"])
+ fi
fi
fi
-AM_CONDITIONAL([BUILD_JAVA_LOG4J_AGENT], [test "x$build_java_log4j_agent" = "xyes"])
AC_SYS_LARGEFILE
AS_ECHO("Disabled")
])
+# LTTng UST Java agent JUL tests enabled/disabled
+AS_ECHO_N("LTTng-UST Java agent JUL tests: ")
+AS_IF([test "x$test_java_agent_jul" = "xyes"],[
+ AS_ECHO("Enabled")
+],[
+ AS_ECHO("Disabled")
+])
+
+# LTTng UST Java agent Log4j tests enabled/disabled
+AS_ECHO_N("LTTng-UST Java agent Log4j tests: ")
+AS_IF([test "x$test_java_agent_log4j" = "xyes"],[
+ AS_ECHO("Enabled")
+],[
+ AS_ECHO("Disabled")
+])
+
#Python binding enabled/disabled
AS_ECHO_N("Python binding: ")
AS_IF([test "x${enable_python:-yes}" = xyes], [