From db89a54bf464361692b4b091a7f95f90ab05e497 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Sun, 20 Apr 2003 02:56:14 +0000 Subject: [PATCH] Check for struct option independently of the getopt_long check. --- configure | 99 +++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 6 +++ include/config.h.in | 3 ++ include/wine/port.h | 3 ++ 4 files changed, 111 insertions(+) diff --git a/configure b/configure index b38628c37a4..2adf0394abd 100755 --- a/configure +++ b/configure @@ -15713,6 +15713,105 @@ _ACEOF fi +echo "$as_me:$LINENO: checking for struct option.name" >&5 +echo $ECHO_N "checking for struct option.name... $ECHO_C" >&6 +if test "${ac_cv_member_struct_option_name+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef HAVE_GETOPT_H +#include +#endif + +int +main () +{ +static struct option ac_aggr; +if (ac_aggr.name) +return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_member_struct_option_name=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef HAVE_GETOPT_H +#include +#endif + +int +main () +{ +static struct option ac_aggr; +if (sizeof ac_aggr.name) +return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_member_struct_option_name=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_member_struct_option_name=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext +fi +rm -f conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_member_struct_option_name" >&5 +echo "${ECHO_T}$ac_cv_member_struct_option_name" >&6 +if test $ac_cv_member_struct_option_name = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_OPTION_NAME 1 +_ACEOF + + +fi + + case $host_cpu in *i[3456789]86*) echo "$as_me:$LINENO: checking whether we need to define __i386__" >&5 diff --git a/configure.ac b/configure.ac index 73c6d716f08..ea246e4736a 100644 --- a/configure.ac +++ b/configure.ac @@ -1282,6 +1282,12 @@ AC_CHECK_MEMBERS([struct msghdr.msg_accrights, struct sockaddr.sa_len, struct so dnl Check for siginfo_t members AC_CHECK_MEMBERS([siginfo_t.si_fd],,,[#include ]) +dnl Check for struct option +AC_CHECK_MEMBERS([struct option.name],,, +[#ifdef HAVE_GETOPT_H +#include +#endif]) + dnl *** check for the need to define platform-specific symbols case $host_cpu in diff --git a/include/config.h.in b/include/config.h.in index 3c2c5641456..41d0fe6a1c2 100644 --- a/include/config.h.in +++ b/include/config.h.in @@ -473,6 +473,9 @@ /* Define to 1 if `msg_accrights' is member of `struct msghdr'. */ #undef HAVE_STRUCT_MSGHDR_MSG_ACCRIGHTS +/* Define to 1 if `name' is member of `struct option'. */ +#undef HAVE_STRUCT_OPTION_NAME + /* Define to 1 if `sa_len' is member of `struct sockaddr'. */ #undef HAVE_STRUCT_SOCKADDR_SA_LEN diff --git a/include/wine/port.h b/include/wine/port.h index f7838677e78..8039a8732e7 100644 --- a/include/wine/port.h +++ b/include/wine/port.h @@ -174,7 +174,9 @@ extern char *optarg; extern int optind; extern int opterr; extern int optopt; +struct option; +#ifndef HAVE_STRUCT_OPTION_NAME struct option { const char *name; @@ -182,6 +184,7 @@ struct option int *flag; int val; }; +#endif extern int getopt_long (int ___argc, char *const *___argv, const char *__shortopts,