X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=configure.ac;h=22533939bf96a7b1473bad6e1f5f45955f4d5f2d;hp=aa4220de70739608db734aa7b87d2e991386d941;hb=9c55c24114a3ba83a423690b0e86d64c9b2fb027;hpb=81ba8833b7078b74f7b7f4acd62b975cb206fb4e diff --git a/configure.ac b/configure.ac index aa4220de7..22533939b 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ AC_PREREQ([2.64]) -AC_INIT([lttng-tools],[2.9.0-pre],[jeremie.galarneau@efficios.com],[],[https://lttng.org]) +AC_INIT([lttng-tools],[2.10.0-pre],[jeremie.galarneau@efficios.com],[],[https://lttng.org]) AC_CONFIG_HEADERS([include/config.h]) AC_CONFIG_AUX_DIR([config]) @@ -65,6 +65,16 @@ CC="$PTHREAD_CC" AX_LIB_SOCKET_NSL +LT_NO_UNDEFINED="" +AS_CASE([$host_os], + [cygwin*], + [ + LT_NO_UNDEFINED="-no-undefined" + ] +) + +AC_SUBST(LT_NO_UNDEFINED) + # Compute minor/major/patchlevel version numbers major_version=$(echo AC_PACKAGE_VERSION | $SED 's/^\([[0-9]]\)*\.[[0-9]]*\.[[0-9]]*.*$/\1/') minor_version=$(echo AC_PACKAGE_VERSION | $SED 's/^[[0-9]]*\.\([[0-9]]*\)\.[[0-9]]*.*$/\1/') @@ -127,6 +137,10 @@ AC_CHECK_FUNCS([ \ strtoull dirfd gethostbyname2 getipnodebyname epoll_create1 \ ]) +# Check if clock_gettime, timer_create, timer_settime, and timer_delete are available in lib rt, and if so, +# add -lrt to LIBS +AC_CHECK_LIB([rt], [clock_gettime, timer_create, timer_settime, timer_delete]) + # Babeltrace viewer check AC_ARG_WITH([babeltrace-bin], AS_HELP_STRING([--with-babeltrace-bin], @@ -231,6 +245,7 @@ m4_define([_DEFAULT_CHANNEL_SUBBUF_NUM], [4]) m4_define([_DEFAULT_CHANNEL_SWITCH_TIMER], [0]) m4_define([_DEFAULT_CHANNEL_LIVE_TIMER], [0]) m4_define([_DEFAULT_CHANNEL_READ_TIMER], [200000]) +m4_define([_DEFAULT_CHANNEL_MONITOR_TIMER], [1000000]) _AC_DEFINE_AND_SUBST([DEFAULT_AGENT_TCP_PORT], [5345]) _AC_DEFINE_AND_SUBST([DEFAULT_APP_SOCKET_RW_TIMEOUT], [5]) _AC_DEFINE_AND_SUBST([DEFAULT_CHANNEL_SUBBUF_SIZE], [_DEFAULT_CHANNEL_SUBBUF_SIZE]) @@ -241,6 +256,7 @@ _AC_DEFINE_AND_SUBST([DEFAULT_KERNEL_CHANNEL_READ_TIMER], [_DEFAULT_CHANNEL_READ _AC_DEFINE_AND_SUBST([DEFAULT_KERNEL_CHANNEL_SUBBUF_NUM], [_DEFAULT_CHANNEL_SUBBUF_NUM]) _AC_DEFINE_AND_SUBST([DEFAULT_KERNEL_CHANNEL_SUBBUF_SIZE], [262144]) _AC_DEFINE_AND_SUBST([DEFAULT_KERNEL_CHANNEL_SWITCH_TIMER], [_DEFAULT_CHANNEL_SWITCH_TIMER]) +_AC_DEFINE_AND_SUBST([DEFAULT_KERNEL_CHANNEL_MONITOR_TIMER], [_DEFAULT_CHANNEL_MONITOR_TIMER]) _AC_DEFINE_AND_SUBST([DEFAULT_LTTNG_LIVE_TIMER], [1000000]) _AC_DEFINE_AND_SUBST([DEFAULT_METADATA_CACHE_SIZE], [4096]) _AC_DEFINE_AND_SUBST([DEFAULT_METADATA_READ_TIMER], [0]) @@ -255,11 +271,13 @@ _AC_DEFINE_AND_SUBST([DEFAULT_UST_PID_CHANNEL_READ_TIMER], [0]) _AC_DEFINE_AND_SUBST([DEFAULT_UST_PID_CHANNEL_SUBBUF_NUM], [_DEFAULT_CHANNEL_SUBBUF_NUM]) _AC_DEFINE_AND_SUBST([DEFAULT_UST_PID_CHANNEL_SUBBUF_SIZE], [_DEFAULT_CHANNEL_SUBBUF_SIZE]) _AC_DEFINE_AND_SUBST([DEFAULT_UST_PID_CHANNEL_SWITCH_TIMER], [_DEFAULT_CHANNEL_SWITCH_TIMER]) +_AC_DEFINE_AND_SUBST([DEFAULT_UST_PID_CHANNEL_MONITOR_TIMER], [_DEFAULT_CHANNEL_MONITOR_TIMER]) _AC_DEFINE_AND_SUBST([DEFAULT_UST_UID_CHANNEL_LIVE_TIMER], [_DEFAULT_CHANNEL_LIVE_TIMER]) _AC_DEFINE_AND_SUBST([DEFAULT_UST_UID_CHANNEL_READ_TIMER], [0]) _AC_DEFINE_AND_SUBST([DEFAULT_UST_UID_CHANNEL_SUBBUF_NUM], [_DEFAULT_CHANNEL_SUBBUF_NUM]) _AC_DEFINE_AND_SUBST([DEFAULT_UST_UID_CHANNEL_SUBBUF_SIZE], [131072]) _AC_DEFINE_AND_SUBST([DEFAULT_UST_UID_CHANNEL_SWITCH_TIMER], [_DEFAULT_CHANNEL_SWITCH_TIMER]) +_AC_DEFINE_AND_SUBST([DEFAULT_UST_UID_CHANNEL_MONITOR_TIMER], [_DEFAULT_CHANNEL_MONITOR_TIMER]) _AC_DEFINE_QUOTED_AND_SUBST([DEFAULT_AGENT_BIND_ADDRESS], [localhost]) _AC_DEFINE_QUOTED_AND_SUBST([DEFAULT_NETWORK_CONTROL_BIND_ADDRESS], [0.0.0.0]) _AC_DEFINE_QUOTED_AND_SUBST([DEFAULT_NETWORK_DATA_BIND_ADDRESS], [0.0.0.0]) @@ -267,7 +285,6 @@ _AC_DEFINE_QUOTED_AND_SUBST([DEFAULT_NETWORK_VIEWER_BIND_ADDRESS], [localhost]) # Command short descriptions _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_ADD_CONTEXT], [Add context fields to a channel]) -_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_CALIBRATE], [Quantify LTTng overhead]) _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_CREATE], [Create a tracing session]) _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_DESTROY], [Tear down tracing sessions]) _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_DISABLE_CHANNEL], [Disable tracing channels]) @@ -277,7 +294,7 @@ _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_ENABLE_EVENT], [Create or enable event ru _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_HELP], [Display help information about a command]) _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_LIST], [List tracing sessions, domains, channels, and events]) _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_LOAD], [Load tracing session configurations]) -_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_METADATA], [Manage an LTTng tracing session's metadata generation]) +_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_REGENERATE], [Manage an LTTng tracing session's data regeneration]) _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_SAVE], [Save tracing session configurations]) _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_SET_SESSION], [Set current tracing session]) _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_SNAPSHOT], [Snapshot buffers of current tracing session]) @@ -320,7 +337,7 @@ PKG_CHECK_MODULES([POPT], [popt], ] ) -AM_PATH_XML2(2.7.6, true, AC_MSG_ERROR(No supported version of libxml2 found.)) +PKG_CHECK_MODULES([libxml2], [libxml-2.0 >= 2.7.6]) # Check for uuid in system libs AC_CHECK_FUNCS([uuid_generate], @@ -365,6 +382,8 @@ PKG_CHECK_MODULES([UUID], [uuid], AM_CONDITIONAL([LTTNG_BUILD_WITH_LIBUUID], [test "x$link_with_libuuid" = "xyes"]) AM_CONDITIONAL([LTTNG_BUILD_WITH_LIBC_UUID], [test "x$link_with_libc_uuid" = "xyes"]) +AC_CHECK_FUNC([clock_gettime], [AC_DEFINE_UNQUOTED([LTTNG_HAVE_CLOCK_GETTIME], 1, [Has clock_gettime() support.])]) + # URCU library version needed or newer m4_define([WRONG_LIBURCU_MSG], [Userspace RCU (liburcu) >= 0.8.0 is needed]) @@ -476,6 +495,13 @@ AC_CHECK_LIB([c], [open_memstream], ] ) +# check for libpfm +AC_CHECK_LIB([pfm], [pfm_initialize], + [ + have_libpfm=yes + ]) +AM_CONDITIONAL([LTTNG_TOOLS_BUILD_WITH_LIBPFM], [test "x$have_libpfm" = "xyes"]) + AC_ARG_ENABLE([git-version], [AC_HELP_STRING([--disable-git-version], [Do not use the git version for the build])], @@ -592,6 +618,7 @@ AC_ARG_ENABLE( # check for asciidoc and xmlto if we enabled building the man pages have_asciidoc_xmlto=no +warn_prebuilt_man_pages=no AS_IF([test "x$man_pages_opt" = "xyes"], [ AC_PATH_PROG([ASCIIDOC], [asciidoc], [no]) @@ -604,7 +631,7 @@ AS_IF([test "x$man_pages_opt" = "xyes"], [ # thus asciidoc/xmlto are required because we were asked # to build the man pages AC_MSG_ERROR([ -Both asciidoc and xmlto are needed to build the LTTng man pages. Use +You need asciidoc and xmlto to build the LTTng-tools man pages. Use --disable-man-pages to disable building the man pages, in which case they will not be installed. ]) @@ -612,13 +639,7 @@ they will not be installed. # only warn here: since we're in the tarball, the man # pages should already be generated at this point, thus # asciidoc/xmlto are not strictly required - AC_MSG_WARN([ -Both asciidoc and xmlto are needed to build the LTTng man pages. Note -that the man pages are already built in this distribution tarball, so -asciidoc and xmlto are only needed if you intend to modify their -sources. Use --disable-man-pages to completely disable building -and installing the man pages. - ]) + warn_prebuilt_man_pages=yes ]) ], [ have_asciidoc_xmlto=yes @@ -632,6 +653,29 @@ AM_CONDITIONAL([HAVE_ASCIIDOC_XMLTO], [test "x$have_asciidoc_xmlto" = "xyes"]) AC_DEFINE_UNQUOTED([MANPATH], ["`eval eval echo $mandir`"], [Path to man pages.]) +# embedded --help message +AC_ARG_ENABLE( + [embedded-help], + AS_HELP_STRING( + [--enable-embedded-help], + [Embed the --help messages in the executable files] + ), + [embedded_help=$enableval], + [embedded_help=no] +) +AS_IF([test "x$embedded_help" = "xyes"], [ + AS_IF([test "x$man_pages_opt" = "xno"], [ + AC_MSG_ERROR([You need the --enable-man-pages option with the --enable-embedded-help option.]) + ]) + AC_PATH_PROG([man_prog_path], [man], [no]) + AS_IF([test "x$man_prog_path" = "xno"], [ + AC_MSG_ERROR([You need man with the --enable-embedded-help option.]) + ]) + AC_DEFINE_UNQUOTED([LTTNG_EMBED_HELP], 1, [Embed --help messages.]) + AC_SUBST([MANPROG], [$man_prog_path]) +]) +AM_CONDITIONAL([EMBED_HELP], [test "x$embedded_help" != "xno"]) + # Python agent test UST_PYTHON_AGENT="lttngust" @@ -931,8 +975,20 @@ CFLAGS="-Wall $CFLAGS -g -fno-strict-aliasing" DEFAULT_INCLUDES="-I\$(top_srcdir) -I\$(top_builddir) -I\$(top_builddir)/src -I\$(top_builddir)/include -include config.h" lttngincludedir="${includedir}/lttng" - AC_SUBST(lttngincludedir) + +lttngactionincludedir="${includedir}/lttng/action" +AC_SUBST(lttngactionincludedir) + +lttngconditionincludedir="${includedir}/lttng/condition" +AC_SUBST(lttngconditionincludedir) + +lttngnotificationincludedir="${includedir}/lttng/notification" +AC_SUBST(lttngnotificationincludedir) + +lttngtriggerincludedir="${includedir}/lttng/trigger" +AC_SUBST(lttngtriggerincludedir) + AC_SUBST(DEFAULT_INCLUDES) lttnglibexecdir="${libdir}/lttng/libexec" @@ -963,6 +1019,7 @@ AC_CONFIG_FILES([ src/common/index/Makefile src/common/health/Makefile src/common/config/Makefile + src/common/string-utils/Makefile src/lib/Makefile src/lib/lttng-ctl/Makefile src/lib/lttng-ctl/filter/Makefile @@ -986,6 +1043,7 @@ AC_CONFIG_FILES([ tests/regression/tools/live/Makefile tests/regression/tools/exclusion/Makefile tests/regression/tools/save-load/Makefile + tests/regression/tools/save-load/configuration/Makefile tests/regression/tools/mi/Makefile tests/regression/tools/wildcard/Makefile tests/regression/tools/crash/Makefile @@ -1015,9 +1073,11 @@ AC_CONFIG_FILES([ tests/regression/ust/clock-override/Makefile tests/regression/ust/type-declarations/Makefile tests/regression/ust/rotation-destroy-flush/Makefile + tests/regression/ust/blocking/Makefile tests/stress/Makefile tests/unit/Makefile tests/unit/ini_config/Makefile + tests/perf/Makefile tests/utils/Makefile tests/utils/tap/Makefile tests/utils/testapp/Makefile @@ -1028,6 +1088,8 @@ AC_CONFIG_FILES([ # Inject variable into python test script. AC_CONFIG_FILES([tests/regression/ust/python-logging/test_python_logging],[chmod +x tests/regression/ust/python-logging/test_python_logging]) +# Inject LTTNG_TOOLS_BUILD_WITH_LIBPFM variable in test script. +AC_CONFIG_FILES([tests/perf/test_perf_raw],[chmod +x tests/perf/test_perf_raw]) AC_OUTPUT @@ -1148,6 +1210,9 @@ AS_IF([test "x$man_pages_opt" != "xno"], [ m4_popdef([build_man_pages_msg]) +test "x$embedded_help" = xyes && value=1 || value=0 +PPRINT_PROP_BOOL([Embed --help messages], $value, $PPRINT_COLOR_SUBTITLE) + PPRINT_SET_INDENT(1) report_bindir="`eval eval echo $bindir`" @@ -1197,3 +1262,19 @@ AS_IF([test "$CONSUMERD64_LIBDIR" = ""],[ path="$CONSUMERD64_LIBDIR" ]) PPRINT_PROP_STRING([64-bit consumer libraries], [$path]) +PPRINT_SET_INDENT(0) + +AS_IF([test "x$warn_prebuilt_man_pages" = "xyes" ], [ + AS_ECHO + PPRINT_WARN([You need asciidoc and xmlto to build the LTTng-tools man pages. + +Note that the man pages are already built in this distribution tarball, +therefore asciidoc and xmlto are only needed if you intend to modify +their sources. + +Also note that the installed man pages will contain the project's +default command-line option and environment variable values. + +Use --disable-man-pages to completely disable building and installing +the man pages.]) +])