From 364b8a812d3b1d1a1127456de69a4dee849a0d88 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sun, 16 Nov 2008 05:06:09 +0100 Subject: [PATCH] New module 'hostent'. --- ChangeLog | 6 ++++++ m4/hostent.m4 | 45 +++++++++++++++++++++++++++++++++++++++++++++ modules/hostent | 27 +++++++++++++++++++++++++++ 3 files changed, 78 insertions(+) create mode 100644 m4/hostent.m4 create mode 100644 modules/hostent diff --git a/ChangeLog b/ChangeLog index 1bc50fe1b9..57ef40afb3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-11-15 Bruno Haible + + New module 'hostent'. + * modules/hostent: New file. + * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4. + 2008-11-15 Bruno Haible New module 'servent'. diff --git a/m4/hostent.m4 b/m4/hostent.m4 new file mode 100644 index 0000000000..1d386783a3 --- /dev/null +++ b/m4/hostent.m4 @@ -0,0 +1,45 @@ +# hostent.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_HOSTENT], +[ + dnl Where are gethostent(), sethostent(), endhostent(), gethostbyname(), + dnl gethostbyaddr() defined? + dnl - On Solaris, they are in libnsl. 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 + HOSTENT_LIB= + gl_saved_libs="$LIBS" + AC_SEARCH_LIBS([gethostbyname], [nsl network net], + [if test "$ac_cv_search_gethostbyname" != "none required"; then + SERVENT_LIB="$ac_cv_search_gethostbyname" + fi]) + LIBS="$gl_saved_libs" + if test -z "$HOSTENT_LIB"; then + AC_CHECK_FUNCS([gethostbyname], , [ + AC_CACHE_CHECK([for gethostbyname in winsock2.h and -lws2_32], + [gl_cv_w32_gethostbyname], + [gl_cv_w32_gethostbyname=no + gl_save_LIBS="$LIBS" + LIBS="$LIBS -lws2_32" + AC_TRY_LINK([ +#ifdef HAVE_WINSOCK2_H +#include +#endif +#include +], [gethostbyname(NULL);], [gl_cv_w32_gethostbyname=yes]) + LIBS="$gl_save_LIBS" + ]) + if test "$gl_cv_w32_gethostbyname" = "yes"; then + HOSTENT_LIB="-lws2_32" + fi + ]) + fi + AC_SUBST([HOSTENT_LIB]) +]) diff --git a/modules/hostent b/modules/hostent new file mode 100644 index 0000000000..029b457ab0 --- /dev/null +++ b/modules/hostent @@ -0,0 +1,27 @@ +Description: +Library containing gethostent(), sethostent(), endhostent(), gethostbyname(), +gethostbyaddr(). + +Files: +m4/hostent.m4 + +Depends-on: +sys_socket + +configure.ac: +gl_HOSTENT + +Makefile.am: + +Include: + + +Link: +$(HOSTENT_LIB) + +License: +LGPLv2+ + +Maintainer: +Bruno Haible, Simon Josefsson + -- 2.30.2