Обсуждение: [PATCH] Better way to check for getaddrinfo function.

Поиск
Список
Период
Сортировка

[PATCH] Better way to check for getaddrinfo function.

От
"R, Rajesh (STSD)"
Дата:

 
Just thought that the following patch might improve checking for getaddrinfo function (in configure.in)
I was forced to write 'coz getaddrinfo went unnoticed in Tru64 Unix.

(displaying attached patch)

$ diff -r configure.in configure.in.1
920c920,944
<   AC_REPLACE_FUNCS([getaddrinfo])
---
>  AC_CACHE_CHECK([for getaddrinfo], ac_cv_func_getaddrinfo,
> [AC_TRY_LINK([#include <netdb.h>],
>                 [struct addrinfo *g,h;g=&h;getaddrinfo("","",g,&g);],
>   AC_TRY_RUN([
> #include <assert.h>
> #include <netdb.h>
> #include <sys/types.h>
> #ifndef AF_INET
> # include <sys/socket.h>
> #endif
> #ifdef __cplusplus
> extern "C"
> #endif
> char (*f) ();
> int main(void) {
>
>    f = getaddrinfo;
>
>    return 0;
> }
>   ],ac_cv_func_getaddrinfo=yes, ac_cv_func_getaddrinfo=no),
> ac_cv_func_getaddrinfo=no)])
> if test "$ac_cv_func_getaddrinfo" = yes; then
>   AC_DEFINE(HAVE_GETADDRINFO,1,[Define if you have the getaddrinfo function])
> fi

Rajesh R
--
This space intentionally left non-blank.
<<configure-in.patch>>

Вложения

Re: [PATCH] Better way to check for getaddrinfo function.

От
Tom Lane
Дата:
"R, Rajesh (STSD)" <rajesh.r2@hp.com> writes:
> Just thought that the following patch might improve checking for
> getaddrinfo function (in configure.in)

Since AC_TRY_RUN tests cannot work in cross-compilation scenarios,
you need an *extremely* good reason to put one in.  "I thought this
might improve things" doesn't qualify.  Exactly what problem are you
trying to solve and why is a run-time test necessary?  Why doesn't
the existing coding work for you?

            regards, tom lane

Re: [PATCH] Better way to check for getaddrinfo function.

От
"R, Rajesh (STSD)"
Дата:

That was very much situation specific.
But the bottomline is the default test does not include <netdb.h> in the test code.
So, pg uses getaddrinfo.c.And the getaddrinfo.c does not work for me.
Ipv6 client authenciation fails.

I have modified the patch.

$ diff -r configure.in configure.in.new
918a919
> AC_MSG_CHECKING([for getaddrinfo])
920c921,926
<   AC_REPLACE_FUNCS([getaddrinfo])
---
>  AC_TRY_LINK([#include <netdb.h> #include <assert.h>],
>                 [char (*f)();f=getaddrinfo;],
>   ac_cv_func_getaddrinfo=yes, ac_cv_func_getaddrinfo=no)
> if test x"$ac_cv_func_getaddrinfo" = xyes; then
>   AC_DEFINE(HAVE_GETADDRINFO,1,[Define if you have the getaddrinfo function])
> fi
923a930
> AC_MSG_RESULT([$ac_cv_func_getaddrinfo])

Rajesh R
--
This space intentionally left non-blank.

-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: Monday, January 16, 2006 11:28 PM
To: R, Rajesh (STSD)
Cc: pgsql-hackers@postgresql.org; pgsql-general@postgresql.org
Subject: Re: [GENERAL] [PATCH] Better way to check for getaddrinfo function.

"R, Rajesh (STSD)" <rajesh.r2@hp.com> writes:
> Just thought that the following patch might improve checking for
> getaddrinfo function (in configure.in)

Since AC_TRY_RUN tests cannot work in cross-compilation scenarios, you need an *extremely* good reason to put one in.  "I thought this might improve things" doesn't qualify.  Exactly what problem are you trying to solve and why is a run-time test necessary?  Why doesn't the existing coding work for you?

                        regards, tom lane <<configure-in.patch>>

Вложения

Re: [PATCH] Better way to check for getaddrinfo function.

От
Bruce Momjian
Дата:
Where are we on this?  Rajesh, I think we are waiting for more
information from you.

---------------------------------------------------------------------------

R, Rajesh (STSD) wrote:
>
> That was very much situation specific.
> But the bottomline is the default test does not include <netdb.h> in the
> test code.
> So, pg uses getaddrinfo.c.And the getaddrinfo.c does not work for me.
> Ipv6 client authenciation fails.
>
> I have modified the patch.
>
> $ diff -r configure.in configure.in.new
> 918a919
> > AC_MSG_CHECKING([for getaddrinfo])
> 920c921,926
> <   AC_REPLACE_FUNCS([getaddrinfo])
> ---
> >  AC_TRY_LINK([#include <netdb.h> #include <assert.h>],
> >                 [char (*f)();f=getaddrinfo;],
> >   ac_cv_func_getaddrinfo=yes, ac_cv_func_getaddrinfo=no)
> > if test x"$ac_cv_func_getaddrinfo" = xyes; then
> >   AC_DEFINE(HAVE_GETADDRINFO,1,[Define if you have the getaddrinfo
> function])
> > fi
> 923a930
> > AC_MSG_RESULT([$ac_cv_func_getaddrinfo])
>
>
> Rajesh R
> --
> This space intentionally left non-blank.
>
> -----Original Message-----
> From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
> Sent: Monday, January 16, 2006 11:28 PM
> To: R, Rajesh (STSD)
> Cc: pgsql-hackers@postgresql.org; pgsql-general@postgresql.org
> Subject: Re: [GENERAL] [PATCH] Better way to check for getaddrinfo
> function.
>
> "R, Rajesh (STSD)" <rajesh.r2@hp.com> writes:
> > Just thought that the following patch might improve checking for
> > getaddrinfo function (in configure.in)
>
> Since AC_TRY_RUN tests cannot work in cross-compilation scenarios, you
> need an *extremely* good reason to put one in.  "I thought this might
> improve things" doesn't qualify.  Exactly what problem are you trying to
> solve and why is a run-time test necessary?  Why doesn't the existing
> coding work for you?
>
>             regards, tom lane <<configure-in.patch>>

Content-Description: configure-in.patch

[ Attachment, skipping... ]

>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: don't forget to increase your free space map settings

--
  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