]> Pileus Git - ~andy/gtk/blobdiff - configure.ac
quartz: Get rid of gdk_drawable_get_size() usage
[~andy/gtk] / configure.ac
index ebeeedfb54a8f19a3068e9767d5f27947a44cf4b..4e9d18c8ec7fdbe1c082856bd6e16fb0dba0b40f 100644 (file)
@@ -12,7 +12,7 @@ AC_PREREQ([2.62])
 
 m4_define([gtk_major_version], [2])
 m4_define([gtk_minor_version], [90])
-m4_define([gtk_micro_version], [5])
+m4_define([gtk_micro_version], [8])
 m4_define([gtk_interface_age], [0])
 m4_define([gtk_binary_age],
           [m4_eval(100 * gtk_minor_version + gtk_micro_version)])
@@ -31,11 +31,21 @@ m4_define([gtk_api_version], [3.0])
 m4_define([gtk_binary_version], [3.0.0])
 
 # required versions of other packages
-m4_define([glib_required_version], [2.25.9])
+m4_define([glib_required_version], [2.27.0])
 m4_define([pango_required_version], [1.20])
 m4_define([atk_required_version], [1.29.2])
-m4_define([cairo_required_version], [1.6])
+m4_define([cairo_required_version], [1.10.0])
 m4_define([gdk_pixbuf_required_version], [2.21.0])
+GLIB_REQUIRED_VERSION=glib_required_version
+PANGO_REQUIRED_VERSION=pango_required_version
+ATK_REQUIRED_VERSION=atk_required_version
+CAIRO_REQUIRED_VERSION=cairo_required_version
+GDK_PIXBUF_REQUIRED_VERSION=gdk_pixbuf_required_version
+AC_SUBST(GLIB_REQUIRED_VERSION)
+AC_SUBST(PANGO_REQUIRED_VERSION)
+AC_SUBST(ATK_REQUIRED_VERSION)
+AC_SUBST(CAIRO_REQUIRED_VERSION)
+AC_SUBST(GDK_PIXBUF_REQUIRED_VERSION)
 
 
 AC_INIT([gtk+], [gtk_version],
@@ -227,10 +237,6 @@ AC_ARG_ENABLE(debug,
               AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
                              [turn on debugging @<:@default=debug_default@:>@]),,
               enable_debug=debug_default)
-AC_ARG_ENABLE(shm,
-              [AC_HELP_STRING([--enable-shm],
-                              [support shared memory if available [default=yes]])],,
-              [enable_shm="yes"])
 AC_ARG_ENABLE(xkb,
               [AC_HELP_STRING([--enable-xkb],
                               [support XKB [default=maybe]])],,
@@ -243,10 +249,6 @@ AC_ARG_ENABLE(rebuilds,
               [AC_HELP_STRING([--disable-rebuilds],
                               [disable all source autogeneration rules])],,
               [enable_rebuilds=yes])
-AC_ARG_ENABLE(visibility,
-              [AC_HELP_STRING([--disable-visibility],
-                              [do not use ELF visibility attributes])],,
-              [enable_visibility=yes])
 
 AC_ARG_WITH(xinput,
             [AC_HELP_STRING([--with-xinput=@<:@no/yes@:>@], [support XInput])])
@@ -257,13 +259,13 @@ else
   gdktarget=x11
 fi
 
-AC_ARG_WITH(gdktarget, [  --with-gdktarget=[[x11/win32/quartz/directfb]] select non-default GDK target],
+AC_ARG_WITH(gdktarget, [  --with-gdktarget=[[x11/win32/quartz]] select non-default GDK target],
        gdktarget=$with_gdktarget)
 
 AC_SUBST(gdktarget)
 case $gdktarget in
-  x11|win32|quartz|directfb) ;;
-  *) AC_MSG_ERROR([Invalid target for GDK: use x11, quartz, directfb or win32.]);;
+  x11|win32|quartz) ;;
+  *) AC_MSG_ERROR([Invalid target for GDK: use x11, quartz or win32.]);;
 esac
 
 gdktargetlib=libgdk-$gdktarget-$GTK_API_VERSION.la
@@ -284,11 +286,6 @@ else
 fi
 
 
-if test "x$enable_visibility" = "xno"; then
-  GTK_DEBUG_FLAGS="$GTK_DEBUG_FLAGS -DDISABLE_VISIBILITY"
-fi
-
-
 AC_DEFINE_UNQUOTED(GTK_COMPILED_WITH_DEBUGGING, "${enable_debug}",
                    [Define if debugging is enabled])
 
@@ -365,6 +362,7 @@ PKG_CHECK_MODULES(BASE_DEPENDENCIES,
    atk >= atk_required_version dnl
    pango >= pango_required_version dnl
    cairo >= cairo_required_version dnl
+   cairo-gobject >= cairo_required_version dnl
    gdk-pixbuf-2.0 >= gdk_pixbuf_required_version])
 
 ## In addition to checking that cairo is present, we also need to
