]> Pileus Git - ~andy/gtk/blobdiff - configure.in
dist all changelogs
[~andy/gtk] / configure.in
index 9647faa7041842c17db7cd48e457a8914e60ded3..27faaff9fe7484690d8de2f54e8f455d6cbcbf71 100644 (file)
@@ -31,7 +31,7 @@ m4_define([gtk_api_version], [2.0])
 m4_define([gtk_binary_version], [2.4.0])
 
 # required versions of other packages
-m4_define([glib_required_version], [2.7.1])
+m4_define([glib_required_version], [2.10.1])
 m4_define([pango_required_version], [1.9.0])
 m4_define([atk_required_version], [1.0.1])
 m4_define([cairo_required_version], [0.9.2])
@@ -224,13 +224,13 @@ else
   gdktarget=x11
 fi
 
-AC_ARG_WITH(gdktarget, [  --with-gdktarget=[[x11/linux-fb/win32]] select non-default GDK target],
+AC_ARG_WITH(gdktarget, [  --with-gdktarget=[[x11/linux-fb/win32/quartz/directfb]] select non-default GDK target],
        gdktarget=$with_gdktarget)
 
 AC_SUBST(gdktarget)
 case $gdktarget in
-  x11|linux-fb|win32) ;;
-  *) AC_MSG_ERROR([Invalid target for GDK: use x11, linux-fb or win32.]);;
+  x11|linux-fb|win32|quartz|directfb) ;;
+  *) AC_MSG_ERROR([Invalid target for GDK: use x11, linux-fb, quartz, directfb or win32.]);;
 esac
 
 gdktargetlib=libgdk-$gdktarget-$GTK_API_VERSION.la
@@ -370,8 +370,8 @@ AC_ARG_ENABLE(explicit-deps,
 AC_MSG_CHECKING([Whether to write dependencies into .pc files])
 case $enable_explicit_deps in
   auto)
-    deplib_check_method=`(./libtool --config; echo eval echo \\$deplib_check_method) | sh`
-    if test "X$deplib_check_method" = Xnone || test "x$enable_static" = xyes ; then
+    deplibs_check_method=`(./libtool --config; echo eval echo \\$deplibs_check_method) | sh`
+    if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
       enable_explicit_deps=yes  
     else
       enable_explicit_deps=no  
@@ -433,7 +433,7 @@ fi
 # sure that both po/ and po-properties/ have .po files that correspond
 # to your language.  If you only add one to po/, the build will break
 # in po-properties/.
-ALL_LINGUAS="af am ar az az_IR be bg bn br bs ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu hy ia id is it ja ko li lt lv mi mk ml mn mr ms nb ne nl nn no nso pa pl pt pt_BR ro ru rw sk sl sq sr sr@ije sr@Latn sv ta te th tk tr uk uz uz@Latn vi wa xh yi zh_CN zh_TW"
+ALL_LINGUAS="af am ar az az_IR be bg bn br bs ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu hy ia id is it ja ko ku li lt lv mi mk ml mn mr ms nb ne nl nn no nso pa pl pt pt_BR ro ru rw sk sl sq sr sr@Latn sr@ije sv ta te th tk tr tt uk uz uz@Latn vi wa xh yi zh_CN zh_HK zh_TW"
 AM_GLIB_GNU_GETTEXT
 LIBS="$LIBS $INTLLIBS"
 AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*)
@@ -515,6 +515,14 @@ AM_PATH_GLIB_2_0(glib_required_version, :,
 *** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.]),
   gobject gmodule-no-export gthread)
 
+# See if it's safe to turn G_DISABLE_DEPRECATED on.
+GLIB_VERSION_MAJOR_MINOR=`$PKG_CONFIG --modversion glib-2.0 | sed "s/\.@<:@^.@:>@*\$//"`
+GLIB_REQUIRED_VERSION_MAJOR_MINOR=`echo glib_required_version | sed "s/\.@<:@^.@:>@*\$//"`
+if test "x$GLIB_VERSION_MAJOR_MINOR" = "x$GLIB_REQUIRED_VERSION_MAJOR_MINOR"; then
+  CFLAGS="-DG_DISABLE_DEPRECATED $CFLAGS"
+fi
+
+
 dnl
 dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
 dnl
@@ -993,10 +1001,10 @@ if test $cross_compiling = yes; then
   fi
 fi
 
