summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorJames Peach <jpeach@samba.org>2006-12-31 06:53:11 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:16:49 -0500
commit17a8c7cb9206a99360cfd33f1d29ef727b581955 (patch)
tree5e9f8f79fb013f29aef8a9b41c64e43e32987837 /source3
parent62382d19e9d31177679fc0e89c16b95b1c35cbef (diff)
downloadsamba-17a8c7cb9206a99360cfd33f1d29ef727b581955.tar.gz
samba-17a8c7cb9206a99360cfd33f1d29ef727b581955.tar.bz2
samba-17a8c7cb9206a99360cfd33f1d29ef727b581955.zip
r20429: Restructure the libuuid API tests to handle the case where libuuid
is (effectively) in libc. Convert AC_LIBTESTFUNC to use the mystically undocumented m4_ifval, which fixes some quoting problems when providing shell code for the if-true and if-false branches. (This used to be commit 5e1fbcc403c471ecaaa37e8cd54b719b65dd7495)
Diffstat (limited to 'source3')
-rw-r--r--source3/aclocal.m438
-rw-r--r--source3/configure.in50
2 files changed, 48 insertions, 40 deletions
diff --git a/source3/aclocal.m4 b/source3/aclocal.m4
index b27dc2ec5d..b66a1c253e 100644
--- a/source3/aclocal.m4
+++ b/source3/aclocal.m4
@@ -61,55 +61,59 @@ dnl adding libraries for symbols that are in libc.
dnl
dnl On success, the default actions ensure that HAVE_FOO is defined. The lib
dnl is always added to $LIBS if it was found to be necessary. The caller
-dnl can use SMB_LIB_REMOVE to strp this if necessary.
+dnl can use SMB_REMOVE_LIB to strp this if necessary.
AC_DEFUN([AC_LIBTESTFUNC],
[
AC_CHECK_FUNCS($2,
[
# $2 was found in libc or existing $LIBS
- ifelse($3, [],
+ m4_ifval([$3],
[
- AC_DEFINE(translit([HAVE_$2], [a-z], [A-Z]), 1,
- [Whether $2 is available])
+ $3
],
[
- $3
+ AC_DEFINE(translit([HAVE_$2], [a-z], [A-Z]), 1,
+ [Whether $2 is available])
])
],
[
# $2 was not found, try adding lib$1
case " $LIBS " in
*\ -l$1\ *)
- ifelse($4, [],
+ m4_ifval([$4],
+ [
+ $4
+ ],
[
# $2 was not found and we already had lib$1
# nothing to do here by default
true
- ],
- [ $4 ])
+ ])
;;
*)
# $2 was not found, try adding lib$1
AC_CHECK_LIB($1, $2,
[
LIBS="-l$1 $LIBS"
- ifelse($3, [],
+ m4_ifval([$3],
[
- AC_DEFINE(translit([HAVE_$2], [a-z], [A-Z]), 1,
- [Whether $2 is available])
+ $3
],
[
- $3
+ AC_DEFINE(translit([HAVE_$2], [a-z], [A-Z]), 1,
+ [Whether $2 is available])
])
],
[
- ifelse($4, [],
+ m4_ifval([$4],
+ [
+ $4
+ ],
[
# $2 was not found in lib$1
# nothing to do here by default
true
- ],
- [ $4 ])
+ ])
])
;;
esac
@@ -543,9 +547,9 @@ AC_DEFUN([SMB_IS_LIBPTHREAD_LINKED],
dnl SMB_REMOVE_LIB(lib)
dnl Remove the given library from $LIBS
-AC_DEFUN([SMB_REMOVELIB],
+AC_DEFUN([SMB_REMOVE_LIB],
[
- LIBS=`echo $LIBS | sed -es/-l$1//g`
+ LIBS=`echo $LIBS | sed '-es/-l$1//g'`
])
dnl SMB_CHECK_DMAPI([actions if true], [actions if false])
diff --git a/source3/configure.in b/source3/configure.in
index d3338e186f..3b2e6386c0 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -3959,29 +3959,33 @@ if test x"$with_dnsupdate_support" != x"no"; then
fi
if test x"$with_dnsupdate_support" != x"no"; then
- ac_save_LIBS=$LIBS
########################################################
- # now see if we can find the uuid libs in standard paths
- AC_CHECK_LIB_EXT(uuid, UUID_LIBS, uuid_generate)
-
- LIBS="$LIBS $UUID_LIBS"
+ # Now see if we can find the uuid libs in standard paths
+ # On some systems, the uuid API is in libc, so we have to
+ # be careful not to insert a spurious -luuid.
- if test x"$ac_cv_lib_ext_uuid_uuid_generate" = x"yes"; then
- with_dnsupdate_support=yes
- AC_DEFINE(WITH_DNS_UPDATES,1,[Whether to enable DNS Update support])
- AC_MSG_CHECKING(whether UUID support is used)
- AC_MSG_RESULT(yes)
- else
- if test x"$with_dnsupdate_support" = x"yes"; then
- AC_MSG_ERROR(libuuid is needed to enable DNS Updates support)
- else
- AC_MSG_WARN(libuuid is needed to enable DNS Updates support)
- fi
- UUID_LIBS=""
- with_dnsupdate_support=no
- fi
- LIBS=$ac_save_LIBS
+ UUID_LIBS=""
+ AC_LIBTESTFUNC(uuid, uuid_generate,
+ [
+ case " $LIBS " in
+ *\ -luuid\ *)
+ UUID_LIBS="-luuid"
+ SMB_REMOVE_LIB(uuid)
+ ;;
+ esac
+
+ with_dnsupdate_support=yes
+ AC_DEFINE(WITH_DNS_UPDATES,1,[Whether to enable DNS Update support])
+ ],
+ [
+ if test x"$with_dnsupdate_support" = x"yes"; then
+ AC_MSG_ERROR(libuuid is needed to enable DNS Updates support)
+ else
+ AC_MSG_WARN(libuuid is needed to enable DNS Updates support)
+ fi
+ with_dnsupdate_support=no
+ ])
fi
#################################################
@@ -6044,13 +6048,13 @@ CFLAGS_REMOVE_USR_INCLUDE(CPPFLAGS)
AC_MSG_RESULT([Using libraries:])
AC_MSG_RESULT([ LIBS = $LIBS])
if test x"$with_ads_support" != x"no"; then
- AC_MSG_RESULT([ KRB5_LIBS = $KRB5_LIBS])
+ AC_MSG_RESULT([ KRB5_LIBS = $KRB5_LIBS])
fi
if test x"$with_ldap_support" != x"no"; then
- AC_MSG_RESULT([ LDAP_LIBS = $LDAP_LIBS])
+ AC_MSG_RESULT([ LDAP_LIBS = $LDAP_LIBS])
fi
if test x"$with_dnsupdate_support" != x"no"; then
- AC_MSG_RESULT([ UUID_LIBS = $UUID_LIBS])
+ AC_MSG_RESULT([ UUID_LIBS = $UUID_LIBS])
fi
AC_MSG_RESULT([ AUTH_LIBS = $AUTH_LIBS])