Browse Source

Makefile: some platforms do not have hstrerror anywhere

This patch improves the logic of the test for hstrerror, not to
blindly assume that if there is no hstrerror in libc that it must
exist in libresolv.

Signed-off-by: Gary V. Vaughan <gary@thewrittenword.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Gary V. Vaughan 15 years ago committed by Junio C Hamano
parent
commit
0a9b167ede
  1. 1
      config.mak.in
  2. 17
      configure.ac

1
config.mak.in

@ -43,6 +43,7 @@ NO_D_TYPE_IN_DIRENT=@NO_D_TYPE_IN_DIRENT@ @@ -43,6 +43,7 @@ NO_D_TYPE_IN_DIRENT=@NO_D_TYPE_IN_DIRENT@
NO_SOCKADDR_STORAGE=@NO_SOCKADDR_STORAGE@
NO_IPV6=@NO_IPV6@
NO_C99_FORMAT=@NO_C99_FORMAT@
NO_HSTRERROR=@NO_HSTRERROR@
NO_STRCASESTR=@NO_STRCASESTR@
NO_MEMMEM=@NO_MEMMEM@
NO_STRLCPY=@NO_STRLCPY@

17
configure.ac

@ -546,11 +546,22 @@ test -n "$NEEDS_SOCKET" && LIBS="$LIBS -lsocket" @@ -546,11 +546,22 @@ test -n "$NEEDS_SOCKET" && LIBS="$LIBS -lsocket"

#
# Define NEEDS_RESOLV if linking with -lnsl and/or -lsocket is not enough.
# Notably on Solaris hstrerror resides in libresolv and on Solaris 7
# inet_ntop and inet_pton additionally reside there.
AC_CHECK_LIB([c], [hstrerror],
# Notably on Solaris 7 inet_ntop and inet_pton additionally reside there.
AC_CHECK_LIB([c], [inet_ntop],
[NEEDS_RESOLV=],
[NEEDS_RESOLV=YesPlease])
#
# Define NO_HSTRERROR if linking with -lresolv is not enough.
# Solaris 2.6 in particular has no hstrerror, even in -lresolv.
NO_HSTRERROR=
AC_CHECK_FUNC([hstrerror],
[],
[AC_CHECK_LIB([resolv], [hstrerror],
[NEEDS_RESOLV=YesPlease],
[NO_HSTRERROR=YesPlease])
])
AC_SUBST(NO_HSTRERROR)

AC_SUBST(NEEDS_RESOLV)
test -n "$NEEDS_RESOLV" && LIBS="$LIBS -lresolv"


Loading…
Cancel
Save