From 9ffc0257721b043158a502d3fcd7eb275630a95b Mon Sep 17 00:00:00 2001 From: Michael Jeanson Date: Thu, 6 Jul 2017 18:53:09 -0400 Subject: [PATCH] Completely rework configure.ac MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Full re-organisation of the configure.ac to regroup instructions by task, automake initialixation, autoconf initialization, OS specific default values, compiler checks, header checks, linker checks, user variables, configure switches and so on. Also BUILT_IN_PLUGINS was moved to --enable-built-in-plugins and BUILT_IN_PYTHON_PLUGIN_SUPPORT to --enable-built-in-python-plugin-support as those make more sense as toggles and most users are familiar with this syntax. Plus a lot of minor fixes and cleanups. Signed-off-by: Michael Jeanson Signed-off-by: Jérémie Galarneau --- Makefile.am | 2 +- bindings/Makefile.am | 2 +- cli/Makefile.am | 4 +- configure.ac | 618 +++++++++++++++----------- doc/bindings/Makefile.am | 2 +- include/Makefile.am | 6 + lib/Makefile.am | 2 +- plugins/ctf/Makefile.am | 2 +- plugins/ctf/fs-sink/Makefile.am | 2 +- plugins/lttng-utils/Makefile.am | 2 +- plugins/text/Makefile.am | 2 +- plugins/utils/Makefile.am | 2 +- python-plugin-provider/Makefile.am | 2 +- tests/Makefile.am | 2 +- tests/bindings/python/bt2/Makefile.am | 2 +- tests/cli/Makefile.am | 2 +- tests/lib/Makefile.am | 4 +- 17 files changed, 381 insertions(+), 277 deletions(-) diff --git a/Makefile.am b/Makefile.am index 201c4a85..de436c40 100644 --- a/Makefile.am +++ b/Makefile.am @@ -5,7 +5,7 @@ SUBDIRS = include \ compat \ logging -if WITH_PYTHON_PLUGINS +if ENABLE_PYTHON_PLUGINS # Only build the Python plugin provider shared object if the # configuration doesn't ask to make it built-in. SUBDIRS += python-plugin-provider diff --git a/bindings/Makefile.am b/bindings/Makefile.am index b4f9ac5f..6341f126 100644 --- a/bindings/Makefile.am +++ b/bindings/Makefile.am @@ -1,4 +1,4 @@ -if USE_PYTHON +if ENABLE_PYTHON_BINDINGS #Disabled temporarily (work in progress) #SUBDIRS = python endif diff --git a/cli/Makefile.am b/cli/Makefile.am index f2a180d6..3cd2a116 100644 --- a/cli/Makefile.am +++ b/cli/Makefile.am @@ -34,7 +34,7 @@ babeltrace_bin_SOURCES = \ babeltrace_bin_LDFLAGS = $(LD_NO_AS_NEEDED) # Add all the convenience libraries used by Babeltrace plugins and the -# library. They will be used when embedding plugins (BUILT_IN_PLUGINS), +# library. They will be used when embedding plugins (--enable-built-in-plugins), # otherwise we're looking after multiple definitions of the same symbols if # a plugin's archive (.a) includes the convenience library because # we're using --whole-archive below (needed to make sure the linker does @@ -48,7 +48,7 @@ babeltrace_bin_LDADD = \ $(top_builddir)/plugins/libctfcopytrace/libctfcopytrace.la \ $(POPT_LIBS) -if BUILT_IN_PLUGINS +if ENABLE_BUILT_IN_PLUGINS # Takes a plugin name and outputs the needed LDFLAGS to embed it. # # The --whole-archive option is important here. From the GNU linker's diff --git a/configure.ac b/configure.ac index 25503768..c94b720e 100644 --- a/configure.ac +++ b/configure.ac @@ -1,10 +1,38 @@ +dnl Process this file with autoconf to produce a configure script. +dnl +dnl Copyright (c) 2017 EfficiOS, Inc. +dnl +dnl Permission is hereby granted, free of charge, to any person obtaining a copy +dnl of this software and associated documentation files (the "Software"), to deal +dnl in the Software without restriction, including without limitation the rights +dnl to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +dnl copies of the Software, and to permit persons to whom the Software is +dnl furnished to do so, subject to the following conditions: +dnl +dnl The above copyright notice and this permission notice shall be included in +dnl all copies or substantial portions of the Software. +dnl +dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +dnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +dnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +dnl AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +dnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +dnl OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +dnl SOFTWARE. + +## ## +## Autoconf base setup ## +## ## + AC_PREREQ([2.50]) + m4_define([bt_version_major], [2]) m4_define([bt_version_minor], [0]) m4_define([bt_version_patch], [0]) m4_define([bt_version_extra], [-pre1]) m4_define([bt_version], bt_version_major[.]bt_version_minor[.]bt_version_patch[]bt_version_extra) -AC_INIT([babeltrace],bt_version,[jeremie dot galarneau at efficios dot com]) + +AC_INIT([babeltrace], bt_version, [jeremie dot galarneau at efficios dot com], [], [https://efficios.com/babeltrace/]) # Following the numbering scheme proposed by libtool for the library version # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html @@ -13,6 +41,7 @@ AC_SUBST([BABELTRACE_LIBRARY_VERSION], bt_version_major[:]bt_version_minor[:]bt_ AC_CONFIG_HEADERS([include/config.h]) AC_CONFIG_AUX_DIR([config]) AC_CONFIG_MACRO_DIR([m4]) +AC_REQUIRE_AUX_FILE([tap-driver.sh]) AC_DEFINE([BT_VERSION_MAJOR], bt_version_major, [Babeltrace library major version]) AC_DEFINE([BT_VERSION_MINOR], bt_version_minor, [Babeltrace library minor version]) @@ -22,36 +51,89 @@ AC_DEFINE([BT_VERSION_EXTRA], ["]bt_version_extra["], [Babeltrace library extra AC_CANONICAL_TARGET AC_CANONICAL_HOST + +## ## +## Automake base setup ## +## ## + AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip tar-ustar nostdinc]) AM_MAINTAINER_MODE([enable]) # Enable silent rules if available (Introduced in AM 1.11) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) -AC_REQUIRE_AUX_FILE([tap-driver.sh]) -# Checks for C compiler +## ## +## OS specific defaults ## +## ## + +MINGW32=no +DEFAULT_ENABLE_DEBUG_INFO=yes +LT_NO_UNDEFINED="" +AS_CASE([$host_os], + [solaris*|darwin*], + [ + DEFAULT_ENABLE_DEBUG_INFO=no + ], + [cygwin*], + [ + DEFAULT_ENABLE_DEBUG_INFO=no + LT_NO_UNDEFINED="-no-undefined" + ], + [mingw*], + [ + MINGW32=yes + DEFAULT_ENABLE_DEBUG_INFO=no + LT_NO_UNDEFINED="-no-undefined" + ] +) + +AM_CONDITIONAL([BABELTRACE_BUILD_WITH_MINGW], [test "x$MINGW32" = "xyes"]) +AC_SUBST(LT_NO_UNDEFINED) + + +## ## +## C compiler checks ## +## ## + AC_USE_SYSTEM_EXTENSIONS AC_SYS_LARGEFILE + +# Choose the c compiler AC_PROG_CC -AC_PROG_CC_STDC -# Checks for programs. -AC_PROG_MAKE_SET -LT_INIT(win32-dll) -AC_PROG_MKDIR_P -AC_PROG_LN_S +# Make sure the c compiler supports C99 +AC_PROG_CC_C99([], [AC_MSG_ERROR([The compiler does not support C99])]) +# Make sure the c compiler supports __attributes__ AX_C___ATTRIBUTE__ -AS_IF([test "x$ax_cv___attribute__" = "xyes"], - [:], - [AC_MSG_ERROR([The compiler does not support __attribute__ extensions])]) +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])]) +# Make sur we have pthread support +AX_PTHREAD([], [AC_MSG_ERROR([Could not configure pthread support])]) + +# Checks for typedefs, structures, and compiler characteristics. +AC_C_INLINE +AC_C_TYPEOF +AC_TYPE_PID_T +AC_TYPE_SIZE_T +AC_TYPE_INT16_T +AC_TYPE_INT32_T +AC_TYPE_INT64_T +AC_TYPE_INT8_T +AC_TYPE_OFF_T +AC_TYPE_SSIZE_T +AC_TYPE_UINT16_T +AC_TYPE_UINT32_T +AC_TYPE_UINT64_T +AC_TYPE_UINT8_T +AC_CHECK_TYPES([ptrdiff_t]) -# Check linker option -AX_APPEND_LINK_FLAGS([-Wl,--no-as-needed], [LD_NO_AS_NEEDED]) -AC_SUBST([LD_NO_AS_NEEDED]) + +## ## +## Header checks ## +## ## AC_HEADER_STDBOOL AC_CHECK_HEADERS([ \ @@ -65,8 +147,30 @@ AC_CHECK_HEADERS([ \ netinet/in.h \ stddef.h \ sys/socket.h \ + sys/time.h ]) + +## ## +## Linker checks ## +## ## + +# Check if the linker supports no-as-needed +AX_APPEND_LINK_FLAGS([-Wl,--no-as-needed], [LD_NO_AS_NEEDED]) +AC_SUBST([LD_NO_AS_NEEDED]) + +# Initialize and configure libtool +LT_INIT([win32-dll]) + + +## ## +## Programs checks ## +## ## + +AC_PROG_MAKE_SET +AC_PROG_MKDIR_P +AC_PROG_LN_S + # set $IN_GIT_REPO if we're in the Git repository; the `bootstrap` file # is not distributed in tarballs AS_IF([test -f "$srcdir/bootstrap"], [in_git_repo=yes], [in_git_repo=no]) @@ -78,12 +182,12 @@ AX_PROG_BISON_VERSION([2.4], [have_bison=yes]) AS_IF([test "x$have_bison" != "xyes"], [ AS_IF([test "x$in_git_repo" = "xyes"], [ - AC_MSG_FAILURE([ + AC_MSG_FAILURE([dnl Bison >= 2.4 is required when building from the Git repository. You can set the YACC variable to override automatic detection. ]) ], [ - AC_MSG_WARN([ + AC_MSG_WARN([dnl Missing Bison >= 2.4. Note that the parser files are already built in this distribution tarball, so Bison is only needed if you intend to modify their sources. You can set the YACC variable to override automatic @@ -99,12 +203,12 @@ AX_PROG_FLEX_VERSION([2.5.35], [have_flex=yes]) AS_IF([test "x$have_flex" != "xyes"], [ AS_IF([test "x$in_git_repo" = "xyes"], [ - AC_MSG_FAILURE([ + AC_MSG_FAILURE([dnl Flex >= 2.5.35 is required when building from the Git repository. You can set the LEX variable to override automatic detection. ]) ], [ - AC_MSG_WARN([ + AC_MSG_WARN([dnl Missing Flex >= 2.5.35. Note that the lexer files are already built in this distribution tarball, so Flex is only needed if you intend to modify their sources. You can set the LEX variable to override automatic @@ -115,25 +219,18 @@ detection. AM_CONDITIONAL([HAVE_FLEX], [test "x$have_flex" = "xyes"]) -AM_PATH_GLIB_2_0(2.22.0, ,AC_MSG_ERROR([glib is required in order to compile BabelTrace - download it from ftp://ftp.gtk.org/pub/gtk]) , gmodule-no-export) +## ## +## Library checks ## +## ## # Check what libraries are required on this platform to link sockets programs. AX_LIB_SOCKET_NSL -# Checks for typedefs, structures, and compiler characteristics. -AC_C_INLINE -AC_TYPE_PID_T -AC_TYPE_SIZE_T -AC_TYPE_INT16_T -AC_TYPE_INT32_T -AC_TYPE_INT64_T -AC_TYPE_INT8_T -AC_TYPE_OFF_T -AC_TYPE_SSIZE_T -AC_TYPE_UINT16_T -AC_TYPE_UINT32_T -AC_TYPE_UINT64_T -AC_TYPE_UINT8_T +# Check for glib >= 2.22 with gmodule support +AM_PATH_GLIB_2_0([2.22.0], [], + AC_MSG_ERROR([glib >= 2.22 is required - download it from ftp://ftp.gtk.org/pub/gtk]), + [gmodule-no-export] +) # Checks for library functions. AC_FUNC_ALLOCA @@ -141,6 +238,7 @@ AC_FUNC_FORK AC_FUNC_MKTIME AC_FUNC_MMAP AC_FUNC_STRERROR_R +AC_FUNC_STRNLEN AC_CHECK_FUNCS([ \ atexit \ dup2 \ @@ -163,6 +261,7 @@ AC_CHECK_FUNCS([ \ strndup \ strnlen \ strrchr \ + strstr \ strtoul \ strtoull \ tzset \ @@ -173,30 +272,6 @@ AC_CHECK_FUNCS([ \ #AC_FUNC_MALLOC #AC_FUNC_REALLOC -MINGW32=no -DEFAULT_ENABLE_DEBUG_INFO=yes -LT_NO_UNDEFINED="" -AS_CASE([$host_os], - [solaris*|darwin*], - [ - DEFAULT_ENABLE_DEBUG_INFO=no - ], - [cygwin*], - [ - DEFAULT_ENABLE_DEBUG_INFO=no - LT_NO_UNDEFINED="-no-undefined" - ], - [mingw*], - [ - MINGW32=yes - DEFAULT_ENABLE_DEBUG_INFO=no - LT_NO_UNDEFINED="-no-undefined" - ] -) - -AM_CONDITIONAL([BABELTRACE_BUILD_WITH_MINGW], [test "x$MINGW32" = "xyes"]) -AC_SUBST(LT_NO_UNDEFINED) - # First, check for uuid in system libs AH_TEMPLATE([BABELTRACE_HAVE_LIBUUID], [Define if you have libuuid support]) AC_CHECK_FUNCS([uuid_generate], @@ -229,9 +304,9 @@ AC_CHECK_FUNCS([uuid_generate], ], [ # for MinGW32 we have our own internal implementation of uuid using Windows functions. - if test "x$MINGW32" = xno; then - AC_MSG_FAILURE([Cannot find libuuid uuid_generate nor libc uuid_create. Either set PKG_CONFIG_PATH to the configuration file location or use LDFLAGS=-Ldir to specify the library location]) - fi + AS_IF([test "x$MINGW32" = xno], + [AC_MSG_FAILURE([Cannot find libuuid uuid_generate nor libc uuid_create. Either set PKG_CONFIG_PATH to the configuration file location or use LDFLAGS=-Ldir to specify the library location])] + ) ] ) ] @@ -244,23 +319,17 @@ AC_SUBST(UUID_LIBS) # Check for fmemopen AC_CHECK_LIB([c], [fmemopen], -[ - AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_FMEMOPEN], 1, [Has fmemopen support.]) -] + [AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_FMEMOPEN], 1, [Has fmemopen support.])] ) # Check for open_memstream AC_CHECK_LIB([c], [open_memstream], -[ - AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_OPEN_MEMSTREAM], 1, [Has open_memstream support.]) -] + [AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_OPEN_MEMSTREAM], 1, [Has open_memstream support.])] ) # Check for posix_fallocate AC_CHECK_LIB([c], [posix_fallocate], -[ - AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_POSIX_FALLOCATE], 1, [Has posix_fallocate support.]) -] + [AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_POSIX_FALLOCATE], 1, [Has posix_fallocate support.])] ) # Check libpopt @@ -282,56 +351,183 @@ PKG_CHECK_MODULES([POPT], [popt], ) AC_SUBST(POPT_LIBS) -# Plugins + +## ## +## User variables ## +## ## + +AC_ARG_VAR([PYTHON_INCLUDE], [Include flags for Python, bypassing python-config]) +AC_ARG_VAR([PYTHON_LIBS], [Library flags for Python, bypassing python-config]) +AC_ARG_VAR([PYTHON_CONFIG], [Path to python-config]) + +# PLUGINSDIR: Plugins directory AC_ARG_VAR([PLUGINSDIR], [built-in plugins install directory [LIBDIR/babeltrace/plugins]]) AS_IF([test "x$PLUGINSDIR" = x], [PLUGINSDIR='$(libdir)/babeltrace/plugins']) -# For Python -# SWIG version needed or newer: -swig_version=2.0.0 +# BABELTRACE_MINIMAL_LOG_LEVEL: +AC_ARG_VAR([BABELTRACE_MINIMAL_LOG_LEVEL], [Minimal log level for Babeltrace program, library, and plugins (VERBOSE, DEBUG, INFO, WARN, ERROR (default), FATAL, or NONE)]) +AS_IF([test "x$BABELTRACE_MINIMAL_LOG_LEVEL" = x], [BABELTRACE_MINIMAL_LOG_LEVEL="VERBOSE"]) +AS_IF([test "$BABELTRACE_MINIMAL_LOG_LEVEL" != "VERBOSE" && \ + test "$BABELTRACE_MINIMAL_LOG_LEVEL" != "DEBUG" && \ + test "$BABELTRACE_MINIMAL_LOG_LEVEL" != "INFO" && \ + test "$BABELTRACE_MINIMAL_LOG_LEVEL" != "WARN" && \ + test "$BABELTRACE_MINIMAL_LOG_LEVEL" != "ERROR" && \ + test "$BABELTRACE_MINIMAL_LOG_LEVEL" != "FATAL" && \ + test "$BABELTRACE_MINIMAL_LOG_LEVEL" != "NONE"], + [AC_MSG_ERROR([Invalid BABELTRACE_MINIMAL_LOG_LEVEL value ($BABELTRACE_MINIMAL_LOG_LEVEL): use VERBOSE, DEBUG, INFO, WARN, ERROR, FATAL, or NONE.])] +) +AC_DEFINE_UNQUOTED([BT_LOG_LEVEL], [BT_LOG_$BABELTRACE_MINIMAL_LOG_LEVEL], [Minimal log level]) + + +## ## +## Optionnal features selection ## +## ## +# Python bindings +# Disabled by default AC_ARG_ENABLE([python-bindings], - [AC_HELP_STRING([--enable-python-bindings], - [generate Python bindings])], - [enable_python_bindings=$enableval], [enable_python_bindings=no]) - -AM_CONDITIONAL([USE_PYTHON], [test "x${enable_python_bindings:-yes}" = xyes]) - -AC_ARG_ENABLE( - [python-plugins], - [AC_HELP_STRING( - [--enable-python-plugins], - [add support for the Babeltrace library and converter to load Python plugins]) - ], - [enable_python_plugins=$enableval], - [enable_python_plugins=no] + [AC_HELP_STRING([--enable-python-bindings], [build the Python bindings])], + [], dnl AC_ARG_ENABLE will fill enable_python_bindings with the user choice + [enable_python_bindings=no] +) + +# Python bindings documentation +# Disabled by default +AC_ARG_ENABLE([python-bindings-doc], + [AC_HELP_STRING([--enable-python-bindings-doc], [build the Python bindings documentation])], + [], dnl AC_ARG_ENABLE will fill enable_python_bindings_doc with the user choice + [enable_python_bindings_doc=no] +) + +# Python bindings tests +# Disabled by default +AC_ARG_ENABLE([python-bindings-tests], + [AC_HELP_STRING([--enable-python-bindings-tests], [run the Python bindings tests])], + [], dnl AC_ARG_ENABLE will fill enable_python_bindings_tests with the user choice + [enable_python_bindings_tests=no] +) + +# Python plugins +# Disabled by default +AC_ARG_ENABLE([python-plugins], + [AC_HELP_STRING([--enable-python-plugins], [enable the Python plugins support for the library and converter])], + [], dnl AC_ARG_ENABLE will fill enable_python_plugins with the user choice + [enable_python_plugins=no] +) + +# Debug info +# Enabled by default, except on some platforms +AC_ARG_ENABLE([debug-info], + [AC_HELP_STRING([--disable-debug-info], [disable the debug info support (default on macOS, Solaris and Windows)])], + [], dnl AC_ARG_ENABLE will fill enable_debug_info with the user choice + [enable_debug_info="$DEFAULT_ENABLE_DEBUG_INFO"] +) + +# API documentation +# Disabled by default +AC_ARG_ENABLE([api-doc], + [AC_HELP_STRING([--enable-api-doc], [build the HTML API documentation])], + [enable_api_doc=$enableval], + [enable_api_doc=no] +) + +# Built-in plugins +# Disabled by default +AC_ARG_ENABLE([built-in-plugins], + [AC_HELP_STRING([--enable-built-in-plugins], [Statically-link in-tree plug-ins into the babeltrace binary])], + [], dnl AC_ARG_ENABLE will fill enable_built_in_plugins with the user choice + [enable_built_in_plugins=no] +) + +# Built-in python plugin support +# Disabled by default +AC_ARG_ENABLE([built-in-python-plugin-support], + [AC_HELP_STRING([--enable-built-in-python-plugin-support], [Statically-link Python plugin support into the babeltrace library])], + [], dnl AC_ARG_ENABLE will fill enable_built_in_python_plugin_support with the user choice + [enable_built_in_python_plugin_support=no] +) + + +# Set automake variables for optionnal feature conditionnals in Makefile.am +AM_CONDITIONAL([ENABLE_PYTHON_BINDINGS], [test "x$enable_python_bindings" = xyes]) +AM_CONDITIONAL([ENABLE_PYTHON_BINDINGS_DOC], [test "x$enable_python_bindings_doc" = xyes]) +AM_CONDITIONAL([ENABLE_PYTHON_BINDINGS_TESTS], [test "x$enable_python_bindings_tests" = xyes]) +AM_CONDITIONAL([ENABLE_PYTHON_PLUGINS], [test "x$enable_python_plugins" = xyes]) +AM_CONDITIONAL([ENABLE_DEBUG_INFO], [test "x$enable_debug_info" = xyes]) +AM_CONDITIONAL([ENABLE_API_DOC], [test "x$enable_api_doc" = xyes]) +AM_CONDITIONAL([ENABLE_BUILT_IN_PLUGINS], [test "x$enable_built_in_plugins" = xyes]) +AM_CONDITIONAL([ENABLE_BUILT_IN_PYTHON_PLUGIN_SUPPORT], [test "x$enable_built_in_python_plugin_support" = xyes]) + + +# Set defines for optionnal features conditionnals in the source code + +## jgalar: still used? +AS_IF([test "x$enable_python_plugins" = xyes], + [AC_DEFINE([PYTHON_PLUGINS], [1], [Python plugin support.])] +) + +AS_IF([test "x$enable_debug_info" = xyes], + [AC_DEFINE([ENABLE_DEBUG_INFO], [1], [Define to 1 if you enable the 'debug info' feature])] +) + +AS_IF([test "x$enable_built_in_plugins" = xyes], + [AC_DEFINE([BT_BUILT_IN_PLUGINS], [1], [Define to 1 to register plug-in attributes in static executable sections])] +) + +AS_IF([test "x$enable_built_in_python_plugin_support" = xyes], + [AC_DEFINE([BT_BUILT_IN_PYTHON_PLUGIN_SUPPORT], [1], [Define to 1 to register plug-in attributes in static executable sections])] +) + + +# Check for conflicting optionnal features user choices + +AS_IF([test "x$enable_python_bindings" = xno], + [ + AS_IF([test "x$enable_python_bindings_doc" = xyes], [AC_MSG_ERROR([--enable-python-bindings-doc was specified without --enable-python-bindings])]) + AS_IF([test "x$enable_python_bindings_tests" = xyes], AC_MSG_ERROR([--enable-python-bindings-tests was specified without --enable-python-bindings])) + ] +) + +AS_IF([test "x$enable_built_in_plugins" = xyes], + [ + # Built-in plug-ins are only available when the --disable-shared --enable-static options are used. + AS_IF([test "x$enable_static" != xyes], [AC_MSG_ERROR(--enable-static must be used to bundle plug-ins in the babeltrace executable)]) + AS_IF([test "x$enable_shared" = xyes], [AC_MSG_ERROR(--disable-shared must be used to bundle plug-ins in the babeltrace executable)]) + ] +) + +AS_IF([test "x$enable_built_in_python_plugin_support" = xyes], + [ + AS_IF([test "x$enable_python_plugins" = xno], [AC_MSG_ERROR([--enable-python-plugins must be used to bundle Python plugin support in the babeltrace executable])]) + # Built-in plug-ins are only available when the --disable-shared --enable-static options are used. + AS_IF([test "x$enable_static" != xyes], [AC_MSG_ERROR(--enable-static must be used to bundle Python plugin support in the babeltrace executable)]) + AS_IF([test "x$enable_shared" = xyes], [AC_MSG_ERROR(--disable-shared must be used to bundle Python plugin support in the babeltrace executable)]) + ] ) -if test "x${enable_python_bindings:-yes}" = xyes; then - AX_PKG_SWIG($swig_version, [], [ AC_MSG_ERROR([SWIG $swig_version or newer is needed]) ]) -else - AC_MSG_NOTICE([You may configure with --enable-python-bindings ]dnl -[if you want Python bindings.]) -fi -if test "x$enable_python_bindings" != xno || test "x$enable_python_plugins" != xno; then - AM_PATH_PYTHON([3.0], , [AC_MSG_ERROR(Python 3 is not available or is not the default Python interpreter on your system. See the README file to learn how to override your distribution's default Python interpreter.)]) +# Check for optionnal features dependencies + +AS_IF([test "x$enable_python_bindings" = xyes], + [AX_PKG_SWIG(2.0.0, [], [AC_MSG_ERROR([SWIG 2.0.0 or newer is required to build the python bindings])])] +) + +AS_IF([test "x$enable_python_bindings" = xyes || test "x$enable_python_plugins" = xyes], + [ + AM_PATH_PYTHON([3.0], [], [AC_MSG_ERROR(Python 3 is not available or is not the default Python interpreter on your system. See the README file to learn how to override your distribution's default Python interpreter.)]) AM_PATH_PYTHON_MODULES([PYTHON]) # pythondir is the path where extra modules are to be installed pythondir=$PYTHON_PREFIX/$PYTHON_MODULES_PATH # pyexecdir is the path that contains shared objects used by the extra modules pyexecdir=$PYTHON_EXEC_PREFIX/$PYTHON_MODULES_PATH - AC_ARG_VAR([PYTHON_INCLUDE], [Include flags for Python, bypassing python-config]) - AC_ARG_VAR([PYTHON_LIBS], [Library flags for Python, bypassing python-config]) - AC_ARG_VAR([PYTHON_CONFIG], [Path to python-config]) AS_IF([test -z "$PYTHON_INCLUDE"], [ AS_IF([test -z "$PYTHON_CONFIG"], [ AC_PATH_PROGS([PYTHON_CONFIG], [python$PYTHON_VERSION-config python-config], [no], [`dirname $PYTHON`]) - AS_IF([test "$PYTHON_CONFIG" = no], [AC_MSG_ERROR([cannot find python-config for $PYTHON. Do you have python-dev installed?])]) + AS_IF([test "$PYTHON_CONFIG" = no], [AC_MSG_ERROR([cannot find python-config for $PYTHON. Is python-dev installed?])]) ]) AC_MSG_CHECKING([Python include flags]) PYTHON_INCLUDE=`$PYTHON_CONFIG --includes` @@ -343,170 +539,78 @@ if test "x$enable_python_bindings" != xno || test "x$enable_python_plugins" != x [python$PYTHON_VERSION-config python-config], [no], [`dirname $PYTHON`]) - AS_IF([test "$PYTHON_CONFIG" = no], [AC_MSG_ERROR([cannot find python-config for $PYTHON. Do you have python-dev installed?])]) + AS_IF([test "$PYTHON_CONFIG" = no], [AC_MSG_ERROR([cannot find python-config for $PYTHON. Is python-dev installed?])]) ]) AC_MSG_CHECKING([Python library flags]) PYTHON_LIBS=`$PYTHON_CONFIG --libs` AC_MSG_RESULT([$PYTHON_LIBS]) ]) -fi - -AS_IF([test "x$BUILT_IN_PLUGINS" = ""]) - -AM_CONDITIONAL([WITH_PYTHON_PLUGINS], [test "x$enable_python_plugins" != xno]) -AS_IF( - [test "x$enable_python_plugins" != xno], - AC_DEFINE_UNQUOTED([WITH_PYTHON_PLUGINS], [1], [Python plugin support.]) + ] ) -AC_ARG_ENABLE([python-bindings-doc], - [AC_HELP_STRING([--enable-python-bindings-doc], - [generate Python bindings documentation])], - [enable_python_bindings_doc=$enableval], [enable_python_bindings_doc=no]) - -AM_CONDITIONAL([BUILD_PYTHON_BINDINGS_DOC], [test "x${enable_python_bindings_doc:-yes}" = xyes]) - -AC_ARG_ENABLE([python-bindings-tests], - [AC_HELP_STRING([--enable-python-bindings-tests], - [test Python bindings])], - [enable_python_bindings_tests=$enableval], [enable_python_bindings_tests=no]) - -AM_CONDITIONAL([ENABLE_PYTHON_BINDINGS_TESTS], [test "x${enable_python_bindings_tests:-yes}" = xyes]) - -if test "x${enable_python_bindings:-no}" = xno; then - if test "x${enable_python_bindings_doc:-yes}" = xyes; then - AC_MSG_ERROR([--enable-python-bindings-doc was specified without --enable-python-bindings]) - fi - - if test "x${enable_python_bindings_tests:-yes}" = xyes; then - AC_MSG_ERROR([--enable-python-bindings-tests was specified without --enable-python-bindings]) - fi -fi - -if test "x${enable_python_bindings_doc:-yes}" = xyes; then +AS_IF([test "x$enable_python_bindings_doc" = xyes], + [ AM_CHECK_PYTHON_SPHINX([PYTHON]) AS_IF([test "x$PYTHON_SPHINX_EXISTS" = xno], - AC_MSG_ERROR([The Sphinx package for Python 3 is required to build Python bindings documentation]) + [AC_MSG_ERROR([The Sphinx package for Python 3 is required to build the Python bindings documentation])] ) -fi + ] +) -if test "x${enable_python_bindings_tests:-yes}" = xyes; then +AS_IF([test "x$enable_python_bindings_tests" = xyes], + [ AM_CHECK_PYTHON_TAPPY([PYTHON]) AS_IF([test "x$PYTHON_TAPPY_EXISTS" = xno], - AC_MSG_ERROR([You need the tappy Python project to test the Python bindings (see )]) + [AC_MSG_ERROR([You need the tappy Python project to test the Python bindings (see )])] ) -fi - -# Set default enable state for debug info. -# The _enable_debug_info variable is prepended with an underscore to -# avoid clashing with the one generated by AC_ARG_ENABLE. -AS_IF([test "x$DEFAULT_ENABLE_DEBUG_INFO" = xyes], [_enable_debug_info=yes], [_enable_debug_info=no]) + ] +) -# Optional debug info feature -# Do _not_ indent the help string below (appears in the configure --help -# output). -AC_ARG_ENABLE([debug-info], -[AC_HELP_STRING([--enable-debug-info], [enable the debug info feature (default on Linux)])] -[AC_HELP_STRING([--disable-debug-info], [disable the debug info feature (default on OS X and Solaris)])], - [AS_IF([test "x$enableval" = xyes], [_enable_debug_info=yes], [_enable_debug_info=no])], []) - -AM_CONDITIONAL([ENABLE_DEBUG_INFO], [test "x$_enable_debug_info" = xyes]) - -AS_IF([test "x$_enable_debug_info" = xyes], [ - # Check if libelf and libdw are present - AC_CHECK_LIB([elf], [elf_version], [], [AC_MSG_ERROR(Missing libelf (from elfutils >= 0.154) which is required by debug info. You can disable this feature using --disable-debug-info.)]) - AC_CHECK_LIB([dw], [dwarf_begin], [], [AC_MSG_ERROR(Missing libdw (from elfutils >= 0.154) which is required by debug info. You can disable this feature using --disable-debug-info.)]) - BT_LIB_ELFUTILS([0], [154], [:], [AC_MSG_ERROR(elfutils >= 0.154 is required to use the debug info feature. You can disable this feature using --disable-debug-info.)]) - AC_DEFINE([ENABLE_DEBUG_INFO], [1], [Define to 1 if you enable the 'debug info' feature]) -], []) - -AC_ARG_VAR([BUILT_IN_PLUGINS], [Statically-link in-tree plug-ins into the babeltrace binary]) -AS_IF([test "x$BUILT_IN_PLUGINS" != x], [ -# Built-in plug-ins are only available when the --disable-shared --enable-static options are used. - AS_IF([test "x$enable_static" != "xyes"], [AC_MSG_ERROR(--enable-static must be used to bundle plug-ins in the babeltrace executable)]) - AS_IF([test "x$enable_shared" = "xyes"], [AC_MSG_ERROR(--disable-shared must be used to bundle plug-ins in the babeltrace executable)]) - built_in_plugins=yes - AC_DEFINE([BT_BUILT_IN_PLUGINS], [1], [Define to 1 to register plug-in attributes in static executable sections]) -]) -AM_CONDITIONAL([BUILT_IN_PLUGINS], [test "x$built_in_plugins" = "xyes"]) - -AC_ARG_VAR([BUILT_IN_PYTHON_PLUGIN_SUPPORT], [Statically-link Python plugin support into the babeltrace library]) -AS_IF([test "x$BUILT_IN_PYTHON_PLUGIN_SUPPORT" != x], [ -# Built-in plug-ins are only available when the --disable-shared --enable-static options are used. - AS_IF([test "x$enable_static" != "xyes"], [AC_MSG_ERROR(--enable-static must be used to bundle Python plugin support in the babeltrace executable)]) - AS_IF([test "x$enable_shared" = "xyes"], [AC_MSG_ERROR(--disable-shared must be used to bundle Python plugin support in the babeltrace executable)]) - AS_IF([test "x$enable_python_plugins" = "xno"], [ - AC_MSG_ERROR([You can't use BUILT_IN_PYTHON_PLUGIN_SUPPORT=1 without --enable-python-plugins.]) - ]) - built_in_python_plugin_support=yes - AC_DEFINE([BT_BUILT_IN_PYTHON_PLUGIN_SUPPORT], [1], [Define to 1 to register plug-in attributes in static executable sections]) -]) -AM_CONDITIONAL([BUILT_IN_PYTHON_PLUGIN_SUPPORT], [test "x$built_in_python_plugin_support" = "xyes"]) +AS_IF([test "x$enable_debug_info" = xyes], + [ + # Check if libelf and libdw are present + AC_CHECK_LIB([elf], [elf_version], [], [AC_MSG_ERROR(Missing libelf (from elfutils >= 0.154) which is required by debug info. You can disable this feature using --disable-debug-info.)]) + AC_CHECK_LIB([dw], [dwarf_begin], [], [AC_MSG_ERROR(Missing libdw (from elfutils >= 0.154) which is required by debug info. You can disable this feature using --disable-debug-info.)]) + BT_LIB_ELFUTILS([0], [154], [:], [AC_MSG_ERROR(elfutils >= 0.154 is required to use the debug info feature. You can disable this feature using --disable-debug-info.)]) + ] +) -PKG_CHECK_MODULES(GMODULE, [gmodule-no-export-2.0 >= 2.0.0]) +AS_IF([test "x$enable_api_doc" = "xyes"], + [ + DX_DOXYGEN_FEATURE(ON) + DX_DOT_FEATURE(OFF) + DX_HTML_FEATURE(ON) + DX_CHM_FEATURE(OFF) + DX_CHI_FEATURE(OFF) + DX_MAN_FEATURE(OFF) + DX_RTF_FEATURE(OFF) + DX_XML_FEATURE(OFF) + DX_PDF_FEATURE(OFF) + DX_PS_FEATURE(OFF) + DX_INIT_DOXYGEN([Babeltrace], [$(srcdir)/Doxyfile], [output]) + AS_IF([test -z "$DX_DOXYGEN"], + [AC_MSG_ERROR([You need doxygen to enable the API documentation])] + ) + ] +) -# Logging -AC_ARG_VAR([BABELTRACE_MINIMAL_LOG_LEVEL], [Minimal log level for Babeltrace program, library, and plugins (VERBOSE, DEBUG, INFO, WARN, ERROR (default), FATAL, or NONE)]) -AS_IF([test "x$BABELTRACE_MINIMAL_LOG_LEVEL" = "x"], [BABELTRACE_MINIMAL_LOG_LEVEL=VERBOSE]) -AS_IF([test "$BABELTRACE_MINIMAL_LOG_LEVEL" != "VERBOSE" && test "$BABELTRACE_MINIMAL_LOG_LEVEL" != "DEBUG" && test "$BABELTRACE_MINIMAL_LOG_LEVEL" != "INFO" && test "$BABELTRACE_MINIMAL_LOG_LEVEL" != "WARN" && test "$BABELTRACE_MINIMAL_LOG_LEVEL" != "ERROR" && test "$BABELTRACE_MINIMAL_LOG_LEVEL" != "FATAL" && test "$BABELTRACE_MINIMAL_LOG_LEVEL" != "NONE"], [ - AC_MSG_ERROR([Invalid BABELTRACE_MINIMAL_LOG_LEVEL value ($BABELTRACE_MINIMAL_LOG_LEVEL): use VERBOSE, DEBUG, INFO, WARN, ERROR, FATAL, or NONE.]) -]) -AC_DEFINE_UNQUOTED([BT_LOG_LEVEL], [BT_LOG_$BABELTRACE_MINIMAL_LOG_LEVEL], [Minimal log level]) +# Set global CFLAGS in AM_CFLAGS AM_CFLAGS="-Wall -Wformat $PTHREAD_CFLAGS $GLIB_CFLAGS" AC_SUBST(AM_CFLAGS) +# Set global CPPFLAGS in AM_CPPFLAGS AM_CPPFLAGS="-I\$(top_builddir)/include -I\$(top_srcdir)/include -include config.h" AC_SUBST(AM_CPPFLAGS) +# Add glib to global link libs LIBS="$GLIB_LIBS" -babeltraceincludedir="${includedir}/babeltrace" -AC_SUBST(babeltraceincludedir) - -babeltracectfwriterincludedir="${includedir}/babeltrace/ctf-writer" -AC_SUBST(babeltracectfwriterincludedir) - -babeltracectfincludedir="${includedir}/babeltrace/ctf" -AC_SUBST(babeltracectfincludedir) - -babeltracectfirincludedir="${includedir}/babeltrace/ctf-ir" -AC_SUBST(babeltracectfirincludedir) - -babeltracepluginincludedir="${includedir}/babeltrace/plugin" -AC_SUBST(babeltracepluginincludedir) - -babeltracegraphincludedir="${includedir}/babeltrace/graph" -AC_SUBST(babeltracegraphincludedir) - +# Abuse autoconf's AC_ARG_PROGRAM output variable 'program_transform_name' +# to rename babeltrace.bin to babeltrace at install time. program_transform_name="s&babeltrace\.bin&babeltrace&;s&babeltrace-log\.bin&babeltrace-log&;$program_transform_name" AC_SUBST(program_transform_name) -# check for Doxygen -AC_ARG_ENABLE( - [api-doc], - [AC_HELP_STRING( - [--enable-api-doc], - [generate and install HTML API documentation] - )], - [enable_api_doc=$enableval], - [enable_api_doc=no] -) -AM_CONDITIONAL([ENABLE_API_DOC], [test "x$enable_api_doc" = "xyes"]) - -AS_IF([test "x$enable_api_doc" = "xyes"], [ - DX_DOXYGEN_FEATURE(ON) - DX_DOT_FEATURE(OFF) - DX_HTML_FEATURE(ON) - DX_CHM_FEATURE(OFF) - DX_CHI_FEATURE(OFF) - DX_MAN_FEATURE(OFF) - DX_RTF_FEATURE(OFF) - DX_XML_FEATURE(OFF) - DX_PDF_FEATURE(OFF) - DX_PS_FEATURE(OFF) - DX_INIT_DOXYGEN([Babeltrace], [$(srcdir)/Doxyfile], [output]) -]) #TODO: removed, work in progress #bindings/python/Makefile @@ -558,7 +662,7 @@ AC_CONFIG_FILES([ plugins/ctf/fs-sink/Makefile plugins/ctf/lttng-live/Makefile plugins/text/Makefile - plugins/text/dmesg/Makefile + plugins/text/dmesg/Makefile plugins/text/pretty/Makefile plugins/utils/Makefile plugins/utils/dummy/Makefile @@ -572,32 +676,26 @@ AC_CONFIG_FILES([ babeltrace-ctf.pc ]) -#AC_CONFIG_FILES([converter/babeltrace], [chmod +x converter/babeltrace]) -AC_CONFIG_FILES([tests/lib/test_ctf_writer_complete], [chmod +x tests/lib/test_ctf_writer_complete]) -AC_CONFIG_FILES([tests/lib/test_plugin_complete], [chmod +x tests/lib/test_plugin_complete]) -AC_CONFIG_FILES([tests/lib/test_dwarf_complete], [chmod +x tests/lib/test_dwarf_complete]) -AC_CONFIG_FILES([tests/lib/test_bin_info_complete], [chmod +x tests/lib/test_bin_info_complete]) - -AC_CONFIG_FILES([tests/plugins/test-utils-muxer-complete], [chmod +x tests/plugins/test-utils-muxer-complete]) - -AC_CONFIG_FILES([tests/cli/test_trace_read], [chmod +x tests/cli/test_trace_read]) -AC_CONFIG_FILES([tests/cli/test_trace_copy], [chmod +x tests/cli/test_trace_copy]) -AC_CONFIG_FILES([tests/cli/test_debug_info], [chmod +x tests/cli/test_debug_info]) -AC_CONFIG_FILES([tests/cli/test_trimmer], [chmod +x tests/cli/test_trimmer]) +AC_CONFIG_FILES([tests/cli/intersection/bt_python_helper.py]) AC_CONFIG_FILES([tests/cli/intersection/test_intersection], [chmod +x tests/cli/intersection/test_intersection]) AC_CONFIG_FILES([tests/cli/test_convert_args], [chmod +x tests/cli/test_convert_args]) -AC_CONFIG_FILES([tests/cli/intersection/bt_python_helper.py]) +AC_CONFIG_FILES([tests/cli/test_debug_info], [chmod +x tests/cli/test_debug_info]) +AC_CONFIG_FILES([tests/cli/test_packet_seq_num], [chmod +x tests/cli/test_packet_seq_num]) +AC_CONFIG_FILES([tests/cli/test_trace_copy], [chmod +x tests/cli/test_trace_copy]) +AC_CONFIG_FILES([tests/cli/test_trace_read], [chmod +x tests/cli/test_trace_read]) +AC_CONFIG_FILES([tests/cli/test_trimmer], [chmod +x tests/cli/test_trimmer]) +AC_CONFIG_FILES([tests/lib/test_bin_info_complete], [chmod +x tests/lib/test_bin_info_complete]) +AC_CONFIG_FILES([tests/lib/test_ctf_writer_complete], [chmod +x tests/lib/test_ctf_writer_complete]) +AC_CONFIG_FILES([tests/lib/test_dwarf_complete], [chmod +x tests/lib/test_dwarf_complete]) +AC_CONFIG_FILES([tests/lib/test_plugin_complete], [chmod +x tests/lib/test_plugin_complete]) AC_CONFIG_FILES([tests/lib/writer/bt_python_helper.py]) AC_CONFIG_FILES([tests/lib/writer/test_ctf_writer_empty_packet.py]) AC_CONFIG_FILES([tests/lib/writer/test_ctf_writer_no_packet_context.py]) -AC_CONFIG_FILES([tests/cli/test_packet_seq_num], [chmod +x tests/cli/test_packet_seq_num]) +AC_CONFIG_FILES([tests/plugins/test-utils-muxer-complete], [chmod +x tests/plugins/test-utils-muxer-complete]) -AS_IF([test "x$enable_python" = "xyes"], [ - AC_CONFIG_FILES( - [tests/bindings/python/bt2/testall.sh], - [chmod +x tests/bindings/python/bt2/testall.sh] - ) -]) +AS_IF([test "x$enable_python" = xyes], + [AC_CONFIG_FILES([tests/bindings/python/bt2/testall.sh], [chmod +x tests/bindings/python/bt2/testall.sh])] +) AC_OUTPUT @@ -643,16 +741,16 @@ AS_IF([test "x$enable_python_bindings" = "xyes" || test "x$enable_python_plugins AS_ECHO PPRINT_SUBTITLE([Plugins]) PPRINT_PROP_BOOL(['ctf' plugin], 1) -test "x$_enable_debug_info" = "xyes" && value=1 || value=0 +test "x$enable_debug_info" = "xyes" && value=1 || value=0 PPRINT_PROP_BOOL(['lttng-utils' plugin], $value) PPRINT_PROP_BOOL(['text' plugin], 1) PPRINT_PROP_BOOL(['utils' plugin], 1) AS_ECHO PPRINT_SUBTITLE([Built-in features]) -test "x$built_in_plugins" = "xyes" && value=1 || value=0 +test "x$enable_built_in_plugins" = "xyes" && value=1 || value=0 PPRINT_PROP_BOOL([Built-in plugins], $value) -test "x$built_in_python_plugin_support" = "xyes" && value=1 || value=0 +test "x$enable_built_in_python_plugin_support" = "xyes" && value=1 || value=0 PPRINT_PROP_BOOL([Built-in Python plugin support], $value) AS_ECHO diff --git a/doc/bindings/Makefile.am b/doc/bindings/Makefile.am index b446d19c..c866abd0 100644 --- a/doc/bindings/Makefile.am +++ b/doc/bindings/Makefile.am @@ -1,3 +1,3 @@ -if BUILD_PYTHON_BINDINGS_DOC +if ENABLE_PYTHON_BINDINGS_DOC SUBDIRS = python endif diff --git a/include/Makefile.am b/include/Makefile.am index 387ab5e6..f9293210 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -1,4 +1,5 @@ # Core API +babeltraceincludedir = "$(includedir)/babeltrace" babeltraceinclude_HEADERS = \ babeltrace/babeltrace.h \ babeltrace/values.h \ @@ -8,10 +9,12 @@ babeltraceinclude_HEADERS = \ babeltrace/types.h # Legacy API (for CTF writer) +babeltracectfincludedir = "$(includedir)/babeltrace/ctf" babeltracectfinclude_HEADERS = \ babeltrace/ctf/events.h # CTF writer API +babeltracectfwriterincludedir = "$(includedir)/babeltrace/ctf-writer" babeltracectfwriterinclude_HEADERS = \ babeltrace/ctf-writer/clock.h \ babeltrace/ctf-writer/writer.h \ @@ -22,6 +25,7 @@ babeltracectfwriterinclude_HEADERS = \ babeltrace/ctf-writer/stream-class.h # CTF IR API +babeltracectfirincludedir = "$(includedir)/babeltrace/ctf-ir" babeltracectfirinclude_HEADERS = \ babeltrace/ctf-ir/clock-class.h \ babeltrace/ctf-ir/fields.h \ @@ -37,11 +41,13 @@ babeltracectfirinclude_HEADERS = \ babeltrace/ctf-ir/visitor.h # Plugin and plugin development API +babeltracepluginincludedir = "$(includedir)/babeltrace/plugin" babeltraceplugininclude_HEADERS = \ babeltrace/plugin/plugin.h \ babeltrace/plugin/plugin-dev.h # Graph, component, and notification API +babeltracegraphincludedir = "$(includedir)/babeltrace/graph" babeltracegraphinclude_HEADERS = \ babeltrace/graph/clock-class-priority-map.h \ babeltrace/graph/component-class-filter.h \ diff --git a/lib/Makefile.am b/lib/Makefile.am index 5ae2be42..4f89b42d 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -16,7 +16,7 @@ libbabeltrace_la_LIBADD = \ $(top_builddir)/common/libbabeltrace-common.la \ $(top_builddir)/compat/libcompat.la -if BUILT_IN_PYTHON_PLUGIN_SUPPORT +if ENABLE_BUILT_IN_PYTHON_PLUGIN_SUPPORT libbabeltrace_la_LIBADD += $(top_builddir)/python-plugin-provider/libbabeltrace-python-plugin-provider.la endif diff --git a/plugins/ctf/Makefile.am b/plugins/ctf/Makefile.am index ab646a1b..110f9bbe 100644 --- a/plugins/ctf/Makefile.am +++ b/plugins/ctf/Makefile.am @@ -18,7 +18,7 @@ babeltrace_plugin_ctf_la_LIBADD = \ fs-sink/libbabeltrace-plugin-ctf-writer.la \ common/libbabeltrace-plugin-ctf-common.la -if !BUILT_IN_PLUGINS +if !ENABLE_BUILT_IN_PLUGINS babeltrace_plugin_ctf_la_LIBADD += \ $(top_builddir)/lib/libbabeltrace.la \ $(top_builddir)/logging/libbabeltrace-logging.la \ diff --git a/plugins/ctf/fs-sink/Makefile.am b/plugins/ctf/fs-sink/Makefile.am index 68c12aa5..269991a4 100644 --- a/plugins/ctf/fs-sink/Makefile.am +++ b/plugins/ctf/fs-sink/Makefile.am @@ -6,7 +6,7 @@ noinst_LTLIBRARIES = libbabeltrace-plugin-ctf-writer.la libbabeltrace_plugin_ctf_writer_la_LIBADD = libbabeltrace_plugin_ctf_writer_la_SOURCES = writer.c writer.h write.c -if !BUILT_IN_PLUGINS +if !ENABLE_BUILT_IN_PLUGINS libbabeltrace_plugin_ctf_writer_la_LIBADD += \ $(top_builddir)/plugins/libctfcopytrace/libctfcopytrace.la endif diff --git a/plugins/lttng-utils/Makefile.am b/plugins/lttng-utils/Makefile.am index c1cac4fb..0a01610f 100644 --- a/plugins/lttng-utils/Makefile.am +++ b/plugins/lttng-utils/Makefile.am @@ -29,7 +29,7 @@ babeltrace_plugin_lttng_utils_la_LDFLAGS = \ -avoid-version -module \ -lelf -ldw -if !BUILT_IN_PLUGINS +if !ENABLE_BUILT_IN_PLUGINS babeltrace_plugin_lttng_utils_la_LIBADD = \ $(top_builddir)/lib/libbabeltrace.la \ $(top_builddir)/common/libbabeltrace-common.la \ diff --git a/plugins/text/Makefile.am b/plugins/text/Makefile.am index ece30370..3dc5f3be 100644 --- a/plugins/text/Makefile.am +++ b/plugins/text/Makefile.am @@ -14,7 +14,7 @@ babeltrace_plugin_text_la_LIBADD = \ pretty/libbabeltrace-plugin-text-pretty-cc.la \ dmesg/libbabeltrace-plugin-text-dmesg-cc.la -if !BUILT_IN_PLUGINS +if !ENABLE_BUILT_IN_PLUGINS babeltrace_plugin_text_la_LIBADD += \ $(top_builddir)/lib/libbabeltrace.la \ $(top_builddir)/common/libbabeltrace-common.la \ diff --git a/plugins/utils/Makefile.am b/plugins/utils/Makefile.am index 3592d274..3872c4dc 100644 --- a/plugins/utils/Makefile.am +++ b/plugins/utils/Makefile.am @@ -15,7 +15,7 @@ babeltrace_plugin_utils_la_LIBADD = \ trimmer/libbabeltrace-plugin-trimmer.la \ muxer/libbabeltrace-plugin-muxer.la -if !BUILT_IN_PLUGINS +if !ENABLE_BUILT_IN_PLUGINS babeltrace_plugin_utils_la_LIBADD += \ $(top_builddir)/lib/libbabeltrace.la \ $(top_builddir)/plugins/libctfcopytrace/libctfcopytrace.la \ diff --git a/python-plugin-provider/Makefile.am b/python-plugin-provider/Makefile.am index 3eb9a5ef..68f7789c 100644 --- a/python-plugin-provider/Makefile.am +++ b/python-plugin-provider/Makefile.am @@ -11,7 +11,7 @@ libbabeltrace_python_plugin_provider_la_LDFLAGS = \ libbabeltrace_python_plugin_provider_la_LIBADD = -if !BUILT_IN_PLUGINS +if !ENABLE_BUILT_IN_PLUGINS libbabeltrace_python_plugin_provider_la_LIBADD += \ $(top_builddir)/logging/libbabeltrace-logging.la \ $(top_builddir)/common/libbabeltrace-common.la diff --git a/tests/Makefile.am b/tests/Makefile.am index 27c904ad..7ae72255 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -4,6 +4,6 @@ EXTRA_DIST = $(srcdir)/ctf-traces/** \ $(srcdir)/debug-info-data/** \ $(srcdir)/debug-info-data/.build-id/cd/** -if !BUILT_IN_PLUGINS +if !ENABLE_BUILT_IN_PLUGINS SUBDIRS += plugins endif diff --git a/tests/bindings/python/bt2/Makefile.am b/tests/bindings/python/bt2/Makefile.am index e540afc6..31dfbe4d 100644 --- a/tests/bindings/python/bt2/Makefile.am +++ b/tests/bindings/python/bt2/Makefile.am @@ -17,6 +17,6 @@ EXTRA_DIST = \ LOG_DRIVER_FLAGS='--merge' LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) $(top_srcdir)/config/tap-driver.sh -if USE_PYTHON +if ENABLE_PYTHON_BINDINGS TESTS = testall.sh endif diff --git a/tests/cli/Makefile.am b/tests/cli/Makefile.am index 923a2521..17eb6c0f 100644 --- a/tests/cli/Makefile.am +++ b/tests/cli/Makefile.am @@ -12,6 +12,6 @@ TESTS = test_trace_read \ test_debug_info \ test_trimmer -if USE_PYTHON +if ENABLE_PYTHON_BINDINGS TESTS += intersection/test_multi_trace_intersection.py endif diff --git a/tests/lib/Makefile.am b/tests/lib/Makefile.am index 80cf9775..511b8f37 100644 --- a/tests/lib/Makefile.am +++ b/tests/lib/Makefile.am @@ -88,13 +88,13 @@ TESTS += test_dwarf_complete \ test_bin_info_complete endif -if USE_PYTHON +if ENABLE_PYTHON_BINDINGS TESTS += writer/test_ctf_writer_no_packet_context.py \ writer/test_ctf_writer_empty_packet.py endif -if !BUILT_IN_PLUGINS +if !ENABLE_BUILT_IN_PLUGINS noinst_PROGRAMS += test_plugin test_plugin_LDADD = $(COMMON_TEST_LDADD) test_plugin_SOURCES = test_plugin.c -- 2.34.1