From: Bruno Haible Date: Sun, 16 Nov 2008 04:06:09 +0000 (+0100) Subject: New module 'hostent'. X-Git-Tag: v0.1~6672 X-Git-Url: http://erislabs.org.uk/gitweb/?a=commitdiff_plain;h=364b8a812d3b1d1a1127456de69a4dee849a0d88;p=gnulib.git New module 'hostent'. --- diff --git a/ChangeLog b/ChangeLog index 1bc50fe1b..57ef40afb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 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'. * modules/servent: New file. * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4. diff --git a/m4/hostent.m4 b/m4/hostent.m4 new file mode 100644 index 000000000..1d386783a --- /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 000000000..029b457ab --- /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 +