Adjust behaviour of gcd
[ghc-base.git] / configure.ac
index b19e800..787bf66 100644 (file)
@@ -10,6 +10,13 @@ AC_ARG_WITH([cc],
             [CC=$withval])
 AC_PROG_CC()
 
+case `uname -s` in
+    MINGW*|CYGWIN*)
+        WINDOWS=YES;;
+    *)
+        WINDOWS=NO;;
+esac
+
 # do we have long longs?
 AC_CHECK_TYPES([long long])
 
@@ -90,7 +97,15 @@ FPTOOLS_CHECK_HTYPE(sig_atomic_t)
 FPTOOLS_CHECK_HTYPE(clock_t)
 FPTOOLS_CHECK_HTYPE(time_t)
 FPTOOLS_CHECK_HTYPE(useconds_t)
-FPTOOLS_CHECK_HTYPE(suseconds_t)
+FPTOOLS_CHECK_HTYPE_ELSE(suseconds_t,
+                         [if test "$WINDOWS" = "YES"
+                          then
+                              AC_CV_NAME=Int32
+                              AC_CV_NAME_supported=yes
+                              AC_MSG_RESULT([not found...on Windows, so using Int32])
+                          else
+                              AC_MSG_ERROR([type not found])
+                          fi])
 FPTOOLS_CHECK_HTYPE(dev_t)
 FPTOOLS_CHECK_HTYPE(ino_t)
 FPTOOLS_CHECK_HTYPE(mode_t)
@@ -138,11 +153,10 @@ FP_SEARCH_LIBS_PROTO(iconv,
                       iconv_close(cd);],
                      iconv,
                      [EXTRA_LIBS="$EXTRA_LIBS $ac_lib"],
-                     [case `uname -s` in
-                        MINGW*|CYGWIN*) ;;
-                        *)
-                             AC_MSG_ERROR([iconv is required on non-Windows platforms]);;
-                      esac])
+                     [if test "$WINDOWS" = "NO"
+                      then
+                          AC_MSG_ERROR([iconv is required on non-Windows platforms])
+                      fi])
 
 # If possible, we use libcharset instead of nl_langinfo(CODESET) to
 # determine the current locale's character encoding.