X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=configure.ac;fp=configure.ac;h=019d9753effd82a383c2e3e0f4c501b104314fa4;hb=6e8e8cb8d7b69e42dbc4c3702f6778d58d4a2371;hp=8a16ec76d7208409a218f9ba03b580e67ef557e6;hpb=2f14557f4175ac05f4ea74ff858be44706118464;p=deliverable%2Flttng-ust.git diff --git a/configure.ac b/configure.ac index 8a16ec76..019d9753 100644 --- a/configure.ac +++ b/configure.ac @@ -337,25 +337,39 @@ AS_HELP_STRING([--enable-java-agent-jul], [build the LTTng UST Java agent with J ]) AC_ARG_ENABLE([java-agent-log4j], [ -AS_HELP_STRING([--enable-java-agent-log4j], [build the LTTng UST Java agent with Log4j support [default=no]]) +AS_HELP_STRING([--enable-java-agent-log4j], [build the LTTng UST Java agent with Log4j 1.x support [default=no]]) ], [ java_agent_log4j=$enableval ], [ java_agent_log4j=no ]) +AC_ARG_ENABLE([java-agent-log4j2], [ +AS_HELP_STRING([--enable-java-agent-log4j2], [build the LTTng UST Java agent with Log4j 2.x support [default=no]]) +], [ + java_agent_log4j2=$enableval +], [ + java_agent_log4j2=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 + # This backport to a stable branch requires the explicit use of + # '--enable-java-agent-log4j2' to avoid introducing a new dependency in + # an existing configuration. + #java_agent_log4j2=$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"]) +AM_CONDITIONAL([BUILD_JAVA_AGENT_WITH_LOG4J2], [test "x$java_agent_log4j2" = "xyes"]) +AM_CONDITIONAL([BUILD_JAVA_AGENT_WITH_LOG4J_COMMON], [test "x$java_agent_log4j" = "xyes" || test "x$java_agent_log4j2" = "xyes"]) -AS_IF([test "x$jni_interface" = "xyes" || test "x$java_agent_jul" = "xyes" || test "x$java_agent_log4j" = "xyes"], [ +AS_IF([test "x$jni_interface" = "xyes" || test "x$java_agent_jul" = "xyes" || test "x$java_agent_log4j" = "xyes" || test "x$java_agent_log4j2" = "xyes"], [ AX_JAVA_OPTIONS AX_PROG_JAVAC AX_PROG_JAVA @@ -384,6 +398,21 @@ AS_IF([test "x$java_agent_log4j" = "xyes"], [ ]) ]) +# The log4j 2.x agent requires the log4j core and api jars in the classpath +AS_IF([test "x$java_agent_log4j2" = "xyes"], [ + AX_CHECK_CLASSPATH + AX_CHECK_CLASS([org.apache.logging.log4j.Logger]) + AX_CHECK_CLASS([org.apache.logging.log4j.core.Core]) + AS_IF([test "x$ac_cv_class_org_apache_logging_log4j_Logger" = "xno" || test "x$ac_cv_class_org_apache_logging_log4j_core_Core" = "xno"], [ + AC_MSG_ERROR([dnl +The UST Java agent support for log4j was requested but the Log4j classes were +not found. Please specify the location of the Log4j API and core 2.x jars via the Java CLASSPATH +environment variable, e.g. ./configure CLASSPATH="/path/to/log4j-core.jar:/path/to/log4j-api.jar" +Current CLASSPATH: "$CLASSPATH" + ]) + ]) +]) + # Option to build the python agent AC_ARG_ENABLE([python-agent], [ AS_HELP_STRING([--enable-python-agent], [build the LTTng UST Python agent [default=no]]) @@ -534,6 +563,7 @@ AC_CONFIG_FILES([ liblttng-ust-java-agent/java/lttng-ust-agent-common/Makefile liblttng-ust-java-agent/java/lttng-ust-agent-jul/Makefile liblttng-ust-java-agent/java/lttng-ust-agent-log4j/Makefile + liblttng-ust-java-agent/java/lttng-ust-agent-log4j2/Makefile liblttng-ust-java-agent/jni/Makefile liblttng-ust-java-agent/jni/common/Makefile liblttng-ust-java-agent/jni/jul/Makefile @@ -612,7 +642,10 @@ test "x$java_agent_jul" = xyes && value=1 || value=0 PPRINT_PROP_BOOL_CUSTOM([Java agent (JUL support)], $value, [use --enable-java-agent-jul]) test "x$java_agent_log4j" = xyes && value=1 || value=0 -PPRINT_PROP_BOOL_CUSTOM([Java agent (Log4j support)], $value, [use --enable-java-agent-log4j]) +PPRINT_PROP_BOOL_CUSTOM([Java agent (Log4j 1.x support)], $value, [use --enable-java-agent-log4j]) + +test "x$java_agent_log4j2" = xyes && value=1 || value=0 +PPRINT_PROP_BOOL_CUSTOM([Java agent (Log4j 2.x support)], $value, [use --enable-java-agent-log4j2]) test "x$jni_interface" = xyes && value=1 || value=0 PPRINT_PROP_BOOL_CUSTOM([JNI interface (JNI)], $value, [use --enable-jni-interface])