skip checks for Windows specific header files
authorYang Tse <yangsita@gmail.com>
Wed, 14 May 2008 16:14:35 +0000 (16:14 +0000)
committerYang Tse <yangsita@gmail.com>
Wed, 14 May 2008 16:14:35 +0000 (16:14 +0000)
when build target is not a native Windows one

acinclude.m4
configure.ac

index 5665950..0ee7adf 100644 (file)
@@ -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 
index da728ed..d1755bb 100644 (file)
@@ -124,6 +124,28 @@ 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