-if test ! -f $srcdir/gtk/stock-icons/gtkstockpixbufs.h && 
+if test ! -f $srcdir/gtk/gtkbuiltincache.h && 
    test "x$REBUILD_PNGS" = "x#" ; then
      AC_MSG_ERROR([
-*** gtkstockpixbufs.h is not in the tree, and cannot be built
+*** gtkbuiltincache.h is not in the tree, and cannot be built
 *** because you don't have libpng, or (when cross-compiling) you 
 *** don't have a prebuilt gdk-pixbuf-csource on the host system.])
 fi
@@ -1045,10 +1053,11 @@ if test "x$gdktarget" = "xx11"; then
   #
   # Check for basic X packages; we use pkg-config if available
   #
-  if $PKG_CONFIG --exists x11 xext; then
+  if $PKG_CONFIG --exists x11 xext xrender; then
     have_base_x_pc=true
-    X_PACKAGES="$X_PACKAGES x11 xext"
-    x_libs="`pkg-config --libs x11 xext`"
+    X_PACKAGES="$X_PACKAGES x11 xext xrender"
+    x_libs="`pkg-config --libs x11 xext xrender`"
+    X_CFLAGS="`pkg-config --cflags x11 xext xrender`"
     
     # Strip out any .la files that pkg-config might give us (this happens
     # with -uninstalled.pc files)
@@ -1070,11 +1079,11 @@ if test "x$gdktarget" = "xx11"; then
     fi
     
     x_cflags="$X_CFLAGS"
-    x_libs_for_checks="$X_LIBS -lXext -lX11 $X_EXTRA_LIBS"
+    x_libs_for_checks="$X_LIBS -lXext -lXrender -lX11 $X_EXTRA_LIBS"
 
     GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
     GDK_PIXBUF_XLIB_EXTRA_LIBS="$X_LIBS -lX11 $X_EXTRA_LIBS"
-    GTK_DEP_LIBS_FOR_X="$X_LIBS -lX11 $X_EXTRA_LIBS"
+    GTK_DEP_LIBS_FOR_X="$X_LIBS -lXrender -lX11 $X_EXTRA_LIBS"
   fi
 
   # Extra libraries found during checks (-lXinerama, etc), not from pkg-config.
@@ -1093,6 +1102,8 @@ if test "x$gdktarget" = "xx11"; then
                 AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]))
   AC_CHECK_FUNC(XextFindDisplay, :,
                 AC_MSG_ERROR([*** libXext not found. Check 'config.log' for more details.]))
+  AC_CHECK_FUNC(XRenderQueryExtension, :,
+                AC_MSG_ERROR([*** libXrender not found. Check 'config.log' for more details.]))
 
   # Check for xReply
 
@@ -1324,6 +1335,13 @@ else
   AM_CONDITIONAL(USE_WIN32, false)
 fi
 
+if test "x$gdktarget" = "xquartz"; then
+  GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -framework Cocoa"
+  AM_CONDITIONAL(USE_QUARTZ, true)
+else
+  AM_CONDITIONAL(USE_QUARTZ, false)
+fi
+
 GDK_PIXBUF_XLIB_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_XLIB_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
 GDK_PIXBUF_XLIB_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_PIXBUF_XLIB_EXTRA_CFLAGS"
 
@@ -1351,6 +1369,27 @@ else
   AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
 fi
 
+if test "x$gdktarget" = "xdirectfb"; then
+  DIRECTFB_REQUIRED_VERSION=0.9.21
+  AC_MSG_CHECKING(for DirectFB)
+
+  if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb ; then
+      AC_MSG_RESULT(found)
+      GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags directfb` $GDK_EXTRA_CFLAGS"
+      GDK_EXTRA_LIBS="`$PKG_CONFIG --libs directfb` $GDK_EXTRA_LIBS"
+  else
+      AC_MSG_ERROR([
+*** DirectFB $DIRECTFB_REQUIRED_VERSION or newer is required. The latest
+*** version of DirectFB is always available from http://www.directfb.org/.
+  ])
+  fi
+
+  AM_CONDITIONAL(USE_DIRECTFB, true)
+else
+  AM_CONDITIONAL(USE_DIRECTFB, false)
+fi
+
+
 # Check for Pango flags
 
 if test "x$gdktarget" = "xwin32"; then
@@ -1388,9 +1427,12 @@ fi
 CFLAGS="$saved_cflags"
 LDFLAGS="$saved_ldflags"
 
-GDK_PACKAGES="$PANGO_PACKAGES $X_PACKAGES"
+GDK_PACKAGES="$PANGO_PACKAGES"
+if test "x$gdktarget" = "xx11"; then
+  GDK_PACKAGES="$GDK_PACKAGES $X_PACKAGES"
+fi
 GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
-GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $X_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
+GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
 
 #
 # If we aren't writing explicit dependencies, then don't put the extra libraries we need
@@ -1565,6 +1607,12 @@ elif test "x$gdktarget" = "xlinux-fb" ; then
   gdk_windowing='
 #define GDK_WINDOWING_FB
 #define GDK_NATIVE_WINDOW_POINTER'
+elif test "x$gdktarget" = "xquartz" ; then
+  gdk_windowing='
+#define GDK_WINDOWING_QUARTZ'
+elif test "x$gdktarget" = "xdirectfb" ; then
+  gdk_windowing='
+#define GDK_WINDOWING_DIRECTFB'
 fi
 
 if test x$gdk_wchar_h = xyes; then
@@ -1621,11 +1669,12 @@ gdk/win32/Makefile
 gdk/win32/rc/Makefile
 gdk/win32/rc/gdk.rc
 gdk/linux-fb/Makefile
+gdk/quartz/Makefile
+gdk/directfb/Makefile
 gtk/Makefile
 gtk/makefile.msc
 gtk/gtkversion.h
 gtk/gtk-win32.rc
-gtk/stock-icons/Makefile
 gtk/theme-bits/Makefile
 gtk/xdgmime/Makefile
 modules/Makefile