1dnl bsd_sockets.m4--which socket libraries do we need? 2dnl Derrick Brashear 3dnl from Zephyr 4 5dnl Hacked on by Rob Earhart to not just toss stuff in LIBS 6dnl It now puts everything required for sockets into LIB_SOCKET 7 8AC_DEFUN([CMU_SOCKETS], [ 9 save_LIBS="$LIBS" 10 AC_CHECK_HEADERS([sys/socket.h ws2tcpip.h]) 11 AC_CHECK_FUNC(socket, , [ 12 AC_CHECK_LIB(socket, socket, [LIB_SOCKET=-lsocket], [ 13 LIBS="$LIBS -lws2_32" 14 AC_LINK_IFELSE([ 15 AC_LANG_PROGRAM([[ 16 #ifdef HAVE_SYS_SOCKET_H 17 # include <sys/socket.h> 18 #endif 19 #ifdef HAVE_WS2TCPIP_H 20 # include <ws2tcpip.h> 21 #endif 22 ]], [[return socket(0, 0, 0);]]) 23 ], 24 [LIB_SOCKET=-lws2_32 25 AC_MSG_RESULT(yes)], 26 [AC_MSG_ERROR([socket not found])]) 27 ]) 28 ]) 29 LIBS="$save_LIBS" 30 AC_CHECK_FUNC(connect, :, 31 [AC_CHECK_LIB(nsl, gethostbyname, 32 LIB_SOCKET="-lnsl $LIB_SOCKET") 33 AC_CHECK_LIB(socket, connect, 34 LIB_SOCKET="-lsocket $LIB_SOCKET")] 35 ) 36 LIBS="$LIB_SOCKET $save_LIBS" 37 AC_CHECK_FUNC(res_search, :, 38 [LIBS="-lresolv $LIB_SOCKET $save_LIBS" 39 AC_TRY_LINK([[ 40#include <sys/types.h> 41#include <netinet/in.h> 42#include <arpa/nameser.h> 43#ifdef HAVE_ARPA_NAMESER_COMPAT_H 44#include <arpa/nameser_compat.h> 45#endif 46#include <resolv.h>]],[[ 47const char host[12]="openafs.org"; 48u_char ans[1024]; 49res_search( host, C_IN, T_MX, (u_char *)&ans, sizeof(ans)); 50return 0; 51]], LIB_SOCKET="-lresolv $LIB_SOCKET") 52 ]) 53 LIBS="$LIB_SOCKET $save_LIBS" 54 AC_CHECK_FUNCS(dn_expand dns_lookup) 55 LIBS="$save_LIBS" 56 AC_SUBST(LIB_SOCKET) 57 ]) 58