AC_ARG_ENABLE([python-bindings],
[AC_HELP_STRING([--enable-python-bindings],
[generate Python bindings])],
- [enable_python=yes], [enable_python=no])
+ [enable_python_bindings=yes], [enable_python_bindings=no])
-AM_CONDITIONAL([USE_PYTHON], [test "x${enable_python:-yes}" = xyes])
+AM_CONDITIONAL([USE_PYTHON], [test "x${enable_python_bindings:-yes}" = xyes])
-AC_ARG_ENABLE([python-bindings-doc],
- [AC_HELP_STRING([--enable-python-bindings-doc],
- [generate Python bindings documentation])],
- [enable_python_bindings_doc=yes], [enable_python_bindings_doc=no])
+AC_ARG_ENABLE(
+ [python-plugins],
+ [AC_HELP_STRING(
+ [--enable-python-plugins],
+ [add support for the Babeltrace library and converter to load Python plugins])
+ ],
+ [enable_python_plugins=yes],
+ [enable_python_plugins=no]
+)
-if test "x${enable_python:-no}" = xno && test "x${enable_python_bindings_doc:-yes}" = xyes; then
- AC_MSG_ERROR([--enable-python-bindings-doc was specified without --enable-python-bindings])
+if test "x${enable_python_bindings:-yes}" = xyes; then
+ AX_PKG_SWIG($swig_version, [], [ AC_MSG_ERROR([SWIG $swig_version or newer is needed]) ])
+else
+ AC_MSG_NOTICE([You may configure with --enable-python-bindings ]dnl
+[if you want Python bindings.])
fi
-AM_CONDITIONAL([BUILD_PYTHON_BINDINGS_DOC], [test "x${enable_python_bindings_doc:-yes}" = xyes])
-
-if test "x${enable_python:-yes}" = xyes; then
- AX_PKG_SWIG($swig_version, [], [ AC_MSG_ERROR([SWIG $swig_version or newer is needed]) ])
+if test "x$enable_python_bindings" != xno || test "x$enable_python_plugins" != xno; then
AM_PATH_PYTHON([3.0], , [AC_MSG_ERROR(Python3 is not available or is not the default Python interpreter on your system. See the README file to learn how to override your distribution's default Python interpreter.)])
AM_PATH_PYTHON_MODULES([PYTHON])
pythondir=$PYTHON_PREFIX/$PYTHON_MODULES_PATH
# pyexecdir is the path that contains shared objects used by the extra modules
pyexecdir=$PYTHON_EXEC_PREFIX/$PYTHON_MODULES_PATH
- AC_ARG_VAR([PYTHON_INCLUDE], [Include flags for python, bypassing python-config])
+ AC_ARG_VAR([PYTHON_INCLUDE], [Include flags for Python, bypassing python-config])
+ AC_ARG_VAR([PYTHON_LIBS], [Library flags for Python, bypassing python-config])
AC_ARG_VAR([PYTHON_CONFIG], [Path to python-config])
AS_IF([test -z "$PYTHON_INCLUDE"], [
AS_IF([test -z "$PYTHON_CONFIG"], [
[`dirname $PYTHON`])
AS_IF([test "$PYTHON_CONFIG" = no], [AC_MSG_ERROR([cannot find python-config for $PYTHON. Do you have python-dev installed?])])
])
- AC_MSG_CHECKING([python include flags])
+ AC_MSG_CHECKING([Python include flags])
PYTHON_INCLUDE=`$PYTHON_CONFIG --includes`
AC_MSG_RESULT([$PYTHON_INCLUDE])
])
-else
- AC_MSG_NOTICE([You may configure with --enable-python-bindings ]dnl
-[if you want Python bindings.])
+ AS_IF([test -z "$PYTHON_LIBS"], [
+ AS_IF([test -z "$PYTHON_CONFIG"], [
+ AC_PATH_PROGS([PYTHON_CONFIG],
+ [python$PYTHON_VERSION-config python-config],
+ [no],
+ [`dirname $PYTHON`])
+ AS_IF([test "$PYTHON_CONFIG" = no], [AC_MSG_ERROR([cannot find python-config for $PYTHON. Do you have python-dev installed?])])
+ ])
+ AC_MSG_CHECKING([Python library flags])
+ PYTHON_LIBS=`$PYTHON_CONFIG --libs`
+ AC_MSG_RESULT([$PYTHON_LIBS])
+ ])
+fi
+
+AM_CONDITIONAL([WITH_PYTHON_PLUGINS], [test "x$enable_python_plugins" != xno])
+AS_IF(
+ [test "x$enable_python_plugins" != xno],
+ AC_DEFINE_UNQUOTED([WITH_PYTHON_PLUGINS], [1], [Python plugin support.])
+)
+
+AC_ARG_ENABLE([python-bindings-doc],
+ [AC_HELP_STRING([--enable-python-bindings-doc],
+ [generate Python bindings documentation])],
+ [enable_python_bindings_doc=yes], [enable_python_bindings_doc=no])
+
+AM_CONDITIONAL([BUILD_PYTHON_BINDINGS_DOC], [test "x${enable_python_bindings_doc:-yes}" = xyes])
+
+AC_ARG_ENABLE([python-bindings-tests],
+ [AC_HELP_STRING([--enable-python-bindings-tests],
+ [test Python bindings])],
+ [enable_python_bindings_tests=yes], [enable_python_bindings_tests=no])
+AM_CONDITIONAL([ENABLE_PYTHON_BINDINGS_TESTS], [test "x${enable_python_bindings_tests:-yes}" = xyes])
+
+if test "x${enable_python_bindings:-no}" = xno; then
+ if test "x${enable_python_bindings_doc:-yes}" = xyes; then
+ AC_MSG_ERROR([--enable-python-bindings-doc was specified without --enable-python-bindings])
+ fi
+
+ if test "x${enable_python_bindings_tests:-yes}" = xyes; then
+ AC_MSG_ERROR([--enable-python-bindings-tests was specified without --enable-python-bindings])
+ fi
fi
if test "x${enable_python_bindings_doc:-yes}" = xyes; then
)
fi
+if test "x${enable_python_bindings_tests:-yes}" = xyes; then
+ AM_CHECK_PYTHON_TAPPY([PYTHON])
+ AS_IF([test "x$PYTHON_TAPPY_EXISTS" = xno],
+ AC_MSG_ERROR([You need the tappy Python project to test the Python bindings (see <https://github.com/python-tap/tappy>)])
+ )
+fi
+
# 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.
babeltracepluginincludedir="${includedir}/babeltrace/plugin"
AC_SUBST(babeltracepluginincludedir)
-program_transform_name='s/babeltrace[\].bin/babeltrace/g'
+babeltracecomponentincludedir="${includedir}/babeltrace/component"
+AC_SUBST(babeltracecomponentincludedir)
+
+babeltracecomponentnotifincludedir="${includedir}/babeltrace/component/notification"
+AC_SUBST(babeltracecomponentnotifincludedir)
+
+program_transform_name="s&babeltrace\.bin&babeltrace&;$program_transform_name"
AC_SUBST(program_transform_name)
# check for Doxygen
doc/images/Makefile
lib/Makefile
lib/prio_heap/Makefile
- lib/plugin-system/Makefile
- lib/plugin-system/notification/Makefile
+ lib/plugin/Makefile
+ lib/component/Makefile
+ lib/component/notification/Makefile
include/Makefile
bindings/Makefile
bindings/python/Makefile
bindings/python/babeltrace/Makefile
+ bindings/python/bt2/Makefile
+ bindings/python/bt2/__init__.py
tests/Makefile
tests/bin/Makefile
tests/bin/intersection/Makefile
tests/lib/Makefile
+ tests/lib/writer/Makefile
+ tests/lib/test-plugin-plugins/Makefile
tests/utils/Makefile
tests/utils/tap/Makefile
+ tests/bindings/Makefile
+ tests/bindings/python/Makefile
+ tests/bindings/python/bt2/Makefile
extras/Makefile
extras/valgrind/Makefile
plugins/Makefile
#AC_CONFIG_FILES([converter/babeltrace], [chmod +x converter/babeltrace])
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/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/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/lib/writer/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])
+AS_IF([test "x$enable_python" = "xyes"], [
+ AC_CONFIG_FILES(
+ [tests/bindings/python/bt2/testall.sh],
+ [chmod +x tests/bindings/python/bt2/testall.sh]
+ )
+])
+
AC_OUTPUT
#
PPRINT_PROP_BOOL([HTML API documentation], $value)
# python bindings enabled/disabled
-test "x$enable_python" = "xyes" && value=1 || value=0
+test "x$enable_python_bindings" = "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)
+# python bindings tests enabled/disabled
+test "x$enable_python_bindings_tests" = "xyes" && value=1 || value=0
+PPRINT_PROP_BOOL([Python bindings tests], $value)
+
+# python plugins enabled/disabled
+test "x$enable_python_plugins" = "xyes" && value=1 || value=0
+PPRINT_PROP_BOOL([Python plugin support], $value)
+
# debug info enabled/disabled
test "x$_enable_debug_info" = "xyes" && value=1 || value=0
PPRINT_PROP_BOOL([Debug information output], $value)