changeset 1186:a4ce76e6fb63

Another attempt at test for crypt()
author Matt Johnston <matt@ucc.asn.au>
date Thu, 26 Nov 2015 23:01:13 +0800
parents 15726edd3a1c
children 88fd422cfa11
files configure.ac
diffstat 1 files changed, 14 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/configure.ac	Thu Nov 26 22:21:14 2015 +0800
+++ b/configure.ac	Thu Nov 26 23:01:13 2015 +0800
@@ -82,9 +82,19 @@
 	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 @@
 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([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