diff --git a/acinclude.m4 b/acinclude.m4 index 7c98371a7cb35ab3989e26bda10e6898a77bf1c4..a9ace20415ac3c27198469739335889925a4b792 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -59,6 +59,41 @@ AC_DEFUN([CURL_CHECK_HEADER_WINDOWS], [ ]) +dnl CURL_CHECK_NATIVE_WINDOWS +dnl ------------------------------------------------- +dnl Check if building a native Windows target + +AC_DEFUN([CURL_CHECK_NATIVE_WINDOWS], [ + AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl + AC_CACHE_CHECK([whether build target is a native Windows one], [ac_cv_native_windows], [ + if test "$ac_cv_header_windows_h" = "no"; then + ac_cv_native_windows="no" + else + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([ + ],[ +#ifdef __MINGW32__ + int dummy=1; +#else + Not a native Windows build target. +#endif + ]) + ],[ + ac_cv_native_windows="yes" + ],[ + ac_cv_native_windows="no" + ]) + fi + ]) + case "$ac_cv_native_windows" in + yes) + AC_DEFINE_UNQUOTED(NATIVE_WINDOWS, 1, + [Define to 1 if you are building a native Windows target.]) + ;; + esac +]) + + dnl CURL_CHECK_HEADER_WINSOCK dnl ------------------------------------------------- dnl Check for compilable and valid winsock.h header @@ -2575,41 +2610,6 @@ AC_DEFUN([CURL_CHECK_VARIADIC_MACROS], [ ]) -dnl CURL_CHECK_NATIVE_WINDOWS -dnl ------------------------------------------------- -dnl Check if building a native Windows target - -AC_DEFUN([CURL_CHECK_NATIVE_WINDOWS], [ - AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl - AC_CACHE_CHECK([whether build target is a native Windows one], [ac_cv_native_windows], [ - if test "$ac_cv_header_windows_h" = "no"; then - ac_cv_native_windows="no" - else - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([ - ],[ -#ifdef __MINGW32__ - int dummy=1; -#else - Not a native Windows build target. -#endif - ]) - ],[ - ac_cv_native_windows="yes" - ],[ - ac_cv_native_windows="no" - ]) - fi - ]) - case "$ac_cv_native_windows" in - yes) - AC_DEFINE_UNQUOTED(NATIVE_WINDOWS, 1, - [Define to 1 if you are building a native Windows target.]) - ;; - esac -]) - - dnl CURL_CHECK_CA_BUNDLE dnl ------------------------------------------------- dnl Check if a default ca-bundle should be used diff --git a/ares/acinclude.m4 b/ares/acinclude.m4 index 5665950319865904ed62d1f810958903735242bf..0ee7adf41759f545ef7df2e39e3ff3f70456d21c 100644 --- a/ares/acinclude.m4 +++ b/ares/acinclude.m4 @@ -37,6 +37,41 @@ AC_DEFUN([CURL_CHECK_HEADER_WINDOWS], [ ]) +dnl CURL_CHECK_NATIVE_WINDOWS +dnl ------------------------------------------------- +dnl Check if building a native Windows target + +AC_DEFUN([CURL_CHECK_NATIVE_WINDOWS], [ + AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl + AC_CACHE_CHECK([whether build target is a native Windows one], [ac_cv_native_windows], [ + if test "$ac_cv_header_windows_h" = "no"; then + ac_cv_native_windows="no" + else + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([ + ],[ +#ifdef __MINGW32__ + int dummy=1; +#else + Not a native Windows build target. +#endif + ]) + ],[ + ac_cv_native_windows="yes" + ],[ + ac_cv_native_windows="no" + ]) + fi + ]) + case "$ac_cv_native_windows" in + yes) + AC_DEFINE_UNQUOTED(NATIVE_WINDOWS, 1, + [Define to 1 if you are building a native Windows target.]) + ;; + esac +]) + + dnl CURL_CHECK_HEADER_WINSOCK dnl ------------------------------------------------- dnl Check for compilable and valid winsock.h header diff --git a/ares/configure.ac b/ares/configure.ac index da728edacbfbe7f7993346b3ed9d66aa1c5f14b3..d1755bb14ce9c168cbd7790220f1635fc6de59d2 100644 --- a/ares/configure.ac +++ b/ares/configure.ac @@ -123,6 +123,28 @@ dnl gethostbyname_r() version dnl ********************************************************************** CURL_DETECT_ICC([CFLAGS="$CFLAGS -we 147"]) +dnl ********************************************************************** +dnl Make sure that our checks for headers windows.h winsock.h winsock2.h +dnl and ws2tcpip.h take precedence over any other further checks which +dnl could be done later using AC_CHECK_HEADER or AC_CHECK_HEADERS for +dnl this specific header files. And do them before its results are used. +dnl ********************************************************************** + +CURL_CHECK_HEADER_WINDOWS +CURL_CHECK_NATIVE_WINDOWS +case X-"$ac_cv_native_windows" in + X-yes) + CURL_CHECK_HEADER_WINSOCK + CURL_CHECK_HEADER_WINSOCK2 + CURL_CHECK_HEADER_WS2TCPIP + ;; + *) + ac_cv_header_winsock_h="no" + ac_cv_header_winsock2_h="no" + ac_cv_header_ws2tcpip_h="no" + ;; +esac + dnl ********************************************************************** dnl platform/compiler/architecture specific checks/flags dnl ********************************************************************** @@ -365,18 +387,6 @@ dnl ********************************************************************** dnl Checks for header files. AC_HEADER_STDC -dnl ********************************************************************** -dnl Make sure that our checks for headers windows.h winsock.h winsock2.h -dnl and ws2tcpip.h take precedence over any other further checks which -dnl could be done later using AC_CHECK_HEADER or AC_CHECK_HEADERS for -dnl this specific header files. And do them before its results are used. -dnl ********************************************************************** - -CURL_CHECK_HEADER_WINDOWS -CURL_CHECK_HEADER_WINSOCK -CURL_CHECK_HEADER_WINSOCK2 -CURL_CHECK_HEADER_WS2TCPIP - CURL_CHECK_HEADER_MALLOC dnl check for a few basic system headers we need diff --git a/configure.ac b/configure.ac index 3e54496c27dfab1e40b0d7518648e1fc484048e3..43eabd866d711042e9823a24218431cf306d6e1d 100644 --- a/configure.ac +++ b/configure.ac @@ -220,12 +220,23 @@ dnl this specific header files. And do them before its results are used. dnl ********************************************************************** CURL_CHECK_HEADER_WINDOWS -CURL_CHECK_HEADER_WINSOCK -CURL_CHECK_HEADER_WINSOCK2 -CURL_CHECK_HEADER_WS2TCPIP - -CURL_CHECK_HEADER_WINLDAP -CURL_CHECK_HEADER_WINBER +CURL_CHECK_NATIVE_WINDOWS +case X-"$ac_cv_native_windows" in + X-yes) + CURL_CHECK_HEADER_WINSOCK + CURL_CHECK_HEADER_WINSOCK2 + CURL_CHECK_HEADER_WS2TCPIP + CURL_CHECK_HEADER_WINLDAP + CURL_CHECK_HEADER_WINBER + ;; + *) + ac_cv_header_winsock_h="no" + ac_cv_header_winsock2_h="no" + ac_cv_header_ws2tcpip_h="no" + ac_cv_header_winldap_h="no" + ac_cv_header_winber_h="no" + ;; +esac dnl ********************************************************************** dnl platform/compiler/architecture specific checks/flags