]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
Fix xfsprogs builds on certain platforms with unusual libuuid locations.
authorNathan Scott <nathans@sgi.com>
Fri, 5 Mar 2004 04:12:55 +0000 (04:12 +0000)
committerNathan Scott <nathans@sgi.com>
Fri, 5 Mar 2004 04:12:55 +0000 (04:12 +0000)
aclocal.m4
configure.in
m4/package_uuiddev.m4

index b376d02f9ad62dfa63d62abb981e9728b1eea7b8..625b2a112aff1c3447338714154a46013d274c25 100644 (file)
@@ -184,20 +184,31 @@ AC_DEFUN([AC_PACKAGE_NEED_UUID_H],
     fi
   ])
 
-AC_DEFUN([AC_PACKAGE_NEED_UUIDCOMPARE],
+AC_DEFUN([AC_PACKAGE_CHECK_LIBUUID],
   [ AC_CHECK_FUNCS(uuid_compare)
-    if test $ac_cv_func_uuid_compare = no; then
-       AC_CHECK_LIB(uuid, uuid_compare, [libuuid=/usr/lib/libuuid.a], [
-       echo
-       echo 'FATAL ERROR: could not find a valid UUID library.'
-       echo 'Install the Universally Unique Identifiers library package.'
-       exit 1])
+    if test $ac_cv_func_uuid_compare = yes; then
+       libuuid=""
+    elif test "$enable_shared_uuid" = no; then
+       AC_MSG_CHECKING([for libuuid])
+       OLDLIBS="$LIBS"
+       UUIDLIBS="/usr/lib/libuuid.a /usr/lib64/libuuid.a"
+       for uuidlib in $UUIDLIBS; do
+           LIBS="$OLDLIBS $uuidlib"
+           AC_LINK_IFELSE([AC_LANG_PROGRAM(, [ uuid_compare(); ])],
+                          [ libuuid="$uuidlib" ], [ continue ],)
+           AC_MSG_RESULT($libuuid)
+       done
+       if test -z "$libuuid"; then
+           AC_MSG_RESULT(not found)
+           echo
+           echo 'FATAL ERROR: could not find a valid UUID library.'
+           echo 'Install the Universally Unique Identifiers library package.'
+           exit 1
+       fi
+       LIBS="$OLDLIBS"
+    else
+       libuuid="-luuid"
     fi
-    AC_SUBST(libuuid)
-  ])
-
-AC_DEFUN([AC_PACKAGE_CHECK_LIBUUID],
-  [ test $pkg_platform = freebsd && libuuid=""
   ])
 
 AC_DEFUN([AC_PACKAGE_NEED_PTHREAD_H],
index df99023a81951ce91ba36358d7a26eaaa6c661d9..19f37ad41ed6b133b83a492793eb6a1564f3b344 100644 (file)
@@ -29,12 +29,10 @@ AC_PACKAGE_GLOBALS(xfsprogs)
 AC_PACKAGE_UTILITIES(xfsprogs)
 
 AC_PACKAGE_NEED_UUID_H
-AC_PACKAGE_NEED_UUIDCOMPARE
 AC_ARG_ENABLE(shared-uuid,
 [ --enable-shared-uuid=[yes/no]        Link shared libuuid [default=no].],
-       libuuid="/usr/lib/libuuid.a"
-       test "$enable_shared_uuid" = yes && libuuid="-luuid",
-       libuuid="/usr/lib/libuuid.a")
+       enable_shared_uuid=yes,
+       enable_shared_uuid=no)
 AC_PACKAGE_CHECK_LIBUUID
 AC_SUBST(libuuid)
 
index 1e406772c9e84188c3f1a0080b47b36335044adf..4a2772f89b6519104c19a357f8000873bd406855 100644 (file)
@@ -9,18 +9,29 @@ AC_DEFUN([AC_PACKAGE_NEED_UUID_H],
     fi
   ])
 
-AC_DEFUN([AC_PACKAGE_NEED_UUIDCOMPARE],
+AC_DEFUN([AC_PACKAGE_CHECK_LIBUUID],
   [ AC_CHECK_FUNCS(uuid_compare)
-    if test $ac_cv_func_uuid_compare = no; then
-       AC_CHECK_LIB(uuid, uuid_compare, [libuuid=/usr/lib/libuuid.a], [
-       echo
-       echo 'FATAL ERROR: could not find a valid UUID library.'
-       echo 'Install the Universally Unique Identifiers library package.'
-       exit 1])
+    if test $ac_cv_func_uuid_compare = yes; then
+       libuuid=""
+    elif test "$enable_shared_uuid" = no; then
+       AC_MSG_CHECKING([for libuuid])
+       OLDLIBS="$LIBS"
+       UUIDLIBS="/usr/lib/libuuid.a /usr/lib64/libuuid.a"
+       for uuidlib in $UUIDLIBS; do
+           LIBS="$OLDLIBS $uuidlib"
+           AC_LINK_IFELSE([AC_LANG_PROGRAM(, [ uuid_compare(); ])],
+                          [ libuuid="$uuidlib" ], [ continue ],)
+           AC_MSG_RESULT($libuuid)
+       done
+       if test -z "$libuuid"; then
+           AC_MSG_RESULT(not found)
+           echo
+           echo 'FATAL ERROR: could not find a valid UUID library.'
+           echo 'Install the Universally Unique Identifiers library package.'
+           exit 1
+       fi
+       LIBS="$OLDLIBS"
+    else
+       libuuid="-luuid"
     fi
-    AC_SUBST(libuuid)
-  ])
-
-AC_DEFUN([AC_PACKAGE_CHECK_LIBUUID],
-  [ test $pkg_platform = freebsd && libuuid=""
   ])