Refactor liblttng-ust-jul in liblttng-ust-agent
[lttng-ust.git] / configure.ac
index bf626697ff34ad2b09ea2265783b99c804235d68..82db75bd1a6126902fc4b5225bc79ce5ccac0b10 100644 (file)
@@ -240,27 +240,6 @@ if test x$NO_UNALIGNED_ACCESS = x ; then
 AC_DEFINE([LTTNG_UST_HAVE_EFFICIENT_UNALIGNED_ACCESS], [1])
 fi
 
-# Set compile flags to java include files if given
-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 JNI header files if requested
 AC_ARG_ENABLE([jni-interface],
        [AS_HELP_STRING([--enable-jni-interface],[build JNI interface between C and Java. Needs Java include files [default=no]])],
@@ -270,6 +249,56 @@ AC_ARG_ENABLE([jni-interface],
 
 AM_CONDITIONAL([BUILD_JNI_INTERFACE], [test "x$jni_interface" = "xyes"])
 
+
+AC_ARG_ENABLE([java-agent-jul],
+       [AS_HELP_STRING([--enable-java-agent-jul],[build the LTTng UST Java agent with JUL support [default=no]])],
+       [java_agent_jul=$enableval],
+       [java_agent_jul=no]
+)
+
+AC_ARG_ENABLE([java-agent-log4j],
+       [AS_HELP_STRING([--enable-java-agent-log4j],[build the LTTng UST Java agent with Log4j support [default=no]])],
+       [java_agent_log4j=$enableval],
+       [java_agent_log4j=no]
+)
+
+AC_ARG_ENABLE([java-agent-all],
+       [AS_HELP_STRING([--enable-java-agent-all],[build the LTTng UST Java agent with all supported backends [default=no]])],
+       [java_agent_jul=$enableval
+        java_agent_log4j=$enableval],
+       [:]
+)
+
+
+AM_CONDITIONAL([BUILD_JAVA_AGENT], [test "x$java_agent_jul" = "xyes" || test "x$java_agent_log4j" = "xyes"])
+AM_CONDITIONAL([BUILD_JAVA_AGENT_WITH_JUL], [test "x$java_agent_jul" = "xyes"])
+AM_CONDITIONAL([BUILD_JAVA_AGENT_WITH_LOG4J], [test "x$java_agent_log4j" = "xyes"])
+
+if test "x$jni_interface" = "xyes" || test "x$java_agent_jul" = "xyes" || test "x$java_agent_log4j" = "xyes"; then
+  AX_JAVA_OPTIONS
+  AX_PROG_JAVAC
+  AX_PROG_JAVA
+  AX_PROG_JAR
+
+  AX_JNI_INCLUDE_DIR
+  for JNI_INCLUDE_DIR in $JNI_INCLUDE_DIRS
+  do
+       CPPFLAGS="$CPPFLAGS -I$JNI_INCLUDE_DIR"
+  done
+
+  AX_PROG_JAVAH
+fi
+
+if test "x$java_agent_log4j" = "xyes"; then
+  AX_CHECK_CLASSPATH
+
+  AX_CHECK_CLASS(org.apache.log4j.Logger)
+
+  if test "x$ac_cv_class_org_apache_log4j_Logger" = "xno"; then
+     AC_MSG_ERROR([The UST Java agent support for log4j was requested but the Log4j classes were not found. Please specify the location of the Log4j jar via the Java CLASSPATH e.g: export CLASSPATH="/path/to/log4j.jar"])
+  fi
+fi
+
 # sdt.h integration
 AC_ARG_WITH([sdt],
        [AS_HELP_STRING([--with-sdt],[provide SystemTap integration via sdt.h [default=no]])],
@@ -313,9 +342,6 @@ AC_ARG_WITH([lttng-system-rundir],
 AC_DEFINE_UNQUOTED([LTTNG_SYSTEM_RUNDIR], ["$lttng_system_rundir"],
        [LTTng system runtime directory])
 
-lttnglibjavadir="${libdir}/lttng/java"
-AC_SUBST(lttnglibjavadir)
-
 AM_PATH_PYTHON([2.7],BUILD_GEN_TP_EXAMPLES=1,[:])
 AM_CONDITIONAL([BUILD_GEN_TP_EXAMPLES], [test $BUILD_GEN_TP_EXAMPLES], [Build examples requiring lttng-gen-tp])
 
@@ -333,7 +359,11 @@ AC_CONFIG_FILES([
        liblttng-ust-fork/Makefile
        liblttng-ust-dl/Makefile
        liblttng-ust-java/Makefile
-       liblttng-ust-jul/Makefile
+       liblttng-ust-java-agent/Makefile
+       liblttng-ust-java-agent/java/Makefile
+       liblttng-ust-java-agent/jni/Makefile
+       liblttng-ust-java-agent/jni/jul/Makefile
+       liblttng-ust-java-agent/jni/log4j/Makefile
        liblttng-ust-libc-wrapper/Makefile
        liblttng-ust-cyg-profile/Makefile
        tools/Makefile
@@ -344,7 +374,6 @@ AC_CONFIG_FILES([
        tests/snprintf/Makefile
        tests/benchmark/Makefile
        tests/utils/Makefile
-       tests/java-jul/Makefile
        lttng-ust.pc
 ])
 
@@ -359,7 +388,14 @@ AS_ECHO()
 AS_ECHO("LTTng-UST will be built with the following options:")
 
 AS_ECHO()
-AS_ECHO_N("Java support (JNI): ")
+
+AS_ECHO_N("Java agent (JUL support): ")
+AS_IF([test "x$java_agent_jul" = "xyes"], [AS_ECHO("Enabled")], [AS_ECHO("Disabled")])
+
+AS_ECHO_N("Java agent (Log4j support): ")
+AS_IF([test "x$java_agent_log4j" = "xyes"], [AS_ECHO("Enabled")], [AS_ECHO("Disabled")])
+
+AS_ECHO_N("JNI interface (JNI): ")
 AS_IF([test "x$jni_interface" = "xyes"], [AS_ECHO("Enabled")], [AS_ECHO("Disabled")])
 
 AS_ECHO_N("sdt.h integration:  ")
This page took 0.024342 seconds and 4 git commands to generate.