X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=configure.ac;h=dbb1744fe0ccb1a0e026468c6220b5bccb9bcfb5;hp=b161828ab55f16c42a1ce3109e0c227da7587e9e;hb=e08b9e07b43b305ee9f31690b5c27e5ae24f0078;hpb=97e67ce62f3c22ae37e6f31974f881fbb5cf3cb9 diff --git a/configure.ac b/configure.ac index b161828a..dbb1744f 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ AC_PREREQ([2.50]) -AC_INIT([babeltrace],[1.3.2],[jeremie.galarneau@efficios.com],[],[https://diamon.org/babeltrace]) +AC_INIT([babeltrace],[1.4.3],[jeremie.galarneau@efficios.com],[],[https://diamon.org/babeltrace]) AC_SUBST([BABELTRACE_LIBRARY_VERSION], [1:0:0]) AC_CONFIG_HEADERS([config.h]) @@ -9,12 +9,14 @@ AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_TARGET AC_CANONICAL_HOST -AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip]) +AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip tar-ustar]) 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 AC_USE_SYSTEM_EXTENSIONS AC_SYS_LARGEFILE @@ -126,11 +128,11 @@ AC_CHECK_FUNCS([ \ ]) MINGW32=no -DEFAULT_ENABLE_DEBUGINFO=yes +DEFAULT_ENABLE_DEBUG_INFO=yes AS_CASE([$host_os], [solaris*|darwin*], [ - DEFAULT_ENABLE_DEBUGINFO=no + DEFAULT_ENABLE_DEBUG_INFO=no ], [mingw*], [ @@ -140,29 +142,51 @@ AS_CASE([$host_os], AM_CONDITIONAL([BABELTRACE_BUILD_WITH_MINGW], [test "x$MINGW32" = "xyes"]) -# Check for libuuid -AC_CHECK_LIB([uuid], [uuid_generate], +# Check what libraries are required on this platform to link sockets programs. +AX_LIB_SOCKET_NSL + +# Check for uuid in system libs +AC_CHECK_FUNCS([uuid_generate], [ - AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBUUID], 1, [Has libuuid support.]) - have_libuuid=yes + AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBUUID], 1, [Has libuuid support.]) + link_with_libuuid=no ], [ - # libuuid not found, check for uuid_create in libc. - AC_CHECK_LIB([c], [uuid_create], - [ - AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBC_UUID], 1, [Has libc uuid support.]) - have_libc_uuid=yes - ], - [ - # for MinGW32 we have our own internal implemenation of uuid using Windows functions. - if test "x$MINGW32" = xno; then - AC_MSG_ERROR([Cannot find libuuid uuid_generate nor libc uuid_create. Use [LDFLAGS]=-Ldir to specify their location.]) - fi - ]) -] -) -AM_CONDITIONAL([BABELTRACE_BUILD_WITH_LIBUUID], [test "x$have_libuuid" = "xyes"]) -AM_CONDITIONAL([BABELTRACE_BUILD_WITH_LIBC_UUID], [test "x$have_libc_uuid" = "xyes"]) + # First, check the pkg-config module is available, otherwise explicitly check + # for libuuid, or uuid support in the C-library. + PKG_CHECK_MODULES([UUID], [uuid], + [ + LIBS="${UUID_LIBS} ${LIBS}" + CFLAGS="${CFLAGS} ${UUID_CFLAGS}" + AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBUUID], 1, [Has libuuid support.]) + link_with_libuuid=yes + ], + [ + # Check for libuuid + AC_CHECK_LIB([uuid], [uuid_generate], + [ + AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBUUID], 1, [Has libuuid support.]) + link_with_libuuid=yes + ], + [ + # libuuid not found, check for uuid_create in libc. + AC_CHECK_LIB([c], [uuid_create], + [ + AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBC_UUID], 1, [Has libc uuid support.]) + link_with_libc_uuid=yes + ], + [ + # for MinGW32 we have our own internal implementation of uuid using Windows functions. + if test "x$MINGW32" = xno; then + AC_MSG_ERROR([Cannot find libuuid uuid_generate nor libc uuid_create. Use [LDFLAGS]=-Ldir to specify their location.]) + fi + ]) + ]) + ]) +]) + +AM_CONDITIONAL([BABELTRACE_BUILD_WITH_LIBUUID], [test "x$link_with_libuuid" = "xyes"]) +AM_CONDITIONAL([BABELTRACE_BUILD_WITH_LIBC_UUID], [test "x$link_with_libc_uuid" = "xyes"]) # Check for fmemopen AC_CHECK_LIB([c], [fmemopen], @@ -209,13 +233,8 @@ AM_CONDITIONAL([USE_PYTHON], [test "x${enable_python:-yes}" = xyes]) if test "x${enable_python:-yes}" = xyes; then AX_PKG_SWIG($swig_version, [], [ AC_MSG_ERROR([SWIG $swig_version or newer is needed]) ]) - AM_PATH_PYTHON + AM_PATH_PYTHON([3.0], [], [ AC_MSG_ERROR([Python 3.0 or newer is needed]) ]) - 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_CONFIG], [Path to python-config]) AS_IF([test -z "$PYTHON_INCLUDE"], [ @@ -237,19 +256,26 @@ else fi -# Optional debuginfo feature (enabled by default) -AS_IF([test "x$DEFAULT_ENABLE_DEBUGINFO" = xyes], - [AC_ARG_ENABLE([debug-info], [AC_HELP_STRING([--disable-debug-info], [disable the debug-info feature (default on OS X and Solaris)])], [], [enable_debuginfo=yes])], - [AC_ARG_ENABLE([debug-info], [AC_HELP_STRING([--enable-debug-info], [enable the debug-info feature (default on Linux)])], [], [enable_debuginfo=no])] -) - -AM_CONDITIONAL([ENABLE_DEBUGINFO], [test "x$enable_debuginfo" = xyes]) -AS_IF([test "x$enable_debuginfo" = xyes], [ +# 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 libdw (from elfutils >= 0.154) which is required by debug-info. You can disable this feature using --disable-debuginfo.)]) - AC_CHECK_LIB([dw], [dwarf_begin], [], [AC_MSG_ERROR(Missing libelf (from elfutils >= 0.154) which is required by debug-info. You can disable this feature using --disable-debuginfo.)]) - AX_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-debuginfo.)]) - AC_DEFINE([ENABLE_DEBUGINFO], [1], [Define to 1 if you enable the 'debug-info' feature]) + 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]) ], []) PKG_CHECK_MODULES(GMODULE, [gmodule-2.0 >= 2.0.0]) @@ -292,8 +318,12 @@ AC_CONFIG_FILES([ include/Makefile bindings/Makefile bindings/python/Makefile + bindings/python/setup.py + bindings/python/babeltrace/Makefile + bindings/python/babeltrace/__init__.py tests/Makefile tests/bin/Makefile + tests/bin/intersection/Makefile tests/lib/Makefile tests/utils/Makefile tests/utils/tap/Makefile @@ -303,12 +333,24 @@ AC_CONFIG_FILES([ babeltrace-ctf.pc ]) +AC_CONFIG_FILES([tests/lib/test_ctf_writer_complete], [chmod +x tests/lib/test_ctf_writer_complete]) AC_CONFIG_FILES([tests/lib/test_seek_big_trace], [chmod +x tests/lib/test_seek_big_trace]) AC_CONFIG_FILES([tests/lib/test_seek_empty_packet], [chmod +x tests/lib/test_seek_empty_packet]) +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/bin/test_trace_read], [chmod +x tests/bin/test_trace_read]) -AC_CONFIG_FILES([tests/bin/test_intersection], [chmod +x tests/bin/test_intersection]) +AC_CONFIG_FILES([tests/bin/intersection/test_intersection], [chmod +x tests/bin/intersection/test_intersection]) +AC_CONFIG_FILES([tests/bin/intersection/bt_python_helper.py]) AC_CONFIG_FILES([tests/bin/test_packet_seq_num], [chmod +x tests/bin/test_packet_seq_num]) +# Create link for Babeltrace complements files for out-of-tree builds +AC_CONFIG_LINKS([ + bindings/python/babeltrace/python-complements.c:bindings/python/babeltrace/python-complements.c + bindings/python/babeltrace/python-complements.h:bindings/python/babeltrace/python-complements.h + bindings/python/babeltrace/babeltrace.i.in:bindings/python/babeltrace/babeltrace.i.in +]) + AC_OUTPUT # @@ -346,8 +388,8 @@ PPRINT_PROP_BOOL([Python bindings], $value) test "x$enable_python_bindings_doc" = "xyes" && value=1 || value=0 PPRINT_PROP_BOOL([Python bindings doc], $value) -# debug-info enabled/disabled -test "x$enable_debuginfo" = "xyes" && value=1 || value=0 +# debug info enabled/disabled +test "x$_enable_debug_info" = "xyes" && value=1 || value=0 PPRINT_PROP_BOOL([Debug information output], $value)