summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorMatt Johnston <matt@ucc.asn.au>2015-11-26 23:01:13 +0800
committerMatt Johnston <matt@ucc.asn.au>2015-11-26 23:01:13 +0800
commit9b4c6e4b0b636dec8703a4c4e2f953322976991b (patch)
treecd6a237dfd4d382abc3a0b3dbbd8f7c33fcda696 /configure.ac
parent86f8da8e9fac9b52898d06958637d257387151eb (diff)
downloaddropbear-9b4c6e4b0b636dec8703a4c4e2f953322976991b.tar.gz
Another attempt at test for crypt()
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac18
1 files changed, 14 insertions, 4 deletions
diff --git a/configure.ac b/configure.ac
index ac0528f..e2219d4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -82,9 +82,19 @@ AC_CHECK_DECL(__UCLIBC__,
AC_MSG_NOTICE([Using uClibc - login() and logout() probably don't work, so we won't use them.])
],,,)
-# Checks for libraries.
-AC_CHECK_LIB(crypt, crypt, CRYPTLIB="-lcrypt")
+dnl We test for crypt() specially. On Linux (and others?) it resides in libcrypt
+dnl but we don't want link all binaries to -lcrypt, just dropbear server.
+dnl OS X doesn't need -lcrypt
+AC_CHECK_FUNC(crypt, found_crypt_func=here)
+AC_CHECK_LIB(crypt, crypt,
+ [
+ CRYPTLIB="-lcrypt"
+ found_crypt_func=here
+ ])
AC_SUBST(CRYPTLIB)
+if test "t$found_crypt_func" == there; then
+AC_DEFINE(HAVE_CRYPT, 1, [crypt() function])
+fi
# Check if zlib is needed
AC_ARG_WITH(zlib,
@@ -632,7 +642,7 @@ fi
AC_PROG_GCC_TRADITIONAL
AC_FUNC_MEMCMP
AC_FUNC_SELECT_ARGTYPES
-AC_CHECK_FUNCS([dup2 getpass getspnam getusershell memset putenv select socket strdup clearenv strlcpy strlcat daemon basename _getpty getaddrinfo freeaddrinfo getnameinfo fork writev crypt])
+AC_CHECK_FUNCS([dup2 getpass getspnam getusershell memset putenv select socket strdup clearenv strlcpy strlcat daemon basename _getpty getaddrinfo freeaddrinfo getnameinfo fork writev])
AC_SEARCH_LIBS(basename, gen, AC_DEFINE(HAVE_BASENAME))
@@ -730,7 +740,7 @@ AC_MSG_NOTICE()
AC_MSG_NOTICE([getpass() not available, dbclient will only have public-key authentication])
fi
-if test "x$ac_cv_func_crypt" != xyes; then
+if test "t$found_crypt_func" != there; then
AC_MSG_NOTICE()
AC_MSG_NOTICE([crypt() not available, dropbear server will not have password authentication])
fi