New module 'hostent'.
authorBruno Haible <bruno@clisp.org>
Sun, 16 Nov 2008 04:06:09 +0000 (05:06 +0100)
committerBruno Haible <bruno@clisp.org>
Sun, 16 Nov 2008 04:06:09 +0000 (05:06 +0100)
ChangeLog
m4/hostent.m4 [new file with mode: 0644]
modules/hostent [new file with mode: 0644]

index 1bc50fe..57ef40a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 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'.
        * 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 (file)
index 0000000..1d38678
--- /dev/null
@@ -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])
+])
diff --git a/modules/hostent b/modules/hostent
new file mode 100644 (file)
index 0000000..029b457
--- /dev/null
@@ -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
+