X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=configure.ac;h=3da818b9101d8f4a354ba085a9ff78cf53754736;hp=aa4220de70739608db734aa7b87d2e991386d941;hb=516c5c51c983afa85985f48e8c6a444aa1b37e47;hpb=81ba8833b7078b74f7b7f4acd62b975cb206fb4e diff --git a/configure.ac b/configure.ac index aa4220de7..3da818b91 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.9.10],[jeremie.galarneau@efficios.com],[],[https://lttng.org]) AC_CONFIG_HEADERS([include/config.h]) AC_CONFIG_AUX_DIR([config]) @@ -8,7 +8,7 @@ AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_TARGET AC_CANONICAL_HOST -AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip tar-pax]) +AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip tar-pax nostdinc]) AM_MAINTAINER_MODE([enable]) # Enable silent rules if available (Introduced in AM 1.11) @@ -59,12 +59,19 @@ AS_IF([test "x$ax_cv___attribute__" = "xyes"], [AC_MSG_ERROR([The compiler does not support __attribute__ extensions])]) AX_PTHREAD(,[AC_MSG_ERROR([Could not configure pthreads support])]) -LIBS="$PTHREAD_LIBS $LIBS" -CFLAGS="$CFLAGS $PTHREAD_CFLAGS" -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/') @@ -77,8 +84,8 @@ AC_DEFINE_UNQUOTED([VERSION_MAJOR], $major_version, [LTTng-Tools major version n AC_DEFINE_UNQUOTED([VERSION_MINOR], $minor_version, [LTTng-Tools minor version number]) AC_DEFINE_UNQUOTED([VERSION_PATCHLEVEL], $patchlevel_version, [LTTng-Tools patchlevel version number]) -version_name="Codename TBD" -version_description='Description TBD' +version_name="Joannès" +version_description='Berliner Weisse style beer from the Trèfle Noir microbrewery in Rouyn-Noranda. It is a tangy beer with a distinct pink dress and intense fruit flavor, thanks to the presence of fresh blackcurrant grown in Témiscamingue.' version_description_c=$(echo $version_description | $SED 's/"/\\"/g') AC_DEFINE_UNQUOTED([VERSION_NAME], ["$version_name"], "") @@ -127,6 +134,34 @@ 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]) + +# Checks for dl. +AC_CHECK_LIB([dl], [dlopen], [ + have_libdl=yes + libdl_name=dl +], [ + # libdl not found, check for dlopen in libc. + AC_CHECK_LIB([c], [dlopen], [ + have_libc_dl=yes + libdl_name=c + ], [ + AC_MSG_ERROR([Cannot find dlopen in libdl nor libc. Use [LDFLAGS]=-Ldir to specify their location.]) + ]) +]) + +# Check if libdl has dlmopen support. +AH_TEMPLATE([HAVE_DLMOPEN], ["Define to 1 if dlmopen is available."]) +AC_CHECK_LIB([$libdl_name], [dlmopen], [ + AC_DEFINE([HAVE_DLMOPEN], [1]) + HAVE_DLMOPEN=1 +], [ + HAVE_DLMOPEN=0 +]) +AC_SUBST(HAVE_DLMOPEN) + # Babeltrace viewer check AC_ARG_WITH([babeltrace-bin], AS_HELP_STRING([--with-babeltrace-bin], @@ -267,7 +302,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 +311,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 +354,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 +399,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]) @@ -397,7 +433,7 @@ AC_ARG_WITH(kmod-prefix, [Specify the installation prefix of the kmod library. Headers must be in PATH/include; libraries in PATH/lib.]), [ - CPPFLAGS="$CPPFLAGS -I${withval}/include" + AM_CPPFLAGS="$AM_CPPFLAGS -I${withval}/include" LDFLAGS="$LDFLAGS -L${withval}/lib64 -L${withval}/lib" ]) @@ -422,7 +458,7 @@ AC_ARG_WITH(lttng-ust-prefix, [Specify the installation prefix of the lttng-ust library. Headers must be in PATH/include; libraries in PATH/lib.]), [ - CPPFLAGS="$CPPFLAGS -I${withval}/include" + AM_CPPFLAGS="$AM_CPPFLAGS -I${withval}/include" LDFLAGS="$LDFLAGS -L${withval}/lib64 -L${withval}/lib" ]) @@ -476,14 +512,12 @@ AC_CHECK_LIB([c], [open_memstream], ] ) -AC_ARG_ENABLE([git-version], - [AC_HELP_STRING([--disable-git-version], - [Do not use the git version for the build])], - [have_git_version=$enableval], [have_git_version=yes] -) - -AM_CONDITIONAL([LTTNG_TOOLS_BUILD_GIT_SOURCE], - [test "x${have_git_version}" = "xyes"]) +# check for libpfm +AC_CHECK_LIB([pfm], [pfm_initialize], + [ + have_libpfm=yes + ]) +AM_CONDITIONAL([LTTNG_TOOLS_BUILD_WITH_LIBPFM], [test "x$have_libpfm" = "xyes"]) # For Python # SWIG version needed or newer: @@ -592,6 +626,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 +639,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 +647,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 @@ -926,9 +955,17 @@ modify their sources. # export flex condition AM_CONDITIONAL([HAVE_FLEX], [test "x$have_flex" = "xyes"]) -CFLAGS="-Wall $CFLAGS -g -fno-strict-aliasing" +AM_CFLAGS="-Wall -fno-strict-aliasing $PTHREAD_CFLAGS" +AC_SUBST(AM_CFLAGS) -DEFAULT_INCLUDES="-I\$(top_srcdir) -I\$(top_builddir) -I\$(top_builddir)/src -I\$(top_builddir)/include -include config.h" +# The order in which the include folders are searched is important. +# The top_builddir should always be searched first in the event that a build +# time generated file is included. An example of this is the "version.i" file. +# In a scenario where lttng-tools is built from a distribution tarball and in a +# out-of-tree manner, the generated "version.i" has priority on the one from +# the source (distribution tarball) and must be found first. +AM_CPPFLAGS="-I\$(top_builddir)/include -I\$(top_srcdir)/include -I\$(top_srcdir)/src -include config.h $AM_CPPFLAGS" +AC_SUBST(AM_CPPFLAGS) lttngincludedir="${includedir}/lttng" @@ -963,6 +1000,7 @@ AC_CONFIG_FILES([ src/common/index/Makefile src/common/health/Makefile src/common/config/Makefile + src/common/fd-tracker/Makefile src/lib/Makefile src/lib/lttng-ctl/Makefile src/lib/lttng-ctl/filter/Makefile @@ -986,11 +1024,14 @@ 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 tests/regression/tools/regen-metadata/Makefile tests/regression/tools/regen-statedump/Makefile + tests/regression/tools/working-directory/Makefile + tests/regression/tools/relayd-grouping/Makefile tests/regression/ust/Makefile tests/regression/ust/nprocesses/Makefile tests/regression/ust/high-throughput/Makefile @@ -1018,6 +1059,7 @@ AC_CONFIG_FILES([ 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 +1070,9 @@ 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_CONFIG_FILES([tests/regression/ust/ust-dl/test_ust-dl],[chmod +x tests/regression/ust/ust-dl/test_ust-dl]) AC_OUTPUT @@ -1197,3 +1242,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.]) +])