From 540595955bc44daecf294216133e9e50cfe4fcb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim Rühsen?= Date: Wed, 17 Dec 2014 10:29:12 +0100 Subject: [PATCH] configure.ac: Fix libuuid and uuid_create detection --with-libuuid now explictly asks for libuuid. --without-libuuid ignores libuuid and tries to use libc builtin functions. Else try builtin functions first, libuuid second and fallback to Wget's own function. --- configure.ac | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/configure.ac b/configure.ac index ff016ce..ef49a59 100644 --- a/configure.ac +++ b/configure.ac @@ -646,27 +646,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 -- 2.1.3