X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;ds=sidebyside;f=configure.ac;h=cd24ae4263f585b901c85c27ce5522fc778e02b1;hb=4581096d7c66be8cb9dcba9c48aa458583f4de4a;hp=c94b720e1e0197f7793e0dcc0acb3d181ca8e6c2;hpb=9ffc0257721b043158a502d3fcd7eb275630a95b;p=babeltrace.git diff --git a/configure.ac b/configure.ac index c94b720e..cd24ae42 100644 --- a/configure.ac +++ b/configure.ac @@ -159,6 +159,24 @@ AC_CHECK_HEADERS([ \ 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]) @@ -569,11 +587,13 @@ AS_IF([test "x$enable_python_bindings_tests" = xyes], 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"], [ @@ -604,7 +624,31 @@ AM_CPPFLAGS="-I\$(top_builddir)/include -I\$(top_srcdir)/include -include config AC_SUBST(AM_CPPFLAGS) # Add glib to global link libs -LIBS="$GLIB_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 +#include + ], [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. @@ -684,14 +728,14 @@ AC_CONFIG_FILES([tests/cli/test_packet_seq_num], [chmod +x tests/cli/test_packet 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], [AC_CONFIG_FILES([tests/bindings/python/bt2/testall.sh], [chmod +x tests/bindings/python/bt2/testall.sh])]