X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=configure.ac;h=663636258a25ba39bf7a9de27a08a45e4f8748c8;hp=b2f73dc276d1cc50e405cc805e41c68bdc9db049;hb=a50f74e482c2cb9eba4a8ba49d132a831cc994a0;hpb=3299fd310c0fab63e912004cdd404d586f936f9e diff --git a/configure.ac b/configure.ac index b2f73dc27..663636258 100644 --- a/configure.ac +++ b/configure.ac @@ -57,7 +57,7 @@ AC_TYPE_UINT8_T # Detect warning flags supported by the C and C++ compilers and append them to # WARN_CFLAGS and WARN_CXXFLAGS. -m4_define([WARN_FLAGS_LIST], [ dnl +m4_define([WARN_FLAGS_COMMON_LIST], [ dnl -Wall dnl dnl We currently get this warning when building with Clang: dnl @@ -65,21 +65,25 @@ m4_define([WARN_FLAGS_LIST], [ dnl dnl extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) __THROWNL; dnl ^ -Wno-incomplete-setjmp-declaration dnl - -Wdiscarded-qualifiers dnl -Wmissing-declarations dnl - -Wmissing-prototypes dnl - -Wmissing-parameter-type dnl -Wshadow dnl -Wno-gnu-folding-constant dnl - dnl GCC enables this with -Wall in C++, and that generates a - dnl lot of warnings that have on average a low value to fix. - -Wno-sign-compare dnl + -Wsuggest-attribute=format dnl + -Wformat=2 dnl +]) + +# Detect warning flags specific to the C compiler and append them to +# WARN_CFLAGS. +m4_define([WARN_FLAGS_C_LIST], [ dnl + -Wdiscarded-qualifiers dnl + -Wmissing-prototypes dnl + -Wmissing-parameter-type dnl ]) # Pass -Werror as an extra flag during the test: this is needed to make the # -Wunknown-warning-option diagnostic fatal with clang. AC_LANG_PUSH([C]) -AX_APPEND_COMPILE_FLAGS([WARN_FLAGS_LIST], [WARN_CFLAGS], [-Werror]) +AX_APPEND_COMPILE_FLAGS([WARN_FLAGS_COMMON_LIST WARN_FLAGS_C_LIST], [WARN_CFLAGS], [-Werror]) AC_LANG_POP([C]) # The test used in AX_APPEND_COMPILE_FLAGS, generated using AC_LANG_PROGRAM, is @@ -104,10 +108,18 @@ AC_LANG_POP([C]) # Find a C++11 compiler with GNU extensions (-std=gnu++11) AX_CXX_COMPILE_STDCXX([11], [ext], [mandatory]) +# Detect warning flags specific to the C++ compiler and append them to +# WARN_CXXFLAGS. +m4_define([WARN_FLAGS_CXX_LIST], [ dnl + dnl GCC enables this with -Wall in C++, and that generates a + dnl lot of warnings that have on average a low value to fix. + -Wno-sign-compare dnl +]) + # Pass -Werror as an extra flag during the test: this is needed to make the # -Wunknown-warning-option diagnostic fatal with clang. AC_LANG_PUSH([C++]) -AX_APPEND_COMPILE_FLAGS([WARN_FLAGS_LIST], [WARN_CXXFLAGS], [-Werror]) +AX_APPEND_COMPILE_FLAGS([WARN_FLAGS_COMMON_LIST WARN_FLAGS_CXX_LIST], [WARN_CXXFLAGS], [-Werror]) AC_LANG_POP([C++]) # Disable 'strict aliasing' if the C++ compiler supports it. @@ -387,15 +399,22 @@ AC_ARG_ENABLE([test-java-agent-jul], ) 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]])], + [AS_HELP_STRING([--enable-test-java-agent-log4j],[enable the LTTng UST Java agent Log4j 1.x tests [default=no]])], [test_java_agent_log4j=$enableval], [test_java_agent_log4j=no] ) +AC_ARG_ENABLE([test-java-agent-log4j2], + [AS_HELP_STRING([--enable-test-java-agent-log4j2],[enable the LTTng UST Java agent Log4j 2.x tests [default=no]])], + [test_java_agent_log4j2=$enableval], + [test_java_agent_log4j2=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], + test_java_agent_log4j=$enableval + test_java_agent_log4j2=$enableval], [:] ) @@ -663,8 +682,9 @@ AX_CONFIG_FEATURE( 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"]) +AM_CONDITIONAL([TEST_JAVA_LOG4J2_AGENT], [test "x$test_java_agent_log4j2" = "xyes"]) -if test "x$test_java_agent_jul" = "xyes" || test "x$test_java_agent_log4j" = "xyes"; then +if test "x$test_java_agent_jul" = "xyes" || test "x$test_java_agent_log4j" = "xyes" || test "x$test_java_agent_log4j2" = "xyes"; then AX_JAVA_OPTIONS AX_PROG_JAVAC AX_PROG_JAVA @@ -699,6 +719,21 @@ if test "x$test_java_agent_jul" = "xyes" || test "x$test_java_agent_log4j" = "xy 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 + + if test "x$test_java_agent_log4j2" = "xyes"; then + # Check for Log4j2 agent class + AX_CHECK_CLASS(org.lttng.ust.agent.log4j2.LttngLogAppender) + if test "x$ac_cv_class_org_lttng_ust_agent_log4j2_LttngLogAppender" = "xno"; then + AC_MSG_ERROR([The UST Java agent Log4j 2.x class was not found. Please specify the location of the jar via the Java CLASSPATH e.g: export CLASSPATH="/path/to/lttng-ust-agent-log4j2.jar"]) + fi + + # Check for Log4j 2.x classes + AX_CHECK_CLASS([org.apache.logging.log4j.Logger]) + AX_CHECK_CLASS([org.apache.logging.log4j.core.Core]) + if test "x$ac_cv_class_org_apache_logging_log4j_Logger" = "xno" || test "x$ac_cv_class_org_apache_logging_log4j_core_Core" = "xno"; then + AC_MSG_ERROR([The Log4j 2.x API or core class was not found. Please specify the location of the jars via the Java CLASSPATH e.g: export CLASSPATH="/path/to/log4j-core.jar:/path/to/log4j-api.jar"]) + fi + fi fi # enable building man pages (user's intention) @@ -951,7 +986,6 @@ AS_IF([test x$enable_bin_lttng_crash != xno], AS_IF([test x$enable_bin_lttng_relayd != xno], [ - build_lib_lttng_ctl=yes build_lib_sessiond_comm=yes build_lib_index=yes build_lib_health=yes @@ -1141,24 +1175,6 @@ AC_CONFIG_FILES([ extras/core-handler/Makefile src/Makefile src/common/Makefile - src/common/argpar/Makefile - src/common/bytecode/Makefile - src/common/kernel-ctl/Makefile - src/common/kernel-consumer/Makefile - src/common/consumer/Makefile - src/common/ust-consumer/Makefile - src/common/hashtable/Makefile - src/common/sessiond-comm/Makefile - src/common/compat/Makefile - src/common/relayd/Makefile - src/common/testpoint/Makefile - src/common/index/Makefile - src/common/health/Makefile - src/common/config/Makefile - src/common/ini-config/Makefile - src/common/string-utils/Makefile - src/common/fd-tracker/Makefile - src/common/filter/Makefile src/lib/Makefile src/lib/lttng-ctl/Makefile src/lib/lttng-ctl/lttng-ctl.pc @@ -1224,6 +1240,7 @@ AC_CONFIG_FILES([ tests/regression/ust/ust-dl/Makefile tests/regression/ust/java-jul/Makefile tests/regression/ust/java-log4j/Makefile + tests/regression/ust/java-log4j2/Makefile tests/regression/ust/getcpu-override/Makefile tests/regression/ust/clock-override/Makefile tests/regression/ust/type-declarations/Makefile @@ -1341,9 +1358,13 @@ AS_IF([test "x$build_tests" = "xno"],[ test "x$test_java_agent_jul" = "xyes" && value=1 || value=0 PPRINT_PROP_BOOL([LTTng-UST Java agent JUL tests], $value) -# LTTng UST Java agent Log4j tests enabled/disabled +# LTTng UST Java agent Log4j 1.x tests enabled/disabled test "x$test_java_agent_log4j" = "xyes" && value=1 || value=0 -PPRINT_PROP_BOOL([LTTng-UST Java agent Log4j tests], $value) +PPRINT_PROP_BOOL([LTTng-UST Java agent Log4j 1.x tests], $value) + +# LTTng UST Java agent Log4j 2.x tests enabled/disabled +test "x$test_java_agent_log4j2" = "xyes" && value=1 || value=0 +PPRINT_PROP_BOOL([LTTng-UST Java agent Log4j 2.x tests], $value) test ! -z "$PYTHON2_AGENT" && value=1 || value=0 PPRINT_PROP_BOOL([LTTng-UST Python2 agent tests], $value)