Update version to v2.0.0-pre5
[babeltrace.git] / configure.ac
index 9c2024e15012cce0992b5f168969aeac56df90fe..d0fa825557abbb2c8b305427713eb4908485ccf8 100644 (file)
@@ -29,7 +29,7 @@ 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], [-pre3])
+m4_define([bt_version_extra], [-pre5])
 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/])
@@ -394,6 +394,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 ##
@@ -415,14 +430,6 @@ AC_ARG_ENABLE([python-bindings-doc],
   [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],
@@ -463,16 +470,24 @@ AC_ARG_ENABLE([built-in-python-plugin-support],
   [enable_built_in_python_plugin_support=no]
 )
 
+# Man pages
+# Enabled by default
+AC_ARG_ENABLE([man-pages],
+  [AS_HELP_STRING([--disable-man-pages], [Do not build and install man pages (already built in a distributed tarball])],
+  [], dnl AC_ARG_ENABLE will fill enable_built_in_plugins with the user choice
+  [enable_man_pages=yes]
+)
+
 
 # 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])
+AM_CONDITIONAL([ENABLE_MAN_PAGES], [test "x$enable_man_pages" = xyes])
 
 
 # Set defines for optionnal features conditionnals in the source code
@@ -494,13 +509,19 @@ 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])]
 )
 
+AS_IF([test "x$enable_debug_info" = xyes],
+  [ENABLE_DEBUG_INFO_VAL=1],
+  [ENABLE_DEBUG_INFO_VAL=0]
+)
+
+AC_SUBST([ENABLE_DEBUG_INFO_VAL])
+
 
 # Check for conflicting optional 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]))
   ]
 )
 
@@ -603,6 +624,55 @@ 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])
+
+  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
+      # means the man pages are not already generated for us,
+      # thus asciixmlto are required because we were asked
+      # to build the man pages
+      AC_MSG_ERROR([
+You need asciidoc and xmlto to build the Babeltrace man pages. Use
+--disable-man-pages to disable building the man pages, in which case
+they will not be installed.
+      ])
+    ], [
+      # only warn here: since we're in the tarball, the man
+      # pages should already be generated at this point, thus
+      # asciidoc/xmlto are not strictly required
+      warn_prebuilt_man_pages=yes
+    ])
+  ], [
+    have_asciidoc_xmlto=yes
+  ])
+])
+
+# export AsciiDoc and xmlto existence
+AM_CONDITIONAL([HAVE_ASCIIDOC_XMLTO], [test "x$have_asciidoc_xmlto" = "xyes"])
+
+# a wonderful hack that seems necessary because $libdir is
+# literally `${exec_prefix}/lib`, and $exec_prefix is set to `NONE`
+# by autoconf when it's not specified by the user
+AS_IF([test "x$exec_prefix" = xNONE], [
+  AS_IF([test "x$prefix" = xNONE], [
+    PREFIX="$ac_default_prefix"
+  ], [
+    PREFIX="$prefix"
+  ])
+
+  LIBDIR="$PREFIX/lib"
+], [
+  LIBDIR="$libdir"
+])
+
+AC_SUBST(LIBDIR)
+
 
 # Set global CFLAGS in AM_CFLAGS
 AM_CFLAGS="-Wall -Wformat $PTHREAD_CFLAGS $GLIB_CFLAGS"
