changeset 30504:1cb9b034c126

New module 'hostent'.
author Bruno Haible <bruno@clisp.org>
date Sun, 16 Nov 2008 05:06:09 +0100
parents 0cd99e639638
children f79090e11511
files ChangeLog m4/hostent.m4 modules/hostent
diffstat 3 files changed, 78 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Sun Nov 16 05:02:40 2008 +0100
+++ b/ChangeLog	Sun Nov 16 05:06:09 2008 +0100
@@ -1,3 +1,9 @@
+2008-11-15  Bruno Haible  <bruno@clisp.org>
+
+	New module 'hostent'.
+	* modules/hostent: New file.
+	* m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
+
 2008-11-15  Bruno Haible  <bruno@clisp.org>
 
 	New module 'servent'.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/m4/hostent.m4	Sun Nov 16 05:06:09 2008 +0100
@@ -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 <winsock2.h>
+#endif
+#include <stddef.h>
+], [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])
+])
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/hostent	Sun Nov 16 05:06:09 2008 +0100
@@ -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:
+<netdb.h>
+
+Link:
+$(HOSTENT_LIB)
+
+License:
+LGPLv2+
+
+Maintainer:
+Bruno Haible, Simon Josefsson
+