Update the examples filenames in the Windows installer.
[fio.git] / configure
index a3c51fbdb82f06ebd8f9e5d274bab36cb37d33cd..7be8789ff37f2d211470152b4187cdcbc10b7ec4 100755 (executable)
--- a/configure
+++ b/configure
@@ -94,9 +94,13 @@ compile_prog() {
 
 feature_not_found() {
   feature=$1
+  packages=$2
 
   echo "ERROR"
   echo "ERROR: User requested feature $feature"
+  if test ! -z "$packages" ; then
+    echo "ERROR: That feature needs $packages installed"
+  fi
   echo "ERROR: configure was not able to find it"
   fatal "ERROR"
 }
@@ -129,8 +133,10 @@ cpu=""
 cross_prefix=${cross_prefix-${CROSS_COMPILE}}
 cc="${CC-${cross_prefix}gcc}"
 
+# default options
 show_help="no"
 exit_val=0
+gfio="no"
 
 # parse options
 for opt do
@@ -144,9 +150,12 @@ for opt do
   ;;
   --build-32bit-win=*) build_32bit_win="$optarg"
   ;;
-  --help)
-  show_help="yes"
+  --enable-gfio)
+  gfio="yes"
   ;;
+  --help)
+    show_help="yes"
+    ;;
   *)
   echo "Bad option $opt"
   show_help="yes"
@@ -159,6 +168,7 @@ if test "$show_help" = "yes" ; then
   echo "--cc=                  Specify compiler to use"
   echo "--extra-cflags=        Specify extra CFLAGS to pass to compiler"
   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
 
@@ -389,6 +399,25 @@ else
 fi
 echo "Wordsize                      $wordsize"
 
+##########################################
+# zlib probe
+zlib="no"
+cat > $TMPC <<EOF
+#include <zlib.h>
+int main(void)
+{
+  z_stream stream;
+  if (inflateInit(&stream) != Z_OK)
+    return 1;
+  return 0;
+}
+EOF
+if compile_prog "" "-lz" "zlib" ; then
+  zlib=yes
+  LIBS="-lz $LIBS"
+fi
+echo "zlib                          $zlib"
+
 ##########################################
 # linux-aio probe
 libaio="no"
@@ -406,7 +435,7 @@ if compile_prog "" "-laio" "libaio" ; then
   LIBS="-laio $LIBS"
 else
   if test "$libaio" = "yes" ; then
-    feature_not_found "linux AIO"
+    feature_not_found "linux AIO" "libaio-dev or libaio-devel"
   fi
   libaio=no
 fi
@@ -843,6 +872,22 @@ if compile_prog "" "" "strsep"; then
 fi
 echo "strsep                        $strsep"
 
+##########################################
+# strcasestr() probe
+strcasestr="no"
+cat > $TMPC << EOF
+#include <string.h>
+int main(int argc, char **argv)
+{
+  strcasestr(NULL, NULL);
+  return 0;
+}
+EOF
+if compile_prog "" "" "strcasestr"; then
+  strcasestr="yes"
+fi
+echo "strcasestr                    $strcasestr"
+
 ##########################################
 # getopt_long_only() probe
 getopt_long_only="no"
@@ -911,6 +956,48 @@ fi
 echo "__thread                      $tls_thread"
 
 ##########################################
+# Check if we have required gtk/glib support for gfio
+if test "$gfio" = "yes" ; then
+  cat > $TMPC << EOF
+#include <glib.h>
+#include <cairo.h>
+#include <gtk/gtk.h>
+int main(void)
+{
+  gdk_threads_enter();
+  gdk_threads_leave();
+
+  printf("%d", GTK_CHECK_VERSION(2, 18, 0));
+}
+EOF
+GTK_CFLAGS=$(pkg-config --cflags gtk+-2.0 gthread-2.0)
+if test "$?" != "0" ; then
+  echo "configure: gtk and gthread not found"
+  exit 1
+fi
+GTK_LIBS=$(pkg-config --libs gtk+-2.0 gthread-2.0)
+if test "$?" != "0" ; then
+  echo "configure: gtk and gthread not found"
+  exit 1
+fi
+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"
+fi
+fi
+
+echo "gtk 2.18 or higher            $gfio"
+
 # Check whether we have getrusage(RUSAGE_THREAD)
 rusage_thread="no"
 cat > $TMPC << EOF
@@ -993,6 +1080,9 @@ if test "$bigendian" = "yes" ; then
 else
   output_sym "CONFIG_LITTLE_ENDIAN"
 fi
+if test "$zlib" = "yes" ; then
+  output_sym "CONFIG_ZLIB"
+fi
 if test "$libaio" = "yes" ; then
   output_sym "CONFIG_LIBAIO"
 fi
@@ -1043,6 +1133,9 @@ fi
 if test "$strsep" = "yes" ; then
   output_sym "CONFIG_STRSEP"
 fi
+if test "$strcasestr" = "yes" ; then
+  output_sym "CONFIG_STRCASESTR"
+fi
 if test "$getopt_long_only" = "yes" ; then
   output_sym "CONFIG_GETOPT_LONG_ONLY"
 fi
@@ -1076,6 +1169,9 @@ fi
 if test "$rusage_thread" = "yes" ; then
   output_sym "CONFIG_RUSAGE_THREAD"
 fi
+if test "$gfio" = "yes" ; then
+  echo "CONFIG_GFIO=y" >> $config_host_mak
+fi
 if test "$sched_idle" = "yes" ; then
   output_sym "CONFIG_SCHED_IDLE"
 fi
@@ -1087,5 +1183,6 @@ if test "$rlimit_memlock" = "yes" ; then
 fi
 
 echo "LIBS+=$LIBS" >> $config_host_mak
+echo "CFLAGS+=$CFLAGS" >> $config_host_mak
 echo "CC=$cc" >> $config_host_mak
 echo "BUILD_CFLAGS=$BUILD_CFLAGS $CFLAGS" >> $config_host_mak