|
@@ -0,0 +1,86 @@
|
|
|
+From 2741f55be80ae8af169ae795ea28d2a39c18fa60 Mon Sep 17 00:00:00 2001
|
|
|
+From: Samuel Martin <s.martin49@gmail.com>
|
|
|
+Date: Wed, 1 Jun 2016 21:56:32 +0200
|
|
|
+Subject: [PATCH] configure: fix uuid support detection on static build
|
|
|
+MIME-Version: 1.0
|
|
|
+Content-Type: text/plain; charset=UTF-8
|
|
|
+Content-Transfer-Encoding: 8bit
|
|
|
+
|
|
|
+This change adds uuid detection using pkg-config helper before falling
|
|
|
+back on the standard AC_CHECK_LIB detection for platforms missing
|
|
|
+pkg-config.
|
|
|
+
|
|
|
+AC_CHECK_LIB function achieves its test by trying to link against the
|
|
|
+requested library, without taking care of its dependency
|
|
|
+requirements/flags that may differ between different targets.
|
|
|
+Therefore, in case of static build, it can fail on the uuid detection
|
|
|
+like [1], because the uuid's dependency flags (regarding gettext) are
|
|
|
+missing.
|
|
|
+
|
|
|
+Instead, using pkg-config to do the check will take care of getting and
|
|
|
+setting all required flags.
|
|
|
+
|
|
|
+This issue [1] has been triggered on Buildroot farms.
|
|
|
+
|
|
|
+[1] http://autobuild.buildroot.net/results/43b/43b98ddf9eb44152ed9ac4a98d887af14831d8da/build-end.log
|
|
|
+
|
|
|
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
|
|
+Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
|
|
|
+[Philippe: grabbed from this upstream patch:
|
|
|
+ https://github.com/efficios/babeltrace/commit/2741f55be80ae8af169ae795ea28d2a39c18fa60.patch
|
|
|
+]
|
|
|
+Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
|
|
|
+---
|
|
|
+ configure.ac | 31 +++++++++++++++++++++----------
|
|
|
+ 1 file changed, 21 insertions(+), 10 deletions(-)
|
|
|
+
|
|
|
+diff --git a/configure.ac b/configure.ac
|
|
|
+index 84f9000..2f5e3f8 100644
|
|
|
+--- a/configure.ac
|
|
|
++++ b/configure.ac
|
|
|
+@@ -163,24 +163,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 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
|
|
|
++ ])
|
|
|
+ ])
|
|
|
+ ])
|
|
|
+ ])
|