AC_MSG_NOTICE([Using Nettle cryptographic library: ${with_nettle:=yes}])
AC_SUBST(NETTLELIB)
+dnl Check for libcrypt
+CRYPTLIB=
+dnl Some of our helpers use crypt(3) which may be in libc, or in
+dnl libcrypt (eg FreeBSD)
+AC_CHECK_LIB(crypt, crypt, [CRYPTLIB="-lcrypt"])
+dnl Solaris10 provides MD5 natively through libmd5
+AC_CHECK_LIB(md5, MD5Init, [CRYPTLIB="$CRYPTLIB -lmd5"])
+AC_SUBST(CRYPTLIB)
+
dnl User may specify OpenSSL is needed from a non-standard location
AC_ARG_WITH(openssl,
AS_HELP_STRING([--with-openssl=PATH],
paths.h \
poll.h \
pwd.h \
- shadow.h \
regex.h \
sched.h \
siginfo.h \
SQUID_CHECK_SIN_LEN_IN_SOCKADDR_IN
-dnl Check for libcrypt
-CRYPTLIB=
-dnl Some of our helpers use crypt(3) which may be in libc, or in
-dnl libcrypt (eg FreeBSD)
-AC_CHECK_LIB(crypt, crypt, [CRYPTLIB="-lcrypt"])
-dnl Solaris10 provides MD5 natively through libmd5
-AC_CHECK_LIB(md5, MD5Init, [CRYPTLIB="$CRYPTLIB -lmd5"])
-AC_SUBST(CRYPTLIB)
-
-# check for crypt, may require -lcrypt
-SAVED_LIBS="$LIBS"
-LIBS="$LIBS $CRYPTLIB"
-AC_CHECK_FUNCS(crypt)
-LIBS="$SAVED_LIBS"
-
-
dnl Check for libdl, used by auth_modules/PAM
if test "x$with_dl" = "xyes"; then
AC_CHECK_LIB(dl, dlopen)
-AC_CHECK_HEADERS([pwd.h],[BUILD_HELPER="getpwnam"])
+AC_CHECK_HEADERS([pwd.h],[
+ # check for crypt(3), may require -lcrypt
+ SQUID_STATE_SAVE(getpwnam_helper)
+ LIBS="$LIBS $CRYPTLIB"
+ AC_CHECK_FUNCS(crypt)
+ SQUID_STATE_ROLLBACK(getpwnam_helper)
+
+ # unconditionally requires crypt(3), for now
+ if test "x$cv_ac_func_crypt" != "x"; then
+ AC_CHECK_HEADERS(unistd.h crypt.h shadow.h)
+
+ BUILD_HELPER="getpwnam"
+ fi
+])