m4_define([bt_version_major], [2])
m4_define([bt_version_minor], [0])
m4_define([bt_version_patch], [0])
-m4_define([bt_version_extra], [-pre1])
+m4_define([bt_version_extra], [-pre4])
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/])
)
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 ##
[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_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
[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
]
)
+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"
bindings/python/bt2/setup.py
bindings/python/bt2/bt2/__init__.py
common/Makefile
+ ctfser/Makefile
compat/Makefile
cli/Makefile
doc/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/graph/message/Makefile
+ lib/trace-ir/Makefile
lib/ctf-writer/Makefile
include/Makefile
logging/Makefile
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
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
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
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/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/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" = 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/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])
+ ]
)
AS_IF([test "x$enable_python_plugins" = "xyes"],
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
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`"