Merge branch 'master' into gfio
[fio.git] / configure
index 880d113d932125e115da565fe092fb1a2788595c..1c8b2bb0d78821979e0c79430e36cf6292a8e8dc 100755 (executable)
--- a/configure
+++ b/configure
@@ -137,9 +137,11 @@ for opt do
   --extra-cflags=*)
   CFLAGS="$CFLAGS $optarg"
   ;;
+  --build-32bit-win=*) build_32bit_win="$optarg"
+  ;;
   --enable-gfio)
-    gfio="yes"
-    ;;
+  gfio="yes"
+  ;;
   --help)
     show_help="yes"
     ;;
@@ -151,10 +153,11 @@ for opt do
 done
 
 if test "$show_help" = "yes" ; then
-    echo "--cc=                  Specify compiler to use"
+  echo "--cc=                  Specify compiler to use"
   echo "--extra-cflags=        Specify extra CFLAGS to pass to compiler"
-    echo "--enable-gfio          Enable building of gtk gfio"
-    exit $exit_val
+  echo "--build-32bit-win=     Specify yes for a 32-bit build on Windows"
+  echo "--enable-gfio          Enable building of gtk gfio"
+  exit $exit_val
 fi
 
 if check_define __linux__ ; then
@@ -191,21 +194,26 @@ SunOS)
 CYGWIN*)
   echo "Forcing known good options on Windows"
   if test -z "$CC" ; then
-    CC="x86_64-w64-mingw32-gcc"
+    if test ! -z "$build_32bit_win" && test "$build_32bit_win" = "yes"; then
+      CC="i686-w64-mingw32-gcc"
+    else
+      CC="x86_64-w64-mingw32-gcc"
+    fi
   fi
   output_sym "CONFIG_LITTLE_ENDIAN"
-  output_sym "CONFIG_64BIT_LLP64"
-  output_sym "CONFIG_CLOCK_GETTIME"
-  output_sym "CONFIG_CLOCK_MONOTONIC"
-  output_sym "CONFIG_GETTIMEOFDAY"
+  if test ! -z "$build_32bit_win" && test "$build_32bit_win" = "yes"; then
+    output_sym "CONFIG_32BIT"
+  else
+    output_sym "CONFIG_64BIT_LLP64"
+  fi
   output_sym "CONFIG_FADVISE"
   output_sym "CONFIG_SOCKLEN_T"
-  output_sym "CONFIG_POSIX_FALLOCATE"
   output_sym "CONFIG_FADVISE"
   output_sym "CONFIG_SFAA"
   output_sym "CONFIG_RUSAGE_THREAD"
   output_sym "CONFIG_WINDOWSAIO"
   output_sym "CONFIG_FDATASYNC"
+  output_sym "CONFIG_CLOCK_MONOTONIC"
   output_sym "CONFIG_GETTIMEOFDAY"
   output_sym "CONFIG_CLOCK_GETTIME"
   output_sym "CONFIG_SCHED_IDLE"
@@ -846,9 +854,9 @@ if test "$gfio" = "yes" ; then
 int main(void)
 {
   gdk_threads_enter();
-  gtk_main();
   gdk_threads_leave();
-  return 0;
+
+  printf("%d", GTK_CHECK_VERSION(2, 18, 0));
 }
 EOF
 GTK_CFLAGS=$(pkg-config --cflags gtk+-2.0 gthread-2.0)
@@ -861,10 +869,16 @@ if test "$?" != "0" ; then
   echo "configure: gtk and gthread not found"
   exit 1
 fi
-if compile_prog "$GTK_CFLAGS" "$GTK_LIBS" "gfio"; then
-  gfio="yes"
-  LIBS="$LIBS $GTK_LIBS"
-  CFLAGS="$CFLAGS $GTK_CFLAGS"
+if compile_prog "$GTK_CFLAGS" "$GTK_LIBS" "gfio" ; then
+  r=$($TMPE)
+  if test "$r" != "0" ; then
+    gfio="yes"
+    LIBS="$LIBS $GTK_LIBS"
+    CFLAGS="$CFLAGS $GTK_CFLAGS"
+  else
+    echo "GTK found, but need version 2.18 or higher"
+    gfio="no"
+  fi
 else
   echo "Please install gtk and gdk libraries"
   gfio="no"