From 81ba8833b7078b74f7b7f4acd62b975cb206fb4e Mon Sep 17 00:00:00 2001 From: Michael Jeanson Date: Tue, 2 Aug 2016 16:27:59 -0400 Subject: [PATCH] Port: Add OSX libuuid compat MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit OSX has the libuuid symbols built in the system libraries. Signed-off-by: Michael Jeanson Signed-off-by: Jérémie Galarneau --- configure.ac | 25 +++++++++++++++++-------- src/common/Makefile.am | 7 ++++++- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/configure.ac b/configure.ac index 6222e2bf0..aa4220de7 100644 --- a/configure.ac +++ b/configure.ac @@ -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]) diff --git a/src/common/Makefile.am b/src/common/Makefile.am index 8633730a9..37c451a45 100644 --- a/src/common/Makefile.am +++ b/src/common/Makefile.am @@ -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 \ -- 2.34.1