Fix: Add missing LIBS to python bindings
[babeltrace.git] / configure.ac
index cda2bc93eab31b8533cc274101c9cfb7536a0dea..24e929745ccbca002cc9709c8e11bbb9bb5604f0 100644 (file)
@@ -1,5 +1,5 @@
 AC_PREREQ([2.50])
-AC_INIT([babeltrace],[1.4.0-rc1],[jeremie.galarneau@efficios.com],[],[https://diamon.org/babeltrace])
+AC_INIT([babeltrace],[1.4.2],[jeremie.galarneau@efficios.com],[],[https://diamon.org/babeltrace])
 AC_SUBST([BABELTRACE_LIBRARY_VERSION], [1:0:0])
 
 AC_CONFIG_HEADERS([config.h])
@@ -128,11 +128,11 @@ AC_CHECK_FUNCS([ \
 ])
 
 MINGW32=no
-DEFAULT_ENABLE_DEBUGINFO=yes
+DEFAULT_ENABLE_DEBUG_INFO=yes
 AS_CASE([$host_os],
   [solaris*|darwin*],
     [
-       DEFAULT_ENABLE_DEBUGINFO=no
+       DEFAULT_ENABLE_DEBUG_INFO=no
     ],
   [mingw*],
     [
@@ -152,24 +152,35 @@ AC_CHECK_FUNCS([uuid_generate],
   link_with_libuuid=no
 ],
 [
-  # Check for libuuid
-  AC_CHECK_LIB([uuid], [uuid_generate],
+  # First, check the pkg-config module is available, otherwise explicitly check
+  # for libuuid, or uuid support in the C-library.
+  PKG_CHECK_MODULES([UUID], [uuid],
   [
+    LIBS="${UUID_LIBS} ${LIBS}"
+    CFLAGS="${CFLAGS} ${UUID_CFLAGS}"
     AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBUUID], 1, [Has libuuid support.])
     link_with_libuuid=yes
   ],
   [
-    # libuuid not found, check for uuid_create in libc.
-    AC_CHECK_LIB([c], [uuid_create],
+    # Check for libuuid
+    AC_CHECK_LIB([uuid], [uuid_generate],
     [
-      AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBC_UUID], 1, [Has libc uuid support.])
-      link_with_libc_uuid=yes
+      AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBUUID], 1, [Has libuuid support.])
+      link_with_libuuid=yes
     ],
     [
-      # for MinGW32 we have our own internal implemenation of uuid using Windows functions.
-      if test "x$MINGW32" = xno; then
-        AC_MSG_ERROR([Cannot find libuuid uuid_generate nor libc uuid_create. Use [LDFLAGS]=-Ldir to specify their location.])
-      fi
+      # libuuid not found, check for uuid_create in libc.
+      AC_CHECK_LIB([c], [uuid_create],
+      [
+        AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBC_UUID], 1, [Has libc uuid support.])
+        link_with_libc_uuid=yes
+      ],
+      [
+        # for MinGW32 we have our own internal implementation of uuid using Windows functions.
+        if test "x$MINGW32" = xno; then
+          AC_MSG_ERROR([Cannot find libuuid uuid_generate nor libc uuid_create. Use [LDFLAGS]=-Ldir to specify their location.])
+        fi
+      ])
     ])
   ])
 ])
