1# servent.m4 serial 2 2dnl Copyright (C) 2008, 2010-2014 Free Software Foundation, Inc. 3dnl This file is free software; the Free Software Foundation 4dnl gives unlimited permission to copy and/or distribute it, 5dnl with or without modifications, as long as this notice is preserved. 6 7AC_DEFUN([gl_SERVENT], 8[ 9 dnl Where are getservent(), setservent(), endservent(), getservbyname(), 10 dnl getservbyport() defined? 11 dnl Where are getprotoent(), setprotoent(), endprotoent(), getprotobyname(), 12 dnl getprotobynumber() defined? 13 dnl - On Solaris, they are in libsocket. Ignore libxnet. 14 dnl - On Haiku, they are in libnetwork. 15 dnl - On BeOS, they are in libnet. 16 dnl - On native Windows, they are in ws2_32.dll. 17 dnl - Otherwise they are in libc. 18 AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H 19 SERVENT_LIB= 20 gl_saved_libs="$LIBS" 21 AC_SEARCH_LIBS([getservbyname], [socket network net], 22 [if test "$ac_cv_search_getservbyname" != "none required"; then 23 SERVENT_LIB="$ac_cv_search_getservbyname" 24 fi]) 25 LIBS="$gl_saved_libs" 26 if test -z "$SERVENT_LIB"; then 27 AC_CHECK_FUNCS([getservbyname], , [ 28 AC_CACHE_CHECK([for getservbyname in winsock2.h and -lws2_32], 29 [gl_cv_w32_getservbyname], 30 [gl_cv_w32_getservbyname=no 31 gl_save_LIBS="$LIBS" 32 LIBS="$LIBS -lws2_32" 33 AC_LINK_IFELSE( 34 [AC_LANG_PROGRAM( 35 [[ 36#ifdef HAVE_WINSOCK2_H 37#include <winsock2.h> 38#endif 39#include <stddef.h> 40 ]], 41 [[getservbyname(NULL,NULL);]])], 42 [gl_cv_w32_getservbyname=yes]) 43 LIBS="$gl_save_LIBS" 44 ]) 45 if test "$gl_cv_w32_getservbyname" = "yes"; then 46 SERVENT_LIB="-lws2_32" 47 fi 48 ]) 49 fi 50 AC_SUBST([SERVENT_LIB]) 51]) 52