- # 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.])
- have_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
- ])
-]
-)
-AM_CONDITIONAL([BABELTRACE_BUILD_WITH_LIBUUID], [test "x$have_libuuid" = "xyes"])
-AM_CONDITIONAL([BABELTRACE_BUILD_WITH_LIBC_UUID], [test "x$have_libc_uuid" = "xyes"])
+ # 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
+ ],
+ [
+ # 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],
+ [
+ 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
+ ])
+ ])
+ ])
+])
+
+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"])