@@ -656,6 +726,7 @@ AC_CONFIG_FILES([
        bindings/python/bt2/setup.py
        bindings/python/bt2/bt2/__init__.py
        common/Makefile
+       ctfser/Makefile
        compat/Makefile
        cli/Makefile
        doc/Makefile
@@ -663,13 +734,16 @@ AC_CONFIG_FILES([
        doc/api/Doxyfile
        doc/bindings/Makefile
        doc/bindings/python/Makefile
-       doc/images/Makefile
+       doc/contributing-images/Makefile
+  doc/man/Makefile
+  doc/man/asciidoc-attrs.conf
+       fd-cache/Makefile
        lib/Makefile
        lib/prio_heap/Makefile
        lib/plugin/Makefile
        lib/graph/Makefile
-       lib/graph/notification/Makefile
-       lib/ctf-ir/Makefile
+       lib/graph/message/Makefile
+       lib/trace-ir/Makefile
        lib/ctf-writer/Makefile
        include/Makefile
        logging/Makefile
@@ -678,8 +752,9 @@ AC_CONFIG_FILES([
        tests/cli/Makefile
        tests/cli/intersection/Makefile
        tests/lib/Makefile
-       tests/lib/writer/Makefile
        tests/lib/test-plugin-plugins/Makefile
+       tests/lib/trace-ir/Makefile
+       tests/lib/ctf-writer/Makefile
        tests/utils/common.sh
        tests/utils/Makefile
        tests/utils/tap/Makefile
@@ -687,15 +762,16 @@ AC_CONFIG_FILES([
        tests/bindings/python/Makefile
        tests/bindings/python/bt2/Makefile
        tests/plugins/Makefile
+       tests/plugins/ctf/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/bfcr/Makefile
        plugins/ctf/common/metadata/Makefile
-       plugins/ctf/common/notif-iter/Makefile
+       plugins/ctf/common/msg-iter/Makefile
        plugins/ctf/common/utils/Makefile
        plugins/ctf/fs-src/Makefile
        plugins/ctf/fs-sink/Makefile
@@ -709,35 +785,39 @@ AC_CONFIG_FILES([
        plugins/utils/trimmer/Makefile
        plugins/utils/muxer/Makefile
        python-plugin-provider/Makefile
-       plugins/libctfcopytrace/Makefile
        plugins/lttng-utils/Makefile
+       plugins/lttng-utils/debug-info/Makefile
        babeltrace.pc
        babeltrace-ctf.pc
 ])
 
-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/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_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/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/lib/trace-ir/test_trace_ir], [chmod +x tests/lib/trace-ir/test_trace_ir])
+AC_CONFIG_FILES([tests/lib/ctf-writer/test_ctf_writer], [chmod +x tests/lib/ctf-writer/test_ctf_writer])
+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_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])
 
-AS_IF([test "x$enable_python_bindings_tests" = xyes],
-  [AC_CONFIG_FILES([tests/bindings/python/bt2/test_python_bt2], [chmod +x tests/bindings/python/bt2/test_python_bt2])]
+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/utils/test_python_bt2_env], [chmod +x tests/utils/test_python_bt2_env])
+       AC_CONFIG_FILES([tests/bindings/python/babeltrace/test_python_babeltrace], [chmod +x tests/bindings/python/babeltrace/test_python_babeltrace])
+  ]
 )
 
 AS_IF([test "x$enable_python_plugins" = "xyes"],
-  [AC_CONFIG_FILES([tests/python-plugin-provider/test.sh], [chmod +x tests/python-plugin-provider/test.sh])]
+  [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
@@ -798,6 +878,28 @@ PPRINT_PROP_BOOL([Built-in Python plugin support], $value)
 
 AS_ECHO
 PPRINT_SUBTITLE([Documentation])
+
+# man pages build enabled/disabled
+m4_pushdef([build_man_pages_msg], [Build and install man pages])
+
+AS_IF([test "x$enable_man_pages" != "xno"], [
+  AS_IF([test "x$in_git_repo" = "xyes"], [
+    PPRINT_PROP_BOOL([build_man_pages_msg], 1)
+  ], [
+    AS_IF([test "x$have_asciidoc_xmlto" = "xyes"], [
+      PPRINT_PROP_BOOL([build_man_pages_msg], 1)
+    ], [
+      PPRINT_PROP_STRING([build_man_pages_msg],
+        [${PPRINT_COLOR_BLDGRN}yes (already built)],
+        $PPRINT_COLOR_SUBTITLE)
+    ])
+  ])
+], [
+  PPRINT_PROP_BOOL([build_man_pages_msg], 0)
+])
+
+m4_popdef([build_man_pages_msg])
+
 test "x$enable_api_doc" = "xyes" && value=1 || value=0
 PPRINT_PROP_BOOL([HTML API documentation], $value)
 test "x$enable_python_bindings_doc" = "xyes" && value=1 || value=0
@@ -808,9 +910,9 @@ PPRINT_SUBTITLE([Logging])
 PPRINT_PROP_STRING([Minimal log level], $BABELTRACE_MINIMAL_LOG_LEVEL)
 
 AS_ECHO
-PPRINT_SUBTITLE([Testing])
-test "x$enable_python_bindings_tests" = "xyes" && value=1 || value=0
-PPRINT_PROP_BOOL([Python bindings tests], $value)
+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`"
This page took 0.026842 seconds and 4 git commands to generate.