X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=configure.ac;h=e695d87cab5bd2c5d7ec6a222e5e12871dbed1dc;hb=95fb061d540557dcde8d66671fe842cf096cd1f5;hp=42698e757baa0065db1cf21d4d8a25fe01091a5c;hpb=39fa4402ef8cc741ca600d9a671fbc9e694a5853;p=babeltrace.git diff --git a/configure.ac b/configure.ac index 42698e75..e695d87c 100644 --- a/configure.ac +++ b/configure.ac @@ -12,12 +12,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 @@ -139,12 +141,18 @@ AC_CHECK_FUNCS([ \ uname \ ]) -# Check for MinGW32. MINGW32=no -case $host in - *-*-mingw*) - MINGW32=yes;; -esac +DEFAULT_ENABLE_DEBUG_INFO=yes +AS_CASE([$host_os], + [solaris*|darwin*], + [ + DEFAULT_ENABLE_DEBUG_INFO=no + ], + [mingw*], + [ + MINGW32=yes + ] +) AM_CONDITIONAL([BABELTRACE_BUILD_WITH_MINGW], [test "x$MINGW32" = "xyes"]) @@ -155,24 +163,35 @@ AC_CHECK_FUNCS([uuid_generate], link_with_libuuid=no ], [ - # Check for libuuid - AC_CHECK_LIB([uuid], [uuid_generate], + # 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 ], [ - # libuuid not found, check for uuid_create in libc. - AC_CHECK_LIB([c], [uuid_create], + # Check for libuuid + AC_CHECK_LIB([uuid], [uuid_generate], [ - AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBC_UUID], 1, [Has libc uuid support.]) - link_with_libc_uuid=yes + AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBUUID], 1, [Has libuuid support.]) + link_with_libuuid=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 + # 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 + ]) ]) ]) ]) @@ -270,9 +289,29 @@ if test "x${enable_python_bindings_doc:-yes}" = xyes; then ) fi -pkg_modules="gmodule-2.0 >= 2.0.0" -PKG_CHECK_MODULES(GMODULE, [$pkg_modules]) -AC_SUBST(PACKAGE_LIBS) +# 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]) +], []) + +PKG_CHECK_MODULES(GMODULE, [gmodule-2.0 >= 2.0.0]) LIBS="$LIBS $GMODULE_LIBS" PACKAGE_CFLAGS="$GMODULE_CFLAGS -Wall -Wformat" @@ -318,8 +357,10 @@ AC_CONFIG_FILES([ include/Makefile bindings/Makefile bindings/python/Makefile + bindings/python/babeltrace/Makefile tests/Makefile tests/bin/Makefile + tests/bin/intersection/Makefile tests/lib/Makefile tests/utils/Makefile tests/utils/tap/Makefile @@ -328,4 +369,66 @@ AC_CONFIG_FILES([ babeltrace.pc 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/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]) +AC_CONFIG_FILES([tests/bin/test_formats], [chmod +x tests/bin/test_formats]) + AC_OUTPUT + +# +# Mini-report on what will be built. +# + +PPRINT_INIT +PPRINT_SET_INDENT(1) +PPRINT_SET_TS(38) + +AS_ECHO +AS_ECHO("${PPRINT_COLOR_BLDBLU}Babeltrace $PACKAGE_VERSION$PPRINT_COLOR_RST") +AS_ECHO + +PPRINT_SUBTITLE([Features]) + +# Target architecture we're building for. +target_arch=$host_cpu +[ +for f in $CFLAGS; do + if test $f = "-m32"; then + target_arch="32-bit" + elif test $f = "-m64"; then + target_arch="64-bit" + fi +done +] +PPRINT_PROP_STRING([Target architecture], $target_arch) + +# python bindings enabled/disabled +test "x$enable_python" = "xyes" && value=1 || value=0 +PPRINT_PROP_BOOL([Python bindings], $value) + +# python bindings doc enabled/disabled +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_debug_info" = "xyes" && value=1 || value=0 +PPRINT_PROP_BOOL([Debug information output], $value) + + +report_bindir="`eval eval echo $bindir`" +report_libdir="`eval eval echo $libdir`" + +# Print the bindir and libdir this `make install' will install into. +AS_ECHO +PPRINT_SUBTITLE([Install directories]) +PPRINT_PROP_STRING([Binaries], [$report_bindir]) +PPRINT_PROP_STRING([Libraries], [$report_libdir])