From a784e10d0061edb526da442b71d447a2ac83f432 Mon Sep 17 00:00:00 2001 From: David Dykstra Date: Tue, 15 Feb 2000 22:44:18 +0000 Subject: [PATCH] Move the checking for -lsocket -lnsl ahead of the checking for most of the functions, especially "socketpair" so that socket-related functions will be properly discovered on SVR4-based systems such as Solaris. Problem discovered by Kenji Miyake --- configure.in | 86 +++++++++++++++++++++++++++------------------------- 1 file changed, 44 insertions(+), 42 deletions(-) diff --git a/configure.in b/configure.in index 1e7da12a..3e876e25 100644 --- a/configure.in +++ b/configure.in @@ -48,6 +48,50 @@ if test x"$rsync_cv_errno" = x"yes"; then AC_DEFINE(HAVE_ERRNO_DECL) fi +# The following test taken from the cvs sources +# If we can't find connect, try looking in -lsocket, -lnsl, and -linet. +# These need checks to be before checks for any other functions that +# might be in the same libraries. +# The Irix 5 libc.so has connect and gethostbyname, but Irix 5 also has +# libsocket.so which has a bad implementation of gethostbyname (it +# only looks in /etc/hosts), so we only look for -lsocket if we need +# it. +AC_CHECK_FUNCS(connect) +if test x"$ac_cv_func_connect" = x"no"; then + case "$LIBS" in + *-lnsl*) ;; + *) AC_CHECK_LIB(nsl_s, printf) ;; + esac + case "$LIBS" in + *-lnsl*) ;; + *) AC_CHECK_LIB(nsl, printf) ;; + esac + case "$LIBS" in + *-lsocket*) ;; + *) AC_CHECK_LIB(socket, connect) ;; + esac + case "$LIBS" in + *-linet*) ;; + *) AC_CHECK_LIB(inet, connect) ;; + esac + dnl We can't just call AC_CHECK_FUNCS(connect) here, because the value + dnl has been cached. + if test x"$ac_cv_lib_socket_connect" = x"yes" || + test x"$ac_cv_lib_inet_connect" = x"yes"; then + # ac_cv_func_connect=yes + # don't! it would cause AC_CHECK_FUNC to succeed next time configure is run + AC_DEFINE(HAVE_CONNECT) + fi +fi + +# +# if we can't find strcasecmp, look in -lresolv (for Unixware at least) +# +AC_CHECK_FUNCS(strcasecmp) +if test x"$ac_cv_func_strcasecmp" = x"no"; then + AC_CHECK_LIB(resolv, strcasecmp) +fi + AC_FUNC_MEMCMP AC_FUNC_UTIME_NULL AC_CHECK_FUNCS(waitpid wait4 getcwd strdup strerror chown chmod mknod) @@ -161,48 +205,6 @@ if test x"$rsync_cv_REPLACE_INET_NTOA" = x"yes"; then AC_DEFINE(REPLACE_INET_NTOA) fi -# The following test taken from the cvs sources -# If we can't find connect, try looking in -lsocket, -lnsl, and -linet. -# The Irix 5 libc.so has connect and gethostbyname, but Irix 5 also has -# libsocket.so which has a bad implementation of gethostbyname (it -# only looks in /etc/hosts), so we only look for -lsocket if we need -# it. -AC_CHECK_FUNCS(connect) -if test x"$ac_cv_func_connect" = x"no"; then - case "$LIBS" in - *-lnsl*) ;; - *) AC_CHECK_LIB(nsl_s, printf) ;; - esac - case "$LIBS" in - *-lnsl*) ;; - *) AC_CHECK_LIB(nsl, printf) ;; - esac - case "$LIBS" in - *-lsocket*) ;; - *) AC_CHECK_LIB(socket, connect) ;; - esac - case "$LIBS" in - *-linet*) ;; - *) AC_CHECK_LIB(inet, connect) ;; - esac - dnl We can't just call AC_CHECK_FUNCS(connect) here, because the value - dnl has been cached. - if test x"$ac_cv_lib_socket_connect" = x"yes" || - test x"$ac_cv_lib_inet_connect" = x"yes"; then - # ac_cv_func_connect=yes - # don't! it would cause AC_CHECK_FUNC to succeed next time configure is run - AC_DEFINE(HAVE_CONNECT) - fi -fi - -# -# if we can't find strcasecmp, look in -lresolv (for Unixware at least) -# -AC_CHECK_FUNCS(strcasecmp) -if test x"$ac_cv_func_strcasecmp" = x"no"; then - AC_CHECK_LIB(resolv, strcasecmp) -fi - # # The following test was mostly taken from the tcl/tk plus patches # -- 2.34.1