Port: Add OSX libuuid compat
authorMichael Jeanson <mjeanson@efficios.com>
Tue, 2 Aug 2016 20:27:59 +0000 (16:27 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Thu, 4 Aug 2016 18:20:15 +0000 (14:20 -0400)
OSX has the libuuid symbols built in the system libraries.

Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
configure.ac
src/common/Makefile.am

index 6222e2bf0e1cc6640d78e5c7ee4f50892fae6aff..aa4220de70739608db734aa7b87d2e991386d941 100644 (file)
@@ -322,21 +322,28 @@ PKG_CHECK_MODULES([POPT], [popt],
 
 AM_PATH_XML2(2.7.6, true, AC_MSG_ERROR(No supported version of libxml2 found.))
 
-# Check for libuuid
+# Check for uuid in system libs
+AC_CHECK_FUNCS([uuid_generate],
+[
+       AC_DEFINE_UNQUOTED([LTTNG_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="$LIBS $UUID_LIBS"
        AC_DEFINE_UNQUOTED([LTTNG_HAVE_LIBUUID], 1, [Has libuuid support.])
-       have_libuuid=yes
+       link_with_libuuid=yes
 ],
 [
-       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.])
+       # Check for libuuid
        AC_CHECK_LIB([uuid],
                [uuid_generate],
                [
                        AC_DEFINE_UNQUOTED([LTTNG_HAVE_LIBUUID], 1, [Has libuuid support.])
-                       have_libuuid=yes
+                       link_with_libuuid=yes
                ],
                [
                        # libuuid not found, check for uuid_create in libc.
@@ -344,7 +351,7 @@ PKG_CHECK_MODULES([UUID], [uuid],
                                [uuid_create],
                                [
                                        AC_DEFINE_UNQUOTED([LTTNG_HAVE_LIBC_UUID], 1, [Has libc uuid support.])
-                                       have_libc_uuid=yes
+                                       link_with_libc_uuid=yes
                                ],
                                [
                                        AC_MSG_ERROR([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])
@@ -353,8 +360,10 @@ PKG_CHECK_MODULES([UUID], [uuid],
                ]
        )
 ])
-AM_CONDITIONAL([LTTNG_BUILD_WITH_LIBUUID], [test "x$have_libuuid" = "xyes"])
-AM_CONDITIONAL([LTTNG_BUILD_WITH_LIBC_UUID], [test "x$have_libc_uuid" = "xyes"])
+])
+
+AM_CONDITIONAL([LTTNG_BUILD_WITH_LIBUUID], [test "x$link_with_libuuid" = "xyes"])
+AM_CONDITIONAL([LTTNG_BUILD_WITH_LIBC_UUID], [test "x$link_with_libc_uuid" = "xyes"])
 
 # URCU library version needed or newer
 m4_define([WRONG_LIBURCU_MSG], [Userspace RCU (liburcu) >= 0.8.0 is needed])
index 8633730a92b102baee5ee59f8b5b226e241750d7..37c451a45e1f5734aedba1436a5f66c8297f3d51 100644 (file)
@@ -76,9 +76,14 @@ libcommon_la_SOURCES = error.h error.c utils.c utils.h runas.c runas.h \
                        filter.c filter.h context.c context.h
 
 libcommon_la_LIBADD = \
-               -luuid \
                -lrt \
                $(top_builddir)/src/common/config/libconfig.la
+if LTTNG_BUILD_WITH_LIBUUID
+libcommon_la_LIBADD += -luuid
+endif
+if LTTNG_BUILD_WITH_LIBC_UUID
+libcommon_la_LIBADD += -lc
+endif
 
 all-local:
        @if [ x"$(srcdir)" != x"$(builddir)" ]; then \
This page took 0.028504 seconds and 4 git commands to generate.