@@ -486,18 +484,6 @@ if test "$gtk_ok" = "yes"; then
            [Define if _NL_PAPER_WIDTH is available])
 fi
 
-# sigsetjmp is a macro on some platforms, so AC_CHECK_FUNCS is not reliable
-AC_MSG_CHECKING(for sigsetjmp)
-AC_TRY_LINK([#include <setjmp.h>], [
-sigjmp_buf env;
-sigsetjmp(env, 0);
-], gtk_ok=yes, gtk_ok=no)
-AC_MSG_RESULT($gtk_ok)
-if test "$gtk_ok" = "yes"; then
-  AC_DEFINE(HAVE_SIGSETJMP, 1,
-            [Define to 1 if sigsetjmp is available])
-fi
-
 # i18n stuff
 ALL_LINGUAS="`grep -v '^#' "$srcdir/po/LINGUAS" | tr '\n' ' '`"
 AM_GLIB_GNU_GETTEXT
@@ -740,6 +726,8 @@ AC_MSG_RESULT($gtk_uxtheme_h)
 AC_CHECK_HEADERS(crt_externs.h)
 AC_CHECK_FUNCS(_NSGetEnviron)
 
+AC_MSG_CHECKING(whether to build dynamic modules)
+
 AC_ARG_ENABLE(modules,
               [AC_HELP_STRING([--disable-modules],
                               [disable dynamic module loading])])
@@ -940,11 +928,11 @@ if test "x$gdktarget" = "xx11"; then
   #
   # Check for basic X packages; we use pkg-config if available
   #
-  if $PKG_CONFIG --exists x11 xext xrender; then
+  if $PKG_CONFIG --exists x11 xext; then
     have_base_x_pc=true
-    X_PACKAGES="$X_PACKAGES x11 xext xrender"
-    x_libs="`$PKG_CONFIG --libs x11 xext xrender`"
-    X_CFLAGS="`$PKG_CONFIG --cflags x11 xext xrender`"
+    X_PACKAGES="$X_PACKAGES x11 xext"
+    x_libs="`$PKG_CONFIG --libs x11 xext`"
+    X_CFLAGS="`$PKG_CONFIG --cflags x11 xext`"
 
     # Strip out any .la files that pkg-config might give us (this happens
     # with -uninstalled.pc files)
@@ -965,9 +953,9 @@ if test "x$gdktarget" = "xx11"; then
     fi
 
     x_cflags="$X_CFLAGS"
-    x_libs_for_checks="$X_LIBS -lXext -lXrender -lX11 $X_EXTRA_LIBS"
+    x_libs_for_checks="$X_LIBS -lXext -lX11 $X_EXTRA_LIBS"
 
-    GTK_DEP_LIBS_FOR_X="$X_LIBS -lXrender -lX11 $X_EXTRA_LIBS"
+    GTK_DEP_LIBS_FOR_X="$X_LIBS -lX11 $X_EXTRA_LIBS"
   fi
 
   # Extra libraries found during checks (-lXinerama, etc), not from pkg-config.
@@ -986,8 +974,6 @@ 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
 
@@ -1050,54 +1036,6 @@ if test "x$gdktarget" = "xx11"; then
 
   CFLAGS="$gtk_save_CFLAGS"
 
-  # Xshm checks
-
-  if test "x$enable_shm" = "xyes"; then
-     # Check for the XShm extension, normally in Xext
-     AC_CHECK_FUNC(XShmAttach,
-       :,
-       # On AIX, it is in XextSam instead
-       [AC_CHECK_LIB(XextSam, XShmAttach,
-           [GTK_ADD_LIB(x_extra_libs,XextSam)])])
-  fi
-
-  if test "x$enable_shm" = "xyes"; then
-    # Check for shared memory
-    AC_CHECK_HEADER(sys/ipc.h,
-                    AC_DEFINE(HAVE_IPC_H, 1,
-                              [Define to 1 if ipc.h is available]),
-                    no_sys_ipc=yes)
-    AC_CHECK_HEADER(sys/shm.h,
-                    AC_DEFINE(HAVE_SHM_H, 1,
-                              [Define to 1 if shm.h is available]),
-                    no_sys_shm=yes)
-
-    # Check for the X shared memory extension header file
-    have_xshm=no
-    AC_MSG_CHECKING(X11/extensions/XShm.h)
-    if test "x$no_xext_lib" = "xyes"; then
-      :
-    else
-      gtk_save_CFLAGS="$CFLAGS"
-      CFLAGS="$CFLAGS $x_cflags"
-      AC_TRY_COMPILE([
-#include <stdlib.h>
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/extensions/XShm.h>
-], [XShmSegmentInfo *x_shm_info;], have_xshm=yes)
-      CFLAGS="$gtk_save_CFLAGS"
-    fi
-    AC_MSG_RESULT($have_xshm)
-    if test $have_xshm = yes ; then
-      AC_DEFINE(HAVE_XSHM_H, 1,
-                [Define to 1 if xshm.h is available])
-    fi
-  fi
-
   if test "x$enable_xinerama" = "xyes"; then
     # Check for Xinerama extension (Solaris impl or Xfree impl)
     gtk_save_cppflags="$CPPFLAGS"
