diff --git a/configure.ac b/configure.ac index c055187d..44f4d6d4 100644 --- a/configure.ac +++ b/configure.ac @@ -648,27 +648,36 @@ dnl AC_ARG_WITH(libuuid, AC_HELP_STRING([--without-libuuid], [Generate UUIDs for WARC files via libuuid])) -AS_IF([test "X$with_libuuid" != "Xno"],[ +AS_IF([test "x$with_libuuid" = xyes], [ + # libuuid was explicitly requested PKG_CHECK_MODULES([UUID], uuid, [ LIBS="$UUID_LIBS $LIBS" CFLAGS="$UUID_CFLAGS $CFLAGS" - AC_DEFINE([HAVE_LIBUUID], [1], [Define if using libuuid.]) + uuid_mode=1 + ], [ + AC_SEARCH_LIBS(uuid_generate, uuid, + [uuid_mode=1], + [AC_MSG_ERROR(*** libuuid was explicitly requested but wasn't found.)]) + ]) +], [test "x$with_libuuid" = xno], [ + # libuuid was explicitly *not* requested + AC_CHECK_HEADER(uuid.h, + AC_CHECK_FUNC(uuid_create, [uuid_mode=2])) +], [ + # default: + AC_CHECK_HEADER(uuid.h, [ + AC_CHECK_FUNC(uuid_create, [uuid_mode=2]) ], [ AC_CHECK_HEADER(uuid/uuid.h, - AC_CHECK_LIB(uuid, uuid_generate, - [LIBS="${LIBS} -luuid" - AC_DEFINE([HAVE_LIBUUID], 1, - [Define if libuuid is available.]) - ]) - ) + AC_SEARCH_LIBS(uuid_generate, uuid, [uuid_mode=1])) ]) ]) -AC_CHECK_HEADER(uuid.h, - AC_CHECK_FUNC(uuid_create, - [AC_DEFINE([HAVE_UUID_CREATE], 1, [Define if uuid_create is available.])] - ) -) +AS_IF([test "x$uuid_mode" = x1], [ + AC_DEFINE([HAVE_LIBUUID], [1], [Define if using libuuid.]) +], [test "x$uuid_mode" = x2], [ + AC_DEFINE([HAVE_UUID_CREATE], 1, [Define if uuid_create is available.]) +]) dnl dnl Check for PCRE