changeset 11450:bbc8b00b08b5

Port inet_ntop to Solaris 8 (problem found in coreutils 7.2). * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h. * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl, for Solaris 8. This is a bit of a hack, as it means it's the caller's responsibility to add -lnsl if needed, but most likely it won't be needed since only getaddrinfo uses this and getaddrinfo isn't needed on Solaris 8.
author Paul Eggert <eggert@cs.ucla.edu>
date Fri, 03 Apr 2009 13:24:11 -0700
parents 2005bd38441a
children 26ca89ce898a
files ChangeLog m4/inet_ntop.m4 modules/arpa_inet
diffstat 3 files changed, 22 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
 
+	Port coreutils 7.2 to Solaris 8.
+
+	* m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
+	for Solaris 8.  This is a bit of a hack, as it means it's the
+	caller's responsibility to add -lnsl if needed, but most likely it
+	won't be needed since only getaddrinfo uses this and getaddrinfo
+	isn't neede on Solaris 8.
+
 	* modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
 	problem to Solaris 8 encountered with coreutils 7.2, which
 	resulted in a message "fnmatch.c:292: warning: passing argument 4
--- a/m4/inet_ntop.m4
+++ b/m4/inet_ntop.m4
@@ -1,4 +1,4 @@
-# inet_ntop.m4 serial 8
+# inet_ntop.m4 serial 9
 dnl Copyright (C) 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -11,7 +11,18 @@
 
   gl_REPLACE_ARPA_INET_H
 
-  AC_REPLACE_FUNCS([inet_ntop])
+  dnl The AC_SEARCH_LIBS call is a hack to persuade the Solaris 8 linker to
+  dnl find inet_ntop.
+  dnl
+  dnl It is the responsibility of gl_INET_NTOP's caller to arrange for
+  dnl -lnsl if it is needed.  Normally -lnsl is not needed on Solaris 8,
+  dnl since inet_ntop is needed only by getaddrinfo, and getaddrinfo
+  dnl isn't built on Solaris 8.
+  gl_save_LIBS=$LIBS
+  AC_SEARCH_LIBS([inet_ntop], [nsl], [],
+    [AC_REPLACE_FUNCS([inet_ntop])])
+  LIBS=$gl_save_LIBS
+
   gl_PREREQ_INET_NTOP
 ])
 
--- a/modules/arpa_inet
+++ b/modules/arpa_inet
@@ -19,7 +19,7 @@
 
 # We need the following in order to create <arpa/inet.h> when the system
 # doesn't have one.
-arpa/inet.h:
+arpa/inet.h: arpa_inet.in.h
 	@MKDIR_P@ arpa
 	rm -f $@-t $@
 	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \