summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthieu Patou <mat@matws.net>2012-11-21 12:07:42 -0800
committerStefan Metzmacher <metze@samba.org>2012-11-23 10:05:34 +0100
commit8f4b871e9776245f599a302f569594aaba9d25c9 (patch)
treec3f28063cd2e245706a089ef4205e7400f0a97b8
parent0d9bdcf834cbe9ec4e1354bc7e912f197bf72d7b (diff)
downloadsamba-8f4b871e9776245f599a302f569594aaba9d25c9.tar.gz
samba-8f4b871e9776245f599a302f569594aaba9d25c9.tar.bz2
samba-8f4b871e9776245f599a302f569594aaba9d25c9.zip
Fix MD5 detection in the autoconf build
This is a front port of patches made in 3.6.x branch for bugs: * 9037 * 9086 * 9094 * 9418 It checks if there is a library for md5 related functions (libmd or libmd5) and if so it checks for the presence of md5.h headers it also respect the need for osX build to not use samba's md5 implementation as it's already present in the system libs. Signed-off-by: Matthieu Patou <mat@matws.net> Reviewed-by: Stefan Metzmacher <metze@samba.org> Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Fri Nov 23 10:05:34 CET 2012 on sn-devel-104
-rw-r--r--source3/configure.in41
1 files changed, 34 insertions, 7 deletions
diff --git a/source3/configure.in b/source3/configure.in
index b872ab794c..b74b4c2cb4 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -602,18 +602,45 @@ AC_CHECK_HEADERS(netgroup.h)
AC_CHECK_HEADERS(linux/falloc.h)
AC_CHECK_HEADERS(CommonCrypto/CommonDigest.h)
+dnl check for OS implementation of md5 conformant to rfc1321
+samba_cv_md5lib=none
+
+AC_CHECK_LIB(c, MD5Update, [samba_cv_md5lib=""])
+
+if test x"$samba_cv_md5lib" = x"none" ; then
+ AC_CHECK_LIB(md, MD5Update, [samba_cv_md5lib=md])
+fi
+
+if test x"$samba_cv_md5lib" = x"none" ; then
+ AC_CHECK_LIB(md5, MD5Update, [samba_cv_md5lib=md5])
+fi
+
+if test x"$samba_cv_md5lib" != x"none" ; then
+ AC_CHECK_HEADERS(md5.h)
+fi
+
+CRYPTO_MD5_OBJ="../lib/crypto/md5.o"
+if test x"$ac_cv_header_md5_h" = x"yes" -a \
+ x"$samba_cv_md5lib" != x"none" ; then
+ if test x"$samba_cv_md5lib" != x ; then
+ LIBS="${LIBS} -l${samba_cv_md5lib}"
+ AC_DEFINE(HAVE_LIBMD5, 1,
+ [Whether libmd5 conformant to rfc1321 is available.])
+ fi
+ CRYPTO_MD5_OBJ=
+fi
+
+if test "x$ac_cv_header_CommonCrypto_CommonDigest_h" == "xyes"; then
+ CRYPTO_MD5_OBJ=
+fi
+
+AC_SUBST(CRYPTO_MD5_OBJ)
+
AC_CHECK_HEADERS(rpcsvc/yp_prot.h,,,[[
#if HAVE_RPC_RPC_H
#include <rpc/rpc.h>
#endif
]])
-CRYPTO_MD5_OBJ=
-if test "x$ac_cv_header_CommonCrypto_CommonDigest_h" != "xyes"
-then
- CRYPTO_MD5_OBJ="../lib/crypto/md5.o"
-fi
-AC_SUBST(CRYPTO_MD5_OBJ)
-
## These fail to compile on IRIX so just check for their presence
AC_CHECK_HEADERS(sys/mode.h,,,)