babeltrace: add test for babeltrace --list
[babeltrace.git] / configure.ac
index a8199488e9011da0acae47e09ba4fa219d5a7ca2..450e22491a67e64fc0b79db3749b5c560374dd12 100644 (file)
@@ -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
@@ -140,11 +142,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*],
     [
@@ -161,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
+      ])
     ])
   ])
 ])
@@ -276,21 +289,29 @@ if test "x${enable_python_bindings_doc:-yes}" = xyes; then
     )
 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], [
-            PKG_CHECK_MODULES(LIBDW, [libdw >= 0.154], [], [AC_MSG_ERROR(Missing libdw (from elfutils >= 0.154) which is required by debug-info. You can disable this feature using --disable-debuginfo.)])
-            PKG_CHECK_MODULES(LIBELF, [libelf >= 0.154], [], [AC_MSG_ERROR(Missing libelf (from elfutils >= 0.154) which is required by debug-info. You can disable this feature using --disable-debuginfo.)])
-            AC_DEFINE([ENABLE_DEBUGINFO], [1], [Define to 1 if you enable the 'debug-info' feature])
+# 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.)])
+           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-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])
-AC_SUBST(PACKAGE_LIBS)
 
 LIBS="$LIBS $GMODULE_LIBS"
 PACKAGE_CFLAGS="$GMODULE_CFLAGS -Wall -Wformat"
@@ -336,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
@@ -347,10 +370,65 @@ 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])
+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])
This page took 0.025379 seconds and 4 git commands to generate.