@@ -1248,17 +1186,6 @@ else
   AM_CONDITIONAL(USE_QUARTZ, false)
 fi
 
-if test "x$gdktarget" = "xdirectfb"; then
-  DIRECTFB_REQUIRED_VERSION=1.0.0
-  AC_MSG_CHECKING(for DirectFB)
-
-  PKG_CHECK_MODULES(DIRECTFB, [directfb >= $DIRECTFB_REQUIRED_VERSION])
-  AM_CONDITIONAL(USE_DIRECTFB, true)
-else
-  AM_CONDITIONAL(USE_DIRECTFB, false)
-fi
-
-
 # Check for Pango flags
 
 if test "x$gdktarget" = "xwin32"; then
@@ -1300,7 +1227,7 @@ LDFLAGS="$saved_ldflags"
 if test "x$gdktarget" = "xx11"; then
   GDK_PACKAGES="$PANGO_PACKAGES gio-unix-2.0 $X_PACKAGES gdk-pixbuf-2.0 cairo-$cairo_backend"
 else
-  GDK_PACKAGES="$PANGO_PACKAGES $X_PACKAGES gdk-pixbuf-2.0 cairo-$cairo_backend"
+  GDK_PACKAGES="$PANGO_PACKAGES gio-2.0 gdk-pixbuf-2.0 cairo-$cairo_backend"
 fi
 
 GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PACKAGES`"
@@ -1310,7 +1237,7 @@ GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PACKAGES` $GDK_EXTRA_CFL
 # into the pkg-config files
 #
 if test $enable_explicit_deps != yes ; then
-  GDK_PACKAGES="$PANGO_PACKAGES"
+  GDK_PACKAGES="$PANGO_PACKAGES gdk-pixbuf-2.0"
   GDK_EXTRA_LIBS=
 fi
 
@@ -1350,7 +1277,7 @@ else
         LIBS="$gtk_save_LIBS"
 fi
 
-GTK_PACKAGES="atk cairo gdk-pixbuf-2.0 gio-2.0"
+GTK_PACKAGES="atk cairo cairo-gobject gdk-pixbuf-2.0 gio-2.0"
 if test "x$gdktarget" = "xx11"; then
   GTK_PACKAGES="$GTK_PACKAGES pangoft2"
 fi
@@ -1554,7 +1481,7 @@ fi
 # GObject introspection
 ##################################################
 
-GOBJECT_INTROSPECTION_CHECK([0.6.14])
+GOBJECT_INTROSPECTION_CHECK([0.9.3])
 
 ##################################################
 # Checks for gtk-doc and docbook-tools
@@ -1652,9 +1579,6 @@ elif test "x$gdktarget" = "xwin32" ; then
 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
@@ -1669,10 +1593,30 @@ if test x$gdk_working_wctype = xno; then
   gdk_wc="\$gdk_wc
 #define GDK_HAVE_BROKEN_WCTYPE 1"
 fi
-
-
 ])
 
+dnl
+dnl Check for -Bsymbolic-functions linker flag used to avoid
+dnl intra-library PLT jumps, if available.
+dnl
+AC_ARG_ENABLE(Bsymbolic,
+              [AC_HELP_STRING([--disable-Bsymbolic],
+                              [avoid linking with -Bsymbolic])],,
+              [SAVED_LDFLAGS="${LDFLAGS}"
+               AC_MSG_CHECKING([for -Bsymbolic-functions linker flag])
+               LDFLAGS=-Wl,-Bsymbolic-functions
+               AC_TRY_LINK([], [int main (void) { return 0; }],
+                           AC_MSG_RESULT(yes)
+                           enable_Bsymbolic=yes,
+                           AC_MSG_RESULT(no)
+                           enable_Bsymbolic=no)
+               LDFLAGS="${SAVED_LDFLAGS}"])
+
+if test "x${enable_Bsymbolic}" == "xyes"; then
+  GTK_LINK_FLAGS=-Wl,-Bsymbolic-functions
+fi
+AC_SUBST(GTK_LINK_FLAGS)
+
 AC_CONFIG_FILES([
 config.h.win32
 gtk-zip.sh
@@ -1710,7 +1654,6 @@ gdk/win32/Makefile
 gdk/win32/rc/Makefile
 gdk/win32/rc/gdk.rc
 gdk/quartz/Makefile
-gdk/directfb/Makefile
 gdk/tests/Makefile
 gtk/Makefile
 gtk/makefile.msc
@@ -1741,4 +1684,4 @@ perf/Makefile
 AC_OUTPUT
 
 echo "configuration:
-        target: $gdktarget"
+        target:             $gdktarget"