Add `sink.text.details`, a testing textual sink which prints details
[babeltrace.git] / configure.ac
index 60b48d04eda52eb8f003000dad2a519608ec3df0..dfbe00c6ac67774beed024ec7c189311e44865da 100644 (file)
@@ -29,24 +29,29 @@ 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], [-pre4])
+m4_define([bt_version_extra], [-pre6])
 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], [], [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
-AC_SUBST([BABELTRACE_LIBRARY_VERSION], bt_version_major[:]bt_version_minor[:]bt_version_patch)
+m4_define([bt_lib_version_current], [0])
+m4_define([bt_lib_version_revision], [0])
+m4_define([bt_lib_version_age], [0])
+m4_define([bt_lib_version], bt_lib_version_current[:]bt_lib_version_revision[:]bt_lib_version_age)
 
-AC_CONFIG_HEADERS([include/config.h])
+AC_SUBST([BABELTRACE_LIBRARY_VERSION], bt_lib_version)
+
+AC_CONFIG_HEADERS([src/common/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])
-AC_DEFINE([BT_VERSION_PATCH], bt_version_patch, [Babeltrace library patch version])
-AC_DEFINE([BT_VERSION_EXTRA], ["]bt_version_extra["], [Babeltrace library extra version])
+AC_DEFINE([BT_VERSION_MAJOR], bt_version_major, [Babeltrace major version])
+AC_DEFINE([BT_VERSION_MINOR], bt_version_minor, [Babeltrace minor version])
+AC_DEFINE([BT_VERSION_PATCH], bt_version_patch, [Babeltrace patch version])
+AC_DEFINE([BT_VERSION_EXTRA], ["]bt_version_extra["], [Babeltrace extra version])
 
 AC_CANONICAL_TARGET
 AC_CANONICAL_HOST
@@ -377,8 +382,8 @@ 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'])
+AC_ARG_VAR([PLUGINSDIR], [built-in plugins install directory [LIBDIR/babeltrace2/plugins]])
+AS_IF([test "x$PLUGINSDIR" = x], [PLUGINSDIR='$(libdir)/babeltrace2/plugins'])
 
 # 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)])
@@ -394,6 +399,21 @@ AS_IF([test "$BABELTRACE_MINIMAL_LOG_LEVEL" != "VERBOSE" && \
 )
 AC_DEFINE_UNQUOTED([BT_LOG_LEVEL], [BT_LOG_$BABELTRACE_MINIMAL_LOG_LEVEL], [Minimal log level])
 
+# BABELTRACE_DEV_MODE:
+AC_ARG_VAR([BABELTRACE_DEV_MODE], [Set to 1 to enable the Babeltrace developer mode (enables run-time checks for plugin developers)])
+AS_IF([test "x$BABELTRACE_DEV_MODE" = x1], [
+       AS_IF([test "x$BABELTRACE_MINIMAL_LOG_LEVEL" = "xNONE"], [
+               AC_MSG_ERROR([Babeltrace developer mode (\$BABELTRACE_DEV_MODE) needs \$BABELTRACE_MINIMAL_LOG_LEVEL to be at least FATAL.])
+       ])
+       AC_DEFINE([BT_DEV_MODE], 1, [Babeltrace developer mode])
+], [BABELTRACE_DEV_MODE=0])
+
+# BABELTRACE_DEBUG_MODE:
+AC_ARG_VAR([BABELTRACE_DEBUG_MODE], [Set to 1 to enable the Babeltrace debug mode (enables internal assertions for Babeltrace maintainers)])
+AS_IF([test "x$BABELTRACE_DEBUG_MODE" = x1], [
+       AC_DEFINE([BT_DEBUG_MODE], 1, [Babeltrace debug mode])
+], [BABELTRACE_DEBUG_MODE=0])
+
 
 ##                              ##
 ## Optionnal features selection ##
@@ -442,7 +462,7 @@ AC_ARG_ENABLE([api-doc],
 # 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])],
+  [AC_HELP_STRING([--enable-built-in-plugins], [Statically-link in-tree plug-ins into the babeltrace2 executable])],
   [], dnl AC_ARG_ENABLE will fill enable_built_in_plugins with the user choice
   [enable_built_in_plugins=no]
 )
@@ -513,17 +533,17 @@ AS_IF([test "x$enable_python_bindings" = xno],
 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_static" != xyes], [AC_MSG_ERROR(--enable-static must be used to bundle plug-ins in the babeltrace2 executable)])
+    AS_IF([test "x$enable_shared" = xyes], [AC_MSG_ERROR(--disable-shared must be used to bundle plug-ins in the babeltrace2 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])])
+    AS_IF([test "x$enable_python_plugins" = xno], [AC_MSG_ERROR([--enable-python-plugins must be used to bundle Python plugin support in the babeltrace2 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)])
+    AS_IF([test "x$enable_static" != xyes], [AC_MSG_ERROR(--enable-static must be used to bundle Python plugin support in the babeltrace2 executable)])
+    AS_IF([test "x$enable_shared" = xyes], [AC_MSG_ERROR(--disable-shared must be used to bundle Python plugin support in the babeltrace2 executable)])
   ]
 )
 
@@ -612,10 +632,10 @@ AS_IF([test "x$enable_api_doc" = "xyes"],
 have_asciidoc_xmlto=no
 warn_prebuilt_man_pages=no
 
-AS_IF([test "x$enable_man_pages" = "xyes"], [
-  AC_PATH_PROG([ASCIIDOC], [asciidoc], [no])
-  AC_PATH_PROG([XMLTO], [xmlto], [no])
+AC_PATH_PROG([ASCIIDOC], [asciidoc], [no])
+AC_PATH_PROG([XMLTO], [xmlto], [no])
 
+AS_IF([test "x$enable_man_pages" = "xyes"], [
   AS_IF([test "x$ASCIIDOC" = "xno" || test "x$XMLTO" = "xno"], [
     AS_IF([test "x$in_git_repo" = "xyes"], [
       # this is an error because we're in the Git repo, which
@@ -660,11 +680,11 @@ AC_SUBST(LIBDIR)
 
 
 # Set global CFLAGS in AM_CFLAGS
-AM_CFLAGS="-Wall -Wformat $PTHREAD_CFLAGS $GLIB_CFLAGS"
+AM_CFLAGS="-Wall -Wformat -Werror=implicit-function-declaration $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"
+AM_CPPFLAGS="-I\$(top_srcdir)/include -I\$(top_builddir)/src -I\$(top_srcdir)/src -include common/config.h"
 AC_SUBST(AM_CPPFLAGS)
 
 # Add glib to global link libs
@@ -700,103 +720,106 @@ target.
 CFLAGS=${save_CFLAGS}
 
 # 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"
+# to rename babeltrace2.bin to babeltrace2 at install time.
+program_transform_name="s&babeltrace2\.bin&babeltrace2&;s&babeltrace2-log\.bin&babeltrace2-log&;$program_transform_name"
 AC_SUBST(program_transform_name)
 
 AC_CONFIG_FILES([
-       Makefile
-       bindings/python/Makefile
-       bindings/python/babeltrace/Makefile
-       bindings/python/babeltrace/setup.py
-       bindings/python/babeltrace/babeltrace/__init__.py
-       bindings/python/bt2/Makefile
-       bindings/python/bt2/setup.py
-       bindings/python/bt2/bt2/__init__.py
-       common/Makefile
-       compat/Makefile
-       cli/Makefile
-       doc/Makefile
-       doc/api/Makefile
        doc/api/Doxyfile
+       doc/api/Makefile
        doc/bindings/Makefile
        doc/bindings/python/Makefile
        doc/contributing-images/Makefile
-  doc/man/Makefile
-  doc/man/asciidoc-attrs.conf
-       lib/Makefile
-       lib/prio_heap/Makefile
-       lib/plugin/Makefile
-       lib/graph/Makefile
-       lib/graph/notification/Makefile
-       lib/ctf-ir/Makefile
-       lib/ctf-writer/Makefile
+       doc/Makefile
+       doc/man/asciidoc-attrs.conf
+       doc/man/Makefile
        include/Makefile
-       logging/Makefile
-       bindings/Makefile
-       tests/Makefile
-       tests/cli/Makefile
-       tests/cli/intersection/Makefile
+       Makefile
+       src/babeltrace2-ctf-writer.pc
+       src/babeltrace2.pc
+       src/bindings/Makefile
+       src/bindings/python/bt2/bt2/__init__.py
+       src/bindings/python/bt2/Makefile
+       src/bindings/python/bt2/setup.py
+       src/bindings/python/Makefile
+       src/cli/Makefile
+       src/common/Makefile
+       src/compat/Makefile
+       src/ctfser/Makefile
+       src/ctf-writer/Makefile
+       src/fd-cache/Makefile
+       src/lib/graph/Makefile
+       src/lib/graph/message/Makefile
+       src/lib/Makefile
+       src/lib/plugin/Makefile
+       src/lib/prio-heap/Makefile
+       src/lib/trace-ir/Makefile
+       src/logging/Makefile
+       src/Makefile
+       src/plugins/ctf/common/bfcr/Makefile
+       src/plugins/ctf/common/Makefile
+       src/plugins/ctf/common/metadata/Makefile
+       src/plugins/ctf/common/msg-iter/Makefile
+       src/plugins/ctf/common/utils/Makefile
+       src/plugins/ctf/fs-sink/Makefile
+       src/plugins/ctf/fs-src/Makefile
+       src/plugins/ctf/lttng-live/Makefile
+       src/plugins/ctf/Makefile
+       src/plugins/lttng-utils/debug-info/Makefile
+       src/plugins/lttng-utils/Makefile
+       src/plugins/Makefile
+       src/plugins/text/dmesg/Makefile
+       src/plugins/text/Makefile
+       src/plugins/text/pretty/Makefile
+       src/plugins/text/details/Makefile
+       src/plugins/utils/counter/Makefile
+       src/plugins/utils/dummy/Makefile
+       src/plugins/utils/Makefile
+       src/plugins/utils/muxer/Makefile
+       src/plugins/utils/trimmer/Makefile
+       src/python-plugin-provider/Makefile
+       tests/ctf-writer/Makefile
        tests/lib/Makefile
        tests/lib/test-plugin-plugins/Makefile
+       tests/Makefile
+       tests/plugins/Makefile
        tests/utils/common.sh
        tests/utils/Makefile
        tests/utils/tap/Makefile
-       tests/bindings/Makefile
-       tests/bindings/python/Makefile
-       tests/bindings/python/bt2/Makefile
-       tests/bindings/python/babeltrace/Makefile
-       tests/plugins/Makefile
-       tests/python-plugin-provider/Makefile
-       extras/Makefile
-       extras/valgrind/Makefile
-       plugins/Makefile
-       plugins/ctf/Makefile
-       plugins/ctf/common/Makefile
-       plugins/ctf/common/btr/Makefile
-       plugins/ctf/common/metadata/Makefile
-       plugins/ctf/common/notif-iter/Makefile
-       plugins/ctf/common/utils/Makefile
-       plugins/ctf/fs-src/Makefile
-       plugins/ctf/fs-sink/Makefile
-       plugins/ctf/lttng-live/Makefile
-       plugins/text/Makefile
-       plugins/text/dmesg/Makefile
-       plugins/text/pretty/Makefile
-       plugins/utils/Makefile
-       plugins/utils/dummy/Makefile
-       plugins/utils/counter/Makefile
-       plugins/utils/trimmer/Makefile
-       plugins/utils/muxer/Makefile
-       python-plugin-provider/Makefile
-       plugins/libctfcopytrace/Makefile
-       plugins/lttng-utils/Makefile
-       babeltrace.pc
-       babeltrace-ctf.pc
 ])
 
-AC_CONFIG_FILES([tests/cli/intersection/test_intersection], [chmod +x tests/cli/intersection/test_intersection])
+AC_CONFIG_FILES([tests/cli/test_intersection], [chmod +x tests/cli/test_intersection])
 AC_CONFIG_FILES([tests/cli/test_convert_args], [chmod +x tests/cli/test_convert_args])
-AC_CONFIG_FILES([tests/cli/test_debug_info], [chmod +x tests/cli/test_debug_info])
+AC_CONFIG_FILES([tests/cli/test_output_ctf_metadata], [chmod +x tests/cli/test_output_ctf_metadata])
 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_ctf_writer_complete], [chmod +x tests/lib/test_ctf_writer_complete])
+AC_CONFIG_FILES([tests/ctf-writer/test_ctf_writer], [chmod +x tests/ctf-writer/test_ctf_writer])
 AC_CONFIG_FILES([tests/lib/test_plugin_complete], [chmod +x tests/lib/test_plugin_complete])
-AC_CONFIG_FILES([tests/plugins/test-utils-muxer-complete], [chmod +x tests/plugins/test-utils-muxer-complete])
-AC_CONFIG_FILES([tests/plugins/test_dwarf_complete], [chmod +x tests/plugins/test_dwarf_complete])
-AC_CONFIG_FILES([tests/plugins/test_bin_info_complete], [chmod +x tests/plugins/test_bin_info_complete])
+AC_CONFIG_FILES([tests/lib/trace-ir/test_trace_ir], [chmod +x tests/lib/trace-ir/test_trace_ir])
+AC_CONFIG_FILES([tests/plugins/ctf/test_ctf_plugin], [chmod +x tests/plugins/ctf/test_ctf_plugin])
+AC_CONFIG_FILES([tests/plugins/test_utils_muxer_complete], [chmod +x tests/plugins/test_utils_muxer_complete])
+AC_CONFIG_FILES([tests/plugins/test_lttng_utils_debug_info], [chmod +x tests/plugins/test_lttng_utils_debug_info])
+AC_CONFIG_FILES([tests/plugins/test_dwarf_i386-linux-gnu], [chmod +x tests/plugins/test_dwarf_i386-linux-gnu])
+AC_CONFIG_FILES([tests/plugins/test_dwarf_powerpc-linux-gnu], [chmod +x tests/plugins/test_dwarf_powerpc-linux-gnu])
+AC_CONFIG_FILES([tests/plugins/test_dwarf_powerpc64le-linux-gnu], [chmod +x tests/plugins/test_dwarf_powerpc64le-linux-gnu])
+AC_CONFIG_FILES([tests/plugins/test_dwarf_x86_64-linux-gnu], [chmod +x tests/plugins/test_dwarf_x86_64-linux-gnu])
+AC_CONFIG_FILES([tests/plugins/test_bin_info_i386-linux-gnu], [chmod +x tests/plugins/test_bin_info_i386-linux-gnu])
+AC_CONFIG_FILES([tests/plugins/test_bin_info_powerpc-linux-gnu], [chmod +x tests/plugins/test_bin_info_powerpc-linux-gnu])
+AC_CONFIG_FILES([tests/plugins/test_bin_info_powerpc64le-linux-gnu], [chmod +x tests/plugins/test_bin_info_powerpc64le-linux-gnu])
+AC_CONFIG_FILES([tests/plugins/test_bin_info_x86_64-linux-gnu], [chmod +x tests/plugins/test_bin_info_x86_64-linux-gnu])
 
 AS_IF([test "x$enable_python_bindings" = xyes],
   [
        AC_CONFIG_FILES([tests/bindings/python/bt2/test_python_bt2], [chmod +x tests/bindings/python/bt2/test_python_bt2])
-       AC_CONFIG_FILES([tests/bindings/python/babeltrace/test_python_babeltrace], [chmod +x tests/bindings/python/babeltrace/test_python_babeltrace])
+       AC_CONFIG_FILES([tests/utils/test_python_bt2_env], [chmod +x tests/utils/test_python_bt2_env])
   ]
 )
 
 AS_IF([test "x$enable_python_plugins" = "xyes"],
   [AC_CONFIG_FILES([tests/python-plugin-provider/test_python_plugin_provider], [chmod +x tests/python-plugin-provider/test_python_plugin_provider])]
+  [AC_CONFIG_FILES([tests/python-plugin-provider/test_python_plugin_provider_env], [chmod +x tests/python-plugin-provider/test_python_plugin_provider_env])]
 )
 
 AC_OUTPUT
@@ -888,6 +911,11 @@ AS_ECHO
 PPRINT_SUBTITLE([Logging])
 PPRINT_PROP_STRING([Minimal log level], $BABELTRACE_MINIMAL_LOG_LEVEL)
 
+AS_ECHO
+PPRINT_SUBTITLE([Special build modes])
+PPRINT_PROP_BOOL([Debug mode], $BABELTRACE_DEBUG_MODE)
+PPRINT_PROP_BOOL([Developer mode], $BABELTRACE_DEV_MODE)
+
 report_bindir="`eval eval echo $bindir`"
 report_libdir="`eval eval echo $libdir`"
 report_sysconfdif="`eval eval echo $sysconfdir`"
@@ -897,5 +925,5 @@ AS_ECHO
 PPRINT_SUBTITLE([Install directories])
 PPRINT_PROP_STRING([Binaries], [$report_bindir])
 PPRINT_PROP_STRING([Libraries], [$report_libdir])
-PPRINT_PROP_STRING([Plugins], [$report_libdir/babeltrace/plugins])
+PPRINT_PROP_STRING([Plugins], [$report_libdir/babeltrace2/plugins])
 PPRINT_PROP_STRING([Configuration], [$report_sysconfdif])
This page took 0.028982 seconds and 4 git commands to generate.