On Mon, Jan 23, 2012 at 5:05 PM, Ruediger Meier <sweet_f_a at gmx.de> wrote:
> From: Ruediger Meier <ruediger.meier at ga-group.nl>
>
> Now we will find getaddrinfo and getnameinfo on win32 systems.
> Note it should be even safe to use that macro for all systems instead of
> trying AC_CHECK_FUNCS first. For now I don't want to do such risky things
> things and leave it as is.

I would prefer if we went ahead and did your suggestion of doing check
with new macro on all systems instead of this.  I will be glad to test
on a sampling of Unix systems to make sure there are no issues.

So I'm saying I'd prefer this patch to change to delete old check for
get* functions and do macro unconditionally.

One thing I notice must be a bug.  Right before the old call to
AC_CHECK_FUNCS(), there is a check for BeOS and forces the variables
to be "no".  Those need to be after the AC_CHECK_FUNCS to be
meaningful.  I'm pretty sure BeOS support is broke in other ways.

Anyways, I'll probably submit a patch to fix BeOS bug along with your patches.

Chris

> ---
> ?configure ? ? ? ? ? ? ? ?| ?169 
> ++++++++++++++++++++++++++++++++++++++++++++++
> ?configure.in ? ? ? ? ? ? | ? ?8 ++
> ?include/sane/config.h.in | ? ?3 +
> ?3 files changed, 180 insertions(+), 0 deletions(-)
>
> diff --git a/configure b/configure
> index 4c9dfcd..5da8db8 100755
> --- a/configure
> +++ b/configure
> @@ -9508,6 +9508,175 @@ fi
>
>
>
> +if test "$ac_cv_func_getaddrinfo" != "yes" \
> + ?|| test "$ac_cv_func_getnameinfo" != "yes"; then
> +
> +
> + ?sane_netdb_includes="$ac_includes_default
> + ?#ifdef HAVE_SYS_SOCKET_H
> + ?# include <sys/socket.h>
> + ?#endif
> + ?#ifdef HAVE_NETDB_H
> + ?# include <netdb.h>
> + ?#endif
> + ?#ifdef HAVE_WINSOCK2_H
> + ?# include <winsock2.h>
> + ?#endif
> + ?#ifdef HAVE_WS2TCPIP_H
> + ?# include <ws2tcpip.h>
> + ?#endif"
> +
> + ?ac_cv_func_getaddrinfo="no"
> + ?need_winver_xp="no"
> +
> + ?{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for win32 getaddrinfo" 
> >&5
> +$as_echo_n "checking for win32 getaddrinfo... " >&6; }
> + ?cat confdefs.h - <<_ACEOF >conftest.$ac_ext
> +/* end confdefs.h. ?*/
> +$sane_netdb_includes
> +int
> +main ()
> +{
> +int testme(){ getaddrinfo; }
> + ?;
> + ?return 0;
> +}
> +_ACEOF
> +if ac_fn_c_try_compile "$LINENO"; then :
> + ?{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
> +$as_echo "yes" >&6; }
> + ? ?ac_cv_func_getaddrinfo="yes"
> +else
> + ?{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
> +$as_echo "no" >&6; }
> +fi
> +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
> +
> + ? ?if test "$ac_cv_func_getaddrinfo" != "yes"; then
> + ? ?{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for win32 getaddrinfo 
> if WINVER is 0x0501" >&5
> +$as_echo_n "checking for win32 getaddrinfo if WINVER is 0x0501... " >&6; }
> + ? ?cat confdefs.h - <<_ACEOF >conftest.$ac_ext
> +/* end confdefs.h. ?*/
> +#define WINVER 0x0501
> + ? ? ?$sane_netdb_includes
> +int
> +main ()
> +{
> +int testme(){ getaddrinfo; }
> + ?;
> + ?return 0;
> +}
> +_ACEOF
> +if ac_fn_c_try_compile "$LINENO"; then :
> + ?{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
> +$as_echo "yes" >&6; }
> + ? ? ?ac_cv_func_getaddrinfo="yes"
> + ? ? ?need_winver_xp="yes"
> +else
> + ?{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
> +$as_echo "no" >&6; }
> +fi
> +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
> + ?fi
> +
> + ?if test "$ac_cv_func_getaddrinfo" = "yes"; then
> +
> +$as_echo "#define HAVE_GETADDRINFO 1" >>confdefs.h
> +
> +
> + ? ?if test "$need_winver_xp" = "yes"; then
> +
> +$as_echo "#define NEED_WINVER_XP 1" >>confdefs.h
> +
> + ? ?fi
> + ?fi
> +
> + ?unset sane_netdb_includes
> +
> +
> + ?sane_netdb_includes="$ac_includes_default
> + ?#ifdef HAVE_SYS_SOCKET_H
> + ?# include <sys/socket.h>
> + ?#endif
> + ?#ifdef HAVE_NETDB_H
> + ?# include <netdb.h>
> + ?#endif
> + ?#ifdef HAVE_WINSOCK2_H
> + ?# include <winsock2.h>
> + ?#endif
> + ?#ifdef HAVE_WS2TCPIP_H
> + ?# include <ws2tcpip.h>
> + ?#endif"
> +
> + ?ac_cv_func_getnameinfo="no"
> + ?need_winver_xp="no"
> +
> + ?{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for win32 getnameinfo" 
> >&5
> +$as_echo_n "checking for win32 getnameinfo... " >&6; }
> + ?cat confdefs.h - <<_ACEOF >conftest.$ac_ext
> +/* end confdefs.h. ?*/
> +$sane_netdb_includes
> +int
> +main ()
> +{
> +int testme(){ getnameinfo; }
> + ?;
> + ?return 0;
> +}
> +_ACEOF
> +if ac_fn_c_try_compile "$LINENO"; then :
> + ?{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
> +$as_echo "yes" >&6; }
> + ? ?ac_cv_func_getnameinfo="yes"
> +else
> + ?{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
> +$as_echo "no" >&6; }
> +fi
> +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
> +
> + ? ?if test "$ac_cv_func_getnameinfo" != "yes"; then
> + ? ?{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for win32 getnameinfo 
> if WINVER is 0x0501" >&5
> +$as_echo_n "checking for win32 getnameinfo if WINVER is 0x0501... " >&6; }
> + ? ?cat confdefs.h - <<_ACEOF >conftest.$ac_ext
> +/* end confdefs.h. ?*/
> +#define WINVER 0x0501
> + ? ? ?$sane_netdb_includes
> +int
> +main ()
> +{
> +int testme(){ getnameinfo; }
> + ?;
> + ?return 0;
> +}
> +_ACEOF
> +if ac_fn_c_try_compile "$LINENO"; then :
> + ?{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
> +$as_echo "yes" >&6; }
> + ? ? ?ac_cv_func_getnameinfo="yes"
> + ? ? ?need_winver_xp="yes"
> +else
> + ?{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
> +$as_echo "no" >&6; }
> +fi
> +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
> + ?fi
> +
> + ?if test "$ac_cv_func_getnameinfo" = "yes"; then
> +
> +$as_echo "#define HAVE_GETNAMEINFO 1" >>confdefs.h
> +
> +
> + ? ?if test "$need_winver_xp" = "yes"; then
> +
> +$as_echo "#define NEED_WINVER_XP 1" >>confdefs.h
> +
> + ? ?fi
> + ?fi
> +
> + ?unset sane_netdb_includes
> +
> +fi
> +
>
>
>
> diff --git a/configure.in b/configure.in
> index 6eb3355..060b8b6 100644
> --- a/configure.in
> +++ b/configure.in
> @@ -308,6 +308,14 @@ AC_CHECK_FUNCS(atexit ioperm i386_set_ioperm \
> ?AC_REPLACE_FUNCS(getenv isfdtype sigprocmask snprintf \
> ? ? strcasestr strdup strndup strsep usleep sleep syslog vsyslog)
>
> +dnl Some systems need better ckecks for get*info
> +if test "$ac_cv_func_getaddrinfo" != "yes" \
> + ?|| test "$ac_cv_func_getnameinfo" != "yes"; then
> +
> + ?SANE_CHECK_NETDB_FUNC(getaddrinfo)
> + ?SANE_CHECK_NETDB_FUNC(getnameinfo)
> +fi
> +
> ?SANE_PROTOTYPES
>
> ?if test "$ac_cv_header_os2_h" = "yes" ; then
> diff --git a/include/sane/config.h.in b/include/sane/config.h.in
> index afeb667..3d0cd1a 100644
> --- a/include/sane/config.h.in
> +++ b/include/sane/config.h.in
> @@ -454,6 +454,9 @@
> ? ?*/
> ?#undef LT_OBJDIR
>
> +/* Define to 1 if some win32 functions needs WINVER set. */
> +#undef NEED_WINVER_XP
> +
> ?/* Define to 1 if your C compiler doesn't accept -c and -o together. */
> ?#undef NO_MINUS_C_MINUS_O
>
> --
> 1.7.6.1
>
>
> --
> sane-devel mailing list: sane-devel at lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/sane-devel
> Unsubscribe: Send mail with subject "unsubscribe your_password"
> ? ? ? ? ? ? to sane-devel-request at lists.alioth.debian.org

Reply via email to