--- configure.ac.orig	2008-10-05 23:10:15.000000000 +0200
+++ configure.ac	2008-10-10 00:46:24.000000000 +0200
@@ -50,6 +50,7 @@
 m4_define([openexr_required_version], [0.0.0])
 m4_define([sdl_required_version], [0.0.0])
 m4_define([graphviz_required_version], [0.0.0])
+m4_define([libopenraw_required_version], [0.0.5])
 
 AC_INIT(gegl, gegl_major_version.gegl_minor_version.gegl_micro_version)
 AC_CONFIG_SRCDIR([gegl/gegl.h.in])
@@ -453,23 +454,33 @@
         *** Errors follow:
             $DEP_PKG_ERRORS]))
 
-PKG_CHECK_MODULES(GIO, gio-2.0, 
-	have_gio="yes"
-	AC_DEFINE(HAVE_GIO, 1, [Define to 1 to compile with gio support.])
-	GLIB_PACKAGES="$GLIB_PACKAGES gio-2.0",
-	have_gio="no (gio not found)")
+AC_ARG_WITH(gio, [  --without-gio           build without GIO (from glib) support])
+  if test x$with_gio != xno; then
+    PKG_CHECK_MODULES(GIO, gio-2.0, 
+      have_gio="yes"
+      AC_DEFINE(HAVE_GIO, 1, [Define to 1 to compile with gio support.])
+      GLIB_PACKAGES="$GLIB_PACKAGES gio-2.0",
+      have_gio="no  (gio not found)")
+  else
+    have_gio="no  (disabled by flag)"
+  fi
 AM_CONDITIONAL(HAVE_GIO, test "x$have_gio" = "xyes")
 
 # Rerun PKG_CONFIG to add gthread-2.0 cflags and libs
 DEP_CFLAGS=`$PKG_CONFIG --cflags $GLIB_PACKAGES gthread-2.0`
 DEP_LIBS=`$PKG_CONFIG --libs $GLIB_PACKAGES gthread-2.0`
 
-PKG_CHECK_MODULES(GTK, gtk+-2.0 >= $GTK_REQUIRED_VERSION,
-  have_gtk="yes"
-  AC_DEFINE(HAVE_GTK, 1, [Define to 1 to compile with gtk support.])
-  GTK_CFLAGS="$GTK_CFLAGS"
-  GTK_LIBS="$GTK_LIBS",
-  have_gtk="no  (gtk+ not found)")
+AC_ARG_WITH(gtk, [  --without-gtk           build without GTK+ support])
+if test "x$with_gtk" != "xno"; then
+  PKG_CHECK_MODULES(GTK, gtk+-2.0 >= $GTK_REQUIRED_VERSION,
+    have_gtk="yes"
+    AC_DEFINE(HAVE_GTK, 1, [Define to 1 to compile with gtk support.])
+    GTK_CFLAGS="$GTK_CFLAGS"
+    GTK_LIBS="$GTK_LIBS",
+    have_gtk="no  (gtk+ not found)")
+else
+  have_gtk="no  (disabled by flag)"
+fi
 AM_CONDITIONAL(HAVE_GTK, test "x$have_gtk" = "xyes")
 
 AC_SUBST(GTK_CFLAGS)
@@ -538,11 +549,16 @@
 # Check for Lua
 ###############
 
-PKG_CHECK_MODULES(LUA, lua >= $LUA_REQUIRED_VERSION,
-  have_lua="yes",
-  [PKG_CHECK_MODULES(LUA, lua5.1 >= $LUA_REQUIRED_VERSION,
-     have_lua="yes",
-     have_lua="no  (usable lua not found)")])
+AC_ARG_WITH(lua, [  --without-lua           build without Lua support])
+  if test x$with_lua != xno; then
+    PKG_CHECK_MODULES(LUA, lua >= $LUA_REQUIRED_VERSION,
+      have_lua="yes",
+      [PKG_CHECK_MODULES(LUA, lua5.1 >= $LUA_REQUIRED_VERSION,
+         have_lua="yes",
+         have_lua="no  (usable lua not found)")])
+  else
+    have_lua="no  (disabled by flag)"
+  fi
 AM_CONDITIONAL(HAVE_LUA, test "x$have_lua" = "xyes")
 
 AC_SUBST(LUA_CFLAGS) 
@@ -553,17 +569,22 @@
 # Checks for Ruby used to make API docs
 #######################################
 
