AX_APPEND_LINK_FLAGS([-Wl,--no-as-needed], [LD_NO_AS_NEEDED])
AC_SUBST([LD_NO_AS_NEEDED])
+# Check if the linker supports whole-archive
+AX_CHECK_LINK_FLAG([-Wl,--whole-archive,--no-whole-archive],
+ [
+ AC_SUBST([LD_WHOLE_ARCHIVE], [-Wl,--whole-archive,])
+ AC_SUBST([LD_NO_WHOLE_ARCHIVE], [,--no-whole-archive])
+ ],[
+ # Fallback to force_load for the macOS linker
+ AX_CHECK_LINK_FLAG([-Wl,-force_load],
+ [
+ AC_SUBST([LD_WHOLE_ARCHIVE], [-Wl,-force_load,])
+ AC_SUBST([LD_NO_WHOLE_ARCHIVE], [])
+ ],[
+ AC_MSG_WARN([Can't find a linker option to force the inclusion of the static plugin archive objects.])
+ ]
+ )
+ ]
+)
+
# Initialize and configure libtool
LT_INIT([win32-dll])
)
-# Check for conflicting optionnal features user choices
+# Check for conflicting optional features user choices
AS_IF([test "x$enable_python_bindings" = xno],
[
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.)])
+ 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.)])
BT_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.)])
+ ELFUTILS_LIBS="-lelf -ldw"
]
)
+AC_SUBST([ELFUTILS_LIBS])
AS_IF([test "x$enable_api_doc" = "xyes"],
[
# Add glib to global link libs
LIBS="$LIBS $GLIB_LIBS"
+# Check that the current size_t matches the size that glib thinks it should
+# be. This catches problems on multi-arch where people try to do a 32-bit
+# build while pointing at 64-bit glib headers. This is a common error because
+# glib.h is not platform specific but it includes glibconfig.h which is and
+# is usually installed in a non-standard path.
+
+save_CFLAGS=${CFLAGS}
+CFLAGS="${CFLAGS} ${AM_CFLAGS}"
+AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([dnl
+#include <glib.h>
+#include <unistd.h>
+ ], [dnl
+G_STATIC_ASSERT(sizeof(size_t) == GLIB_SIZEOF_SIZE_T);
+ ])
+],[:],[
+ AC_MSG_ERROR([dnl
+sizeof(size_t) doesn't match GLIB_SIZEOF_SIZE_T. You probably need to set
+PKG_CONFIG_LIBDIR to point to the right pkg-config files for your build
+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"
AC_SUBST(program_transform_name)
-
- #TODO: removed, work in progress
- #bindings/python/Makefile
- #bindings/python/babeltrace/Makefile
- #bindings/python/bt2/Makefile
- #bindings/python/bt2/__init__.py
AC_CONFIG_FILES([
Makefile
+ bindings/python/Makefile
+ bindings/python/bt2/Makefile
+ bindings/python/bt2/__init__.py
common/Makefile
compat/Makefile
cli/Makefile
tests/bindings/python/Makefile
tests/bindings/python/bt2/Makefile
tests/plugins/Makefile
+ tests/python-plugin-provider/Makefile
extras/Makefile
extras/valgrind/Makefile
plugins/Makefile
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_bin_info_complete], [chmod +x tests/lib/test_bin_info_complete])
AC_CONFIG_FILES([tests/lib/test_ctf_writer_complete], [chmod +x tests/lib/test_ctf_writer_complete])
-AC_CONFIG_FILES([tests/lib/test_dwarf_complete], [chmod +x tests/lib/test_dwarf_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/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])
-AS_IF([test "x$enable_python" = xyes],
+AS_IF([test "x$enable_python_bindings_tests" = xyes],
[AC_CONFIG_FILES([tests/bindings/python/bt2/testall.sh], [chmod +x tests/bindings/python/bt2/testall.sh])]
)
+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_OUTPUT
#