diff --git a/configure b/configure index b38628c37a49091f40cab973f4336c89f73bf0f4..2adf0394abdb720986f97d116a9ef07b5fae8792 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 <getopt.h> +#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 <getopt.h> +#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 73c6d716f0829acdd0689b42dc243d514658847d..ea246e4736afe7f5e8cddefe7d2128eaa2514645 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 <signal.h>]) +dnl Check for struct option +AC_CHECK_MEMBERS([struct option.name],,, +[#ifdef HAVE_GETOPT_H +#include <getopt.h> +#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 3c2c5641456de7f6457230c13aa1c7428a78b386..41d0fe6a1c28cb5f03ecca7fe71a22e87dedca8b 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 f7838677e78369c77c70e0bb54355511c5ac461d..8039a8732e7aec9099c660963b3f9c43b0356816 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,