From 592f5b547d9811dc351e3391599777bd061d6abf Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Fri, 3 Apr 2009 13:24:11 -0700
Subject: [PATCH] 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.
---
 ChangeLog         |  8 ++++++++
 m4/inet_ntop.m4   | 15 +++++++++++++--
 modules/arpa_inet |  2 +-
 3 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 2fdb6ddd00..7415f5bd0e 100644
--- 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
diff --git a/m4/inet_ntop.m4 b/m4/inet_ntop.m4
index 42bfc5e417..2bbdca1088 100644
--- 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 @@ AC_DEFUN([gl_INET_NTOP],
 
   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
 ])
 
diff --git a/modules/arpa_inet b/modules/arpa_inet
index 3691fd5cb8..d799403a78 100644
--- a/modules/arpa_inet
+++ b/modules/arpa_inet
@@ -19,7 +19,7 @@ BUILT_SOURCES += $(ARPA_INET_H)
 
 # 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! */'; \
-- 
2.39.5