Cleanup: uuid library detection
[babeltrace.git] / configure.ac
index 29bd8d4ac515fe831e69f577c16910a402e3321b..a3d66c90bea81eee47f9b8cf9a8e8770c5036873 100644 (file)
@@ -10,7 +10,7 @@ AC_INIT([babeltrace],bt_version,[jeremie dot galarneau at efficios dot com])
 # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
 AC_SUBST([BABELTRACE_LIBRARY_VERSION], bt_version_major[:]bt_version_minor[:]bt_version_patch)
 
-AC_CONFIG_HEADERS([config.h])
+AC_CONFIG_HEADERS([include/config.h])
 AC_CONFIG_AUX_DIR([config])
 AC_CONFIG_MACRO_DIR([m4])
 
@@ -22,7 +22,7 @@ AC_DEFINE([BT_VERSION_EXTRA], ["]bt_version_extra["], [Babeltrace library extra
 AC_CANONICAL_TARGET
 AC_CANONICAL_HOST
 
-AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip tar-ustar])
+AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip tar-ustar nostdinc])
 AM_MAINTAINER_MODE([enable])
 
 # Enable silent rules if available (Introduced in AM 1.11)
@@ -50,9 +50,6 @@ AS_IF([test "x$ax_cv___attribute__" = "xyes"],
        [AC_MSG_ERROR([The compiler does not support __attribute__ extensions])])
 
 AX_PTHREAD(,[AC_MSG_ERROR([Could not configure pthreads support])])
-LIBS="$PTHREAD_LIBS $LIBS"
-CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-CC="$PTHREAD_CC"
 
 # Check linker option
 AX_APPEND_LINK_FLAGS([-Wl,--no-as-needed], [LD_NO_AS_NEEDED])
@@ -177,48 +174,50 @@ AS_CASE([$host_os],
 AM_CONDITIONAL([BABELTRACE_BUILD_WITH_MINGW], [test "x$MINGW32" = "xyes"])
 AC_SUBST(LT_NO_UNDEFINED)
 
-# Check for uuid in system libs
+# First, check for uuid in system libs
+AH_TEMPLATE([BABELTRACE_HAVE_LIBUUID], [Define if you have libuuid support])
 AC_CHECK_FUNCS([uuid_generate],
-[
-  AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBUUID], 1, [Has libuuid support.])
-  link_with_libuuid=no
-],
-[
-  # 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
+    AC_DEFINE([BABELTRACE_HAVE_LIBUUID], [1])
+    UUID_LIBS=""
   ],
   [
-    # Check for libuuid
-    AC_CHECK_LIB([uuid], [uuid_generate],
-    [
-      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],
+    # Then, check if the pkg-config module is available, otherwise explicitly check
+    # for libuuid, or uuid support in the C-library.
+    PKG_CHECK_MODULES([UUID], [uuid],
       [
-        AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBC_UUID], 1, [Has libc uuid support.])
-        link_with_libc_uuid=yes
+        AC_DEFINE([BABELTRACE_HAVE_LIBUUID], [1])
+        dnl PKG_CHECK_MODULES defines UUID_LIBS
       ],
       [
-        # 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
-      ])
-    ])
-  ])
-])
-
-AM_CONDITIONAL([BABELTRACE_BUILD_WITH_LIBUUID], [test "x$link_with_libuuid" = "xyes"])
-AM_CONDITIONAL([BABELTRACE_BUILD_WITH_LIBC_UUID], [test "x$link_with_libc_uuid" = "xyes"])
+        AC_MSG_WARN([pkg-config was unable to find a valid .pc for libuuid. Set PKG_CONFIG_PATH to specify the pkgconfig configuration file location])
+        AC_MSG_WARN([Finding libuuid without pkg-config.])
+        AC_CHECK_LIB([uuid], [uuid_generate],
+          [
+            AC_DEFINE([BABELTRACE_HAVE_LIBUUID], [1])
+            UUID_LIBS="-luuid"
+          ],
+          [
+            # libuuid not found, check for uuid_create in libc.
+            AC_CHECK_LIB([c], [uuid_create],
+              [
+                AC_DEFINE([BABELTRACE_HAVE_LIBUUID], [1])
+                UUID_LIBS="-lc"
+              ],
+              [
+                # for MinGW32 we have our own internal implementation of uuid using Windows functions.
+                if test "x$MINGW32" = xno; then
+                  AC_MSG_FAILURE([Cannot find libuuid uuid_generate nor libc uuid_create. Either set PKG_CONFIG_PATH to the configuration file location or use LDFLAGS=-Ldir to specify the library location])
+               fi
+              ]
+            )
+          ]
+        )
+      ]
+    )
+  ]
+)
+AC_SUBST(UUID_LIBS)
 
 # Check for fmemopen
 AC_CHECK_LIB([c], [fmemopen],
@@ -241,9 +240,24 @@ AC_CHECK_LIB([c], [posix_fallocate],
 ]
 )
 
-AC_CHECK_LIB([popt], [poptGetContext], [],
-        [AC_MSG_ERROR([Cannot find popt.])]
+# Check libpopt
+PKG_CHECK_MODULES([POPT], [popt],
+  [
+    dnl PKG_CHECK_MODULES defines POPT_LIBS
+  ],
+  [
+    AC_MSG_WARN([pkg-config was unable to find a valid .pc for libpopt. Set PKG_CONFIG_PATH to specify the pkgconfig configuration file location])
+    AC_MSG_WARN([Finding libpopt without pkg-config.])
+    AC_CHECK_LIB([popt],
+      [poptGetContext],
+      [POPT_LIBS="-lpopt"],
+      [
+        AC_MSG_FAILURE([Cannot find libpopt. Either set PKG_CONFIG_PATH to the configuration file location or use LDFLAGS=-Ldir to specify the library location])
+      ]
+    )
+  ]
 )
+AC_SUBST(POPT_LIBS)
 
 # Plugins
 AC_ARG_VAR([PLUGINSDIR], [built-in plugins install directory [LIBDIR/babeltrace/plugins]])
@@ -416,12 +430,13 @@ AS_IF([test "$BABELTRACE_MINIMAL_LOG_LEVEL" != "VERBOSE" && test "$BABELTRACE_MI
 ])
 AC_DEFINE_UNQUOTED([BT_LOG_LEVEL], [BT_LOG_$BABELTRACE_MINIMAL_LOG_LEVEL], [Minimal log level])
 
-LIBS="$LIBS $GMODULE_LIBS"
-PACKAGE_CFLAGS="$GMODULE_CFLAGS -Wall -Wformat"
-AC_SUBST(PACKAGE_CFLAGS)
+AM_CFLAGS="-Wall -Wformat $PTHREAD_CFLAGS $GLIB_CFLAGS"
+AC_SUBST(AM_CFLAGS)
+
+AM_CPPFLAGS="-I\$(top_builddir)/include -I\$(top_srcdir)/include -include config.h"
+AC_SUBST(AM_CPPFLAGS)
 
-DEFAULT_INCLUDES="-I\$(top_srcdir) -I\$(top_builddir) -I\$(top_builddir)/include -include config.h"
-AC_SUBST(DEFAULT_INCLUDES)
+LIBS="$GLIB_LIBS"
 
 babeltraceincludedir="${includedir}/babeltrace"
 AC_SUBST(babeltraceincludedir)
@@ -441,7 +456,7 @@ AC_SUBST(babeltracepluginincludedir)
 babeltracegraphincludedir="${includedir}/babeltrace/graph"
 AC_SUBST(babeltracegraphincludedir)
 
-program_transform_name="s&babeltrace\.bin&babeltrace&;$program_transform_name"
+program_transform_name="s&babeltrace\.bin&babeltrace&;s&babeltrace-log\.bin&babeltrace-log&;$program_transform_name"
 AC_SUBST(program_transform_name)
 
 # check for Doxygen
This page took 0.035031 seconds and 4 git commands to generate.