Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > I have the answer. Tru64 netdb.h has:
>
> > #if defined (_SOCKADDR_LEN) || defined (_XOPEN_SOURCE_EXTENDED)
> > #define getaddrinfo ngetaddrinfo
> > #else
> > #define getaddrinfo ogetaddrinfo
> > #endif
>
> Seems like the same method we use for testing finite() and other
> possible-macros would handle this, then.
OK, patch attached. I did the macro test you suggested. Would someone
test this on Tru64?
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
Index: configure
===================================================================
RCS file: /cvsroot/pgsql/configure,v
retrieving revision 1.473
diff -c -c -r1.473 configure
*** configure 17 Jan 2006 23:52:27 -0000 1.473
--- configure 26 Jan 2006 21:55:52 -0000
***************
*** 14589,14650 ****
# versions of getaddrinfo don't follow normal C call protocol. This is OK
# because we want to use our own getaddrinfo.c on Windows anyway.)
if test x"$ac_cv_type_struct_addrinfo" = xyes ; then
!
! for ac_func in getaddrinfo
! do
! as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
! echo "$as_me:$LINENO: checking for $ac_func" >&5
! echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
! if eval "test \"\${$as_ac_var+set}\" = set"; then
! echo $ECHO_N "(cached) $ECHO_C" >&6
! else
! cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
- /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
- #define $ac_func innocuous_$ac_func
-
- /* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
- #ifdef __STDC__
- # include <limits.h>
- #else
- # include <assert.h>
- #endif
! #undef $ac_func
!
! /* Override any gcc2 internal prototype to avoid an error. */
! #ifdef __cplusplus
! extern "C"
! {
! #endif
! /* We use char because int might match the return type of a gcc2
! builtin and then its argument prototype would still apply. */
! char $ac_func ();
! /* The GNU C library defines this for functions which it implements
! to always fail with ENOSYS. Some functions are actually named
! something starting with __ and the normal name is an alias. */
! #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
! choke me
! #else
! char (*f) () = $ac_func;
! #endif
! #ifdef __cplusplus
! }
! #endif
int
main ()
{
! return f != $ac_func;
;
return 0;
}
--- 14589,14610 ----
# versions of getaddrinfo don't follow normal C call protocol. This is OK
# because we want to use our own getaddrinfo.c on Windows anyway.)
if test x"$ac_cv_type_struct_addrinfo" = xyes ; then
! echo "$as_me:$LINENO: checking for getaddrinfo" >&5
! echo $ECHO_N "checking for getaddrinfo... $ECHO_C" >&6
! cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
! #include <sys/socket.h>
! #include <netdb.h>
int
main ()
{
! return getaddrinfo("", "", NULL, NULL) ? 0 : 1;
;
return 0;
}
***************
*** 14671,14706 ****
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
! eval "$as_ac_var=no"
! fi
! rm -f conftest.err conftest.$ac_objext \
! conftest$ac_exeext conftest.$ac_ext
! fi
! echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
! echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
! if test `eval echo '${'$as_ac_var'}'` = yes; then
! cat >>confdefs.h <<_ACEOF
! #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF
else
! case $LIBOBJS in
! "$ac_func.$ac_objext" | \
! *" $ac_func.$ac_objext" | \
! "$ac_func.$ac_objext "* | \
! *" $ac_func.$ac_objext "* ) ;;
! *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" ;;
esac
fi
! done
!
!
else
case $LIBOBJS in
"getaddrinfo.$ac_objext" | \
--- 14631,14660 ----
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
! cat >>confdefs.h <<\_ACEOF
! #define HAVE_GETADDRINFO 1
_ACEOF
+ echo "$as_me:$LINENO: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
else
! echo "$as_me: failed program was:" >&5
! sed 's/^/| /' conftest.$ac_ext >&5
!
! echo "$as_me:$LINENO: result: no" >&5
! echo "${ECHO_T}no" >&6
! case $LIBOBJS in
! "getaddrinfo.$ac_objext" | \
! *" getaddrinfo.$ac_objext" | \
! "getaddrinfo.$ac_objext "* | \
! *" getaddrinfo.$ac_objext "* ) ;;
! *) LIBOBJS="$LIBOBJS getaddrinfo.$ac_objext" ;;
esac
fi
! rm -f conftest.err conftest.$ac_objext \
! conftest$ac_exeext conftest.$ac_ext
else
case $LIBOBJS in
"getaddrinfo.$ac_objext" | \
Index: configure.in
===================================================================
RCS file: /cvsroot/pgsql/configure.in,v
retrieving revision 1.443
diff -c -c -r1.443 configure.in
*** configure.in 17 Jan 2006 23:52:30 -0000 1.443
--- configure.in 26 Jan 2006 21:55:52 -0000
***************
*** 921,927 ****
# versions of getaddrinfo don't follow normal C call protocol. This is OK
# because we want to use our own getaddrinfo.c on Windows anyway.)
if test x"$ac_cv_type_struct_addrinfo" = xyes ; then
! AC_REPLACE_FUNCS([getaddrinfo])
else
AC_LIBOBJ(getaddrinfo)
fi
--- 921,937 ----
# versions of getaddrinfo don't follow normal C call protocol. This is OK
# because we want to use our own getaddrinfo.c on Windows anyway.)
if test x"$ac_cv_type_struct_addrinfo" = xyes ; then
! dnl Cannot use AC_CHECK_FUNC because getaddrinfo may be a macro
! AC_MSG_CHECKING(for getaddrinfo)
! AC_TRY_LINK([
! #include <sys/socket.h>
! #include <netdb.h>
! ],
! [return getaddrinfo("", "", NULL, NULL) ? 0 : 1;],
! [AC_DEFINE(HAVE_GETADDRINFO, 1, [Define to 1 if you have getaddrinfo().])
! AC_MSG_RESULT(yes)],
! [AC_MSG_RESULT(no)
! AC_LIBOBJ(getaddrinfo)])
else
AC_LIBOBJ(getaddrinfo)
fi
Index: src/include/pg_config.h.in
===================================================================
RCS file: /cvsroot/pgsql/src/include/pg_config.h.in,v
retrieving revision 1.90
diff -c -c -r1.90 pg_config.h.in
*** src/include/pg_config.h.in 17 Jan 2006 23:52:31 -0000 1.90
--- src/include/pg_config.h.in 26 Jan 2006 21:55:54 -0000
***************
*** 129,135 ****
/* Define to 1 if your compiler understands __FUNCTION__. */
#undef HAVE_FUNCNAME__FUNCTION
! /* Define to 1 if you have the `getaddrinfo' function. */
#undef HAVE_GETADDRINFO
/* Define to 1 if you have the `gethostbyname_r' function. */
--- 129,135 ----
/* Define to 1 if your compiler understands __FUNCTION__. */
#undef HAVE_FUNCNAME__FUNCTION
! /* Define to 1 if you have getaddrinfo(). */
#undef HAVE_GETADDRINFO
/* Define to 1 if you have the `gethostbyname_r' function. */