From 6e6f3a36b6b93dc997dc58417b06c019e5135e2f Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sun, 16 Nov 2008 05:02:40 +0100 Subject: [PATCH] New module 'servent'. --- ChangeLog | 6 ++++++ m4/servent.m4 | 47 +++++++++++++++++++++++++++++++++++++++++++++++ modules/servent | 28 ++++++++++++++++++++++++++++ 3 files changed, 81 insertions(+) create mode 100644 m4/servent.m4 create mode 100644 modules/servent diff --git a/ChangeLog b/ChangeLog index 56e861d96..1bc50fe1b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2008-11-15 Bruno Haible + New module 'servent'. + * modules/servent: New file. + * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4. + +2008-11-15 Bruno Haible + Avoid generating same test program with two different rules. * modules/frexp-nolibm-tests (Makefile.am): Rename test program from test-frexp to test-frexp-nolibm. diff --git a/m4/servent.m4 b/m4/servent.m4 new file mode 100644 index 000000000..242f9e360 --- /dev/null +++ b/m4/servent.m4 @@ -0,0 +1,47 @@ +# servent.m4 serial 1 +dnl Copyright (C) 2008 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, 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_TRY_LINK([ +#ifdef HAVE_WINSOCK2_H +#include +#endif +#include +], [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]) +]) diff --git a/modules/servent b/modules/servent new file mode 100644 index 000000000..e5e27feb1 --- /dev/null +++ b/modules/servent @@ -0,0 +1,28 @@ +Description: +Library containing getservent(), setservent(), endservent(), getservbyname(), +getservbyport(), getprotoent(), setprotoent(), endprotoent(), getprotobyname(), +getprotobynumber(). + +Files: +m4/servent.m4 + +Depends-on: +sys_socket + +configure.ac: +gl_SERVENT + +Makefile.am: + +Include: + + +Link: +$(SERVENT_LIB) + +License: +LGPLv2+ + +Maintainer: +Bruno Haible, Simon Josefsson + -- 2.11.0