@@ -222,13 +233,8 @@ AM_CONDITIONAL([USE_PYTHON], [test "x${enable_python:-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]) ])
-  AM_PATH_PYTHON
+  AM_PATH_PYTHON([3.0], [], [ AC_MSG_ERROR([Python 3.0 or newer is needed]) ])
 
-  AM_PATH_PYTHON_MODULES([PYTHON])
-  # pythondir is the path where extra modules are to be installed
-  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_CONFIG], [Path to python-config])
   AS_IF([test -z "$PYTHON_INCLUDE"], [
@@ -250,24 +256,26 @@ else
 
 fi
 
-# Set default enable state for debug info
-AS_IF([test "x$DEFAULT_ENABLE_DEBUGINFO" = xyes], [enable_debuginfo=yes], [enable_debuginfo=no])
+# 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.
+AS_IF([test "x$DEFAULT_ENABLE_DEBUG_INFO" = xyes], [_enable_debug_info=yes], [_enable_debug_info=no])
 
-# Optional debuginfo feature
+# Optional debug info feature
 # Do _not_ indent the help string below (appears in the configure --help
 # output).
 AC_ARG_ENABLE([debug-info],
-[AC_HELP_STRING([--enable-debug-info], [enable the debug-info feature (default on Linux)])]
-[AC_HELP_STRING([--disable-debug-info], [disable the debug-info feature (default on OS X and Solaris)])],
-       [AS_IF([test "x$enableval" = xyes], [enable_debuginfo=yes], [enable_debuginfo=no])], [])
+[AC_HELP_STRING([--enable-debug-info], [enable the debug info feature (default on Linux)])]
+[AC_HELP_STRING([--disable-debug-info], [disable the debug info feature (default on OS X and Solaris)])],
+       [AS_IF([test "x$enableval" = xyes], [_enable_debug_info=yes], [_enable_debug_info=no])], [])
 
-AM_CONDITIONAL([ENABLE_DEBUGINFO], [test "x$enable_debuginfo" = xyes])
-AS_IF([test "x$enable_debuginfo" = xyes], [
+AM_CONDITIONAL([ENABLE_DEBUG_INFO], [test "x$_enable_debug_info" = 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-debuginfo.)])
-           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-debuginfo.)])
-           AX_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-debuginfo.)])
-            AC_DEFINE([ENABLE_DEBUGINFO], [1], [Define to 1 if you enable the 'debug-info' feature])
+           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.)])
+            AC_DEFINE([ENABLE_DEBUG_INFO], [1], [Define to 1 if you enable the 'debug info' feature])
 ], [])
 
 PKG_CHECK_MODULES(GMODULE, [gmodule-2.0 >= 2.0.0])
@@ -310,7 +318,9 @@ AC_CONFIG_FILES([
        include/Makefile
        bindings/Makefile
        bindings/python/Makefile
+       bindings/python/setup.py
        bindings/python/babeltrace/Makefile
+       bindings/python/babeltrace/__init__.py
        tests/Makefile
        tests/bin/Makefile
        tests/bin/intersection/Makefile
@@ -333,7 +343,13 @@ 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/bin/test_packet_seq_num], [chmod +x tests/bin/test_packet_seq_num])
-AC_CONFIG_FILES([tests/bin/intersection/test_multi_trace_intersection.py:tests/bin/intersection/test_multi_trace_intersection.py], [chmod +x tests/bin/intersection/test_multi_trace_intersection.py])
+
+# Create link for Babeltrace complements files for out-of-tree builds
+AC_CONFIG_LINKS([
+       bindings/python/babeltrace/python-complements.c:bindings/python/babeltrace/python-complements.c
+       bindings/python/babeltrace/python-complements.h:bindings/python/babeltrace/python-complements.h
+       bindings/python/babeltrace/babeltrace.i.in:bindings/python/babeltrace/babeltrace.i.in
+])
 
 AC_OUTPUT
 
@@ -372,8 +388,8 @@ PPRINT_PROP_BOOL([Python bindings], $value)
 test "x$enable_python_bindings_doc" = "xyes" && value=1 || value=0
 PPRINT_PROP_BOOL([Python bindings doc], $value)
 
-# debug-info enabled/disabled
-test "x$enable_debuginfo" = "xyes" && value=1 || value=0
+# debug info enabled/disabled
+test "x$_enable_debug_info" = "xyes" && value=1 || value=0
 PPRINT_PROP_BOOL([Debug information output], $value)
 
 
This page took 0.025276 seconds and 4 git commands to generate.