view m4/servent.m4 @ 39913:73d60b1f9c96

doc: Update for Solaris 11.4. * doc/**/*.texi: For bugs that exist in both Solaris 11.3 and 11.4, mention Solaris 11.4. * m4/printf.m4: Update comments about Solaris. * m4/log.m4: Likewise. * m4/log10.m4: Likewise. * m4/logb.m4: Likewise. * m4/logbf.m4: Likewise. * m4/logbl.m4: Likewise. * m4/rename.m4: Likewise. * m4/wcrtomb.m4: Likewise. * m4/hostent.m4: Likewise. * m4/servent.m4: Likewise.
author Bruno Haible <bruno@clisp.org>
date Sun, 14 Oct 2018 09:33:46 +0200
parents 10eb9086bea0
children b06060465f09
line wrap: on
line source

# servent.m4 serial 3
dnl Copyright (C) 2008, 2010-2018 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.

AC_DEFUN([gl_SERVENT],
[
  dnl Where are getservent(), setservent(), endservent(), getservbyname(),
  dnl getservbyport() defined?
  dnl Where are getprotoent(), setprotoent(), endprotoent(), getprotobyname(),
  dnl getprotobynumber() defined?
  dnl - On Solaris < 11.4, they are in libsocket. Ignore libxnet.
  dnl - On Haiku, they are in libnetwork.
  dnl - On BeOS, they are in libnet.
  dnl - On native Windows, they are in ws2_32.dll.
  dnl - Otherwise they are in libc.
  AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H
  SERVENT_LIB=
  gl_saved_libs="$LIBS"
  AC_SEARCH_LIBS([getservbyname], [socket network net],
    [if test "$ac_cv_search_getservbyname" != "none required"; then
       SERVENT_LIB="$ac_cv_search_getservbyname"
     fi])
  LIBS="$gl_saved_libs"
  if test -z "$SERVENT_LIB"; then
    AC_CHECK_FUNCS([getservbyname], , [
      AC_CACHE_CHECK([for getservbyname in winsock2.h and -lws2_32],
        [gl_cv_w32_getservbyname],
        [gl_cv_w32_getservbyname=no
         gl_save_LIBS="$LIBS"
         LIBS="$LIBS -lws2_32"
         AC_LINK_IFELSE(
           [AC_LANG_PROGRAM(
              [[
#ifdef HAVE_WINSOCK2_H
#include <winsock2.h>
#endif
#include <stddef.h>
              ]],
              [[getservbyname(NULL,NULL);]])],
           [gl_cv_w32_getservbyname=yes])
         LIBS="$gl_save_LIBS"
        ])
      if test "$gl_cv_w32_getservbyname" = "yes"; then
        SERVENT_LIB="-lws2_32"
      fi
    ])
  fi
  AC_SUBST([SERVENT_LIB])
])