-AC_CHECK_PROG(RUBY, ruby, yes, no)
-if test "$RUBY" = "no"; then
-  AC_MSG_WARN([
+AC_ARG_WITH(ruby, [  --without-ruby          build without Ruby support])
+  if test x$with_ruby != xno; then
+    AC_CHECK_PROG(RUBY, ruby, yes, no)
+    if test "$RUBY" = "no"; then
+      AC_MSG_WARN([
 *** Could not find Ruby interpreter. The HTML API reference
 will not be updated.
 ])
-  have_ruby=no
-else
-  RUBY_BIN="$RUBY"
-  have_ruby=yes
-fi
+      have_ruby=no
+    else
+      RUBY_BIN="$RUBY"
+      have_ruby=yes
+    fi
+  else
+    have_ruby="no  (disabled by flag)"
+  fi
 AM_CONDITIONAL(HAVE_RUBY, test "x$have_ruby" = "xyes")
 
 AC_SUBST(RUBY_BIN)
@@ -573,9 +594,14 @@
 # Check for Cairo
 #################
 
-PKG_CHECK_MODULES(CAIRO, cairo,
-  have_cairo="yes",
-  have_cairo="no  (usable cairo not found)")
+AC_ARG_WITH(cairo, [  --without-cairo         build without Cairo and without pangocairo])
+  if test x$with_cairo != xno; then
+    PKG_CHECK_MODULES(CAIRO, cairo,
+      have_cairo="yes",
+      have_cairo="no  (usable cairo not found)")
+  else
+    have_cairo="no  (disabled by flag)"
+  fi
 AM_CONDITIONAL(HAVE_CAIRO, test "x$have_cairo" = "xyes")
 
 AC_SUBST(CAIRO_CFLAGS) 
@@ -586,14 +612,23 @@
 # Checks for Pango stuff
 ########################
 
-PKG_CHECK_MODULES(PANGO, pango,
-  have_pango="yes",
-  have_pango="no  (usable pango not found)")
+AC_ARG_WITH(pango, [  --without-pango         build without Pango and without pangocairo])
+  if test x$with_pango != xno; then
+    PKG_CHECK_MODULES(PANGO, pango,
+      have_pango="yes",
+      have_pango="no  (usable pango not found)")
+  else
+    have_pango="no  (disabled by flag)"
+  fi
 AM_CONDITIONAL(HAVE_PANGO, test "x$have_pango" = "xyes")
 
-PKG_CHECK_MODULES(PANGOCAIRO, pangocairo,
-  have_pangocairo="yes",
-  have_pangocairo="no  (usable pangocairo not found)")
+if test x$with_pango != xno && test x$with_cairo != xno; then
+  PKG_CHECK_MODULES(PANGOCAIRO, pangocairo,
+    have_pangocairo="yes",
+    have_pangocairo="no  (usable pangocairo not found)")
+else
+  have_pangocairo="no  (disabled by flag)"
+fi
 AM_CONDITIONAL(HAVE_PANGOCAIRO, test "x$have_pangocairo" = "xyes")
 
 AC_SUBST(PANGO_CFLAGS) 
@@ -606,9 +641,14 @@
 # Check for gdk-pixbuf
 ######################
 
-PKG_CHECK_MODULES(GDK_PIXBUF, gdk-pixbuf-2.0 >= gtk_required_version,
-  have_gdk_pixbuf="yes",
-  have_gdk_pixbuf="no  (gdk-pixbuf not found)")
+AC_ARG_WITH(gdkpixbuf, [  --without-gdkpixbuf     build without GDKPixbuf support])
+  if test x$with_gdkpixbuf != xno; then
+    PKG_CHECK_MODULES(GDK_PIXBUF, gdk-pixbuf-2.0 >= gtk_required_version,
+      have_gdk_pixbuf="yes",
+      have_gdk_pixbuf="no  (gdk-pixbuf not found)")
+  else
+    have_gdk_pixbuf="no  (disabled by flag)"
+  fi
 AM_CONDITIONAL(HAVE_GDK_PIXBUF, test "x$have_gdk_pixbuf" = "xyes")
 
 
@@ -641,6 +681,10 @@
         jpeg_ok="no  (JPEG header file not found)"
       fi
     fi
+  else
+    if test x$with_libjpeg == xno; then
+      jpeg_ok="no  (disabled by flag)"
+    fi
   fi
 
   if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
@@ -655,9 +699,14 @@
 # Check for libpng
 ##################
 
-PKG_CHECK_MODULES(PNG, libpng,
-  have_libpng="yes",
-  have_libpng="no  (usable libpng not found)")
+AC_ARG_WITH(libpng, [  --without-libpng        build without PNG support])
+  if test x$with_libpng != xno; then
+    PKG_CHECK_MODULES(PNG, libpng,
+      have_libpng="yes",
+      have_libpng="no  (usable libpng not found)")
+  else
+    have_libpng="no  (disabled by flag)"
+  fi
 AM_CONDITIONAL(HAVE_PNG, test "x$have_libpng" = "xyes")
 
 AC_SUBST(PNG_CFLAGS) 
@@ -668,9 +717,14 @@
 # Check for librsvg
 ###################
 
-PKG_CHECK_MODULES(RSVG, librsvg-2.0 >= librsvg_required_version,
-  have_librsvg="yes",
-  have_librsvg="no  (usable librsvg not found)")
+AC_ARG_WITH(librsvg, [  --without-librsvg       build without SVG support])
+  if test x$with_librsvg != xno; then
+    PKG_CHECK_MODULES(RSVG, librsvg-2.0 >= librsvg_required_version,
+      have_librsvg="yes",
+      have_librsvg="no  (usable librsvg not found)")
+  else
+    have_librsvg="no  (disabled by flag)"
+  fi
 AM_CONDITIONAL(HAVE_RSVG, test "x$have_librsvg" = "xyes")
 
 AC_SUBST(RSVG_CFLAGS) 
@@ -681,9 +735,14 @@
 # Check for OpenEXR
 ###################
 
-PKG_CHECK_MODULES(OPENEXR, OpenEXR,
-  have_openexr="yes",
-  have_openexr="no  (usable OpenEXR not found)")
+AC_ARG_WITH(openexr, [  --without-openexr       build without OpenEXR])
+  if test x$with_openexr != xno; then
+    PKG_CHECK_MODULES(OPENEXR, OpenEXR,
+      have_openexr="yes",
+      have_openexr="no  (usable OpenEXR not found)")
+  else
+    have_openexr="no  (disabled by flag)"
+  fi
 AM_CONDITIONAL(HAVE_OPENEXR, test "x$have_openexr" = "xyes")
 
 AC_SUBST(OPENEXR_CFLAGS) 
@@ -694,16 +753,21 @@
 # Check for SDL
 ###############
 
-dnl check for SDL
-AC_PATH_PROG(SDL_CONFIG, sdl-config, no)
-if test "$SDL_CONFIG" = "no"; then
-  have_sdl="no  (usable libsdl not found)"
-  AC_MSG_RESULT([*** Check for SDL library failed.])
-else
-  have_sdl="yes"
-  SDL_CFLAGS=`$SDL_CONFIG --cflags`
-  SDL_LIBS=`$SDL_CONFIG --libs`
-fi
+AC_ARG_WITH(libsdl, [  --without-libsdl        build without SDL support])
+  if test x$with_libsdl != xno; then
+    dnl check for SDL
+    AC_PATH_PROG(SDL_CONFIG, sdl-config, no)
+    if test "$SDL_CONFIG" = "no"; then
+      have_sdl="no  (usable libsdl not found)"
+      AC_MSG_RESULT([*** Check for SDL library failed.])
+    else
+      have_sdl="yes"
+      SDL_CFLAGS=`$SDL_CONFIG --cflags`
+      SDL_LIBS=`$SDL_CONFIG --libs`
+    fi
+  else
+    have_sdl="no  (disabled by flag)"
+  fi
 AM_CONDITIONAL(HAVE_SDL, test "x$have_sdl" = "xyes")
 
 AC_SUBST(SDL_CFLAGS)
@@ -714,10 +778,15 @@
 # Check for libopenraw
 ####################
 
-dnl check for libopenraw
-PKG_CHECK_MODULES(OPENRAW, libopenraw-1.0,
-  have_openraw="yes",
-  have_openraw="no (usable libopenraw not found)")
+AC_ARG_WITH(libopenraw, [  --without-libopenraw        build without libopenraw support])
+  if test x$with_libopenraw != xno; then
+    dnl check for libopenraw
+    PKG_CHECK_MODULES(OPENRAW, libopenraw-1.0 >= libopenraw,
+      have_openraw="yes",
+      have_openraw="no  (usable libopenraw not found)")
+    else
+      have_openraw="no  (disabled by flag)"
+    fi
 AM_CONDITIONAL(HAVE_OPENRAW, test "x$have_openraw" = "xyes")
 
 AC_SUBST(OPENRAW_CFLAGS) 
@@ -728,13 +797,18 @@
 # Check for graphviz
 ####################
  
-AC_PATH_PROG(GRAPHVIZ, dot, no)
-if test "$GRAPHVIZ" = "no"; then
-  have_graphviz="no  (graphviz not found)"
-  AC_MSG_RESULT([*** Check for dot command from graphviz failed.])
-else
-  have_graphviz="yes"
-fi
+AC_ARG_WITH(graphviz, [  --without-graphviz      build without graphviz support])
+  if test x$with_graphviz != xno; then
+    AC_PATH_PROG(GRAPHVIZ, dot, no)
+    if test "$GRAPHVIZ" = "no"; then
+      have_graphviz="no  (graphviz not found)"
+      AC_MSG_RESULT([*** Check for dot command from graphviz failed.])
+    else
+      have_graphviz="yes"
+    fi
+  else
+    have_graphviz="no  (disabled by flag)"
+  fi
 AM_CONDITIONAL(HAVE_GRAPHVIZ, test "x$have_graphviz" = "xyes")
 
 
@@ -742,13 +816,18 @@
 # Check for enscript
 ####################
  
-AC_PATH_PROG(ENSCRIPT, enscript, no)
-if test "$ENSCRIPT" = "no"; then
-  have_enscript="no  (enscript not found)"
-  AC_MSG_RESULT([*** Check for enscript command failed.])
-else
-  have_enscript="yes"
-fi
+AC_ARG_WITH(enscript, [  --without-enscript      build without enscript support])
+  if test x$with_enscript != xno; then
+    AC_PATH_PROG(ENSCRIPT, enscript, no)
+    if test "$ENSCRIPT" = "no"; then
+      have_enscript="no  (enscript not found)"
+      AC_MSG_RESULT([*** Check for enscript command failed.])
+    else
+      have_enscript="yes"
+    fi
+  else
+    have_enscript="no  (disabled by flag)"
+  fi
 AM_CONDITIONAL(HAVE_ENSCRIPT, test "x$have_enscript" = "xyes")
 
 
@@ -756,13 +835,18 @@
 # Check for asciidoc
 ####################
  
-AC_PATH_PROG(ASCIIDOC, asciidoc, no)
-if test "$ASCIIDOC" = "no"; then
-  have_asciidoc="no  (asciidoc not found)"
-  AC_MSG_RESULT([*** Check for asciidoc failed.])
-else
-  have_asciidoc="yes"
-fi
+AC_ARG_WITH(asciidoc, [  --without-asciidoc      build without asciidoc support])
+  if test x$with_asciidoc != xno; then
+    AC_PATH_PROG(ASCIIDOC, asciidoc, no)
+    if test "$ASCIIDOC" = "no"; then
+      have_asciidoc="no  (asciidoc not found)"
+      AC_MSG_RESULT([*** Check for asciidoc failed.])
+    else
+      have_asciidoc="yes"
+    fi
+  else
+    have_asciidoc="no  (disabled by flag)"
+  fi
 AM_CONDITIONAL(HAVE_ASCIIDOC, test "x$have_asciidoc" = "xyes")
 
 
@@ -770,14 +854,24 @@
 # Check for avcodec and avformat libraries
 ##########################################
 
-PKG_CHECK_MODULES(AVCODEC, libavcodec,
-  have_libavcodec="yes",
-  have_libavcodec="no  (usable libavcodec not found)")
+AC_ARG_WITH(libavcodec, [  --without-libavcodec    build without avcodec support])
+  if test x$with_libavcodec != xno; then
+    PKG_CHECK_MODULES(AVCODEC, libavcodec,
+      have_libavcodec="yes",
+      have_libavcodec="no  (usable libavcodec not found)")
+  else
+    have_libavcodec="no  (disabled by flag)"
+  fi
 AM_CONDITIONAL(HAVE_AVCODEC, test "x$have_libavcodec" = "xyes")
  
-PKG_CHECK_MODULES(AVFORMAT, libavformat,
-  have_libavformat="yes",
-  have_libavformat="no  (usable libavformat not found)")
+AC_ARG_WITH(libavformat, [  --without-libavformat   build without avformat support])
+  if test x$with_libavformat != xno; then
+    PKG_CHECK_MODULES(AVFORMAT, libavformat,
+      have_libavformat="yes",
+      have_libavformat="no  (usable libavformat not found)")
+  else
+    have_libavformat="no  (disabled by flag)"
+  fi
 AM_CONDITIONAL(HAVE_AVFORMAT, test "x$have_libavformat" = "xyes")
 
 AC_SUBST(AVCODEC_CFLAGS) 
@@ -790,9 +884,13 @@
 # Check for V4L
 ###############
  
-have_v4l=no
-AC_CHECK_HEADER(linux/videodev.h, have_v4l=yes)
-
+AC_ARG_WITH(v4l, [  --without-v4l           build without video4linux support])
+  if test x$with_v4l != xno; then
+    have_v4l=no
+    AC_CHECK_HEADER(linux/videodev.h, have_v4l=yes)
+  else
+    have_v4l="no  (disabled by flag)"
+  fi
 AM_CONDITIONAL(HAVE_V4L, test "x$have_v4l" = "xyes")
 
 
@@ -901,3 +999,5 @@
   avformat:       $have_libavformat
   V4L:            $have_v4l
 ]);
+
+# vim:ts=2:et:sw=2