]> Pileus Git - ~andy/gtk/blobdiff - configure.ac
Bump version to 3.5.4
[~andy/gtk] / configure.ac
index 107785dcac1b3eb752973e1c44210f9ffa88b728..f90440ea077145c7fd270ee01a05ab7ad60ac626 100644 (file)
@@ -9,9 +9,9 @@
 # set GTK_BINARY_AGE and GTK_INTERFACE_AGE to 0.
 
 m4_define([gtk_major_version], [3])
-m4_define([gtk_minor_version], [4])
-m4_define([gtk_micro_version], [1])
-m4_define([gtk_interface_age], [1])
+m4_define([gtk_minor_version], [5])
+m4_define([gtk_micro_version], [4])
+m4_define([gtk_interface_age], [0])
 m4_define([gtk_binary_age],
           [m4_eval(100 * gtk_minor_version + gtk_micro_version)])
 m4_define([gtk_version],
@@ -39,7 +39,7 @@ AC_CONFIG_AUX_DIR([build-aux])
 m4_define([gtk_binary_version], [3.0.0])
 
 # required versions of other packages
-m4_define([glib_required_version], [2.32.0])
+m4_define([glib_required_version], [2.33.1])
 m4_define([pango_required_version], [1.30.0])
 m4_define([atk_required_version], [2.2.0])
 m4_define([cairo_required_version], [1.10.0])
@@ -140,8 +140,11 @@ MATH_LIB=-lm
 AC_MSG_CHECKING([for native Win32])
 LIB_EXE_MACHINE_FLAG=X86
 EXE_MANIFEST_ARCHITECTURE=X86
+DISABLE_ON_W32=''
 case "$host" in
   *-*-mingw*)
+    dnl Comment-out certain gtk3.types.in lines
+    DISABLE_ON_W32='%'
     os_win32=yes
     gio_can_sniff=no
     MATH_LIB=
@@ -158,6 +161,7 @@ case "$host" in
 esac
 AC_MSG_RESULT([$os_win32])
 
+AC_SUBST(DISABLE_ON_W32)
 AC_SUBST(LIB_EXE_MACHINE_FLAG)
 AC_SUBST(EXE_MANIFEST_ARCHITECTURE)
 
@@ -316,13 +320,19 @@ AC_ARG_ENABLE(quartz-relocation,
                               [enable bundle-based relocation functions])],
                               [quartz_relocation=yes])
 
+AC_ARG_ENABLE(wayland-cairo-gl,
+              AS_HELP_STRING([--enable-wayland-cairo-gl],
+                             [enable the use of Cairo GL in the Wayland backend]),
+              [enable_wayland_cairo_gl=yes])
+
+
 cairo_backends=
 backend_immodules=
+have_gio_unix=no
 GDK_BACKENDS=
 GDK_EXTRA_LIBS=
 GDK_EXTRA_CFLAGS=
 GDK_WINDOWING=
-GIO_PACKAGE=gio-2.0
 PANGO_PACKAGES="pango pangocairo"
 
 if test "$enable_x11_backend" = "yes"; then
@@ -332,7 +342,7 @@ if test "$enable_x11_backend" = "yes"; then
   GDK_BACKENDS="$GDK_BACKENDS x11"
   # Pull in gio-unix for GDesktopAppInfo usage, see at least
   # gdkapplaunchcontext-x11.c
-  GIO_PACKAGE=gio-unix-2.0
+  have_gio_unix=yes
   backend_immodules="$backend_immodules,xim"
   GDK_WINDOWING="$GDK_WINDOWING
 #define GDK_WINDOWING_X11"
@@ -351,12 +361,14 @@ else
   AM_CONDITIONAL(USE_WIN32, false)
 fi
 
+DISABLE_ON_QUARTZ=''
 if test "x$enable_quartz_backend" = xyes; then
   cairo_backends="$cairo_backends cairo-quartz"
   GDK_BACKENDS="$GDK_BACKENDS quartz"
   GDK_WINDOWING="$GDK_WINDOWING
 #define GDK_WINDOWING_QUARTZ"
   GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -framework Cocoa"
+  DISABLE_ON_QUARTZ='%'
   AM_CONDITIONAL(USE_QUARTZ, true)
   if test "x$quartz_relocation" = xyes; then
     AC_DEFINE([QUARTZ_RELOCATION], [1], [Use NSBundle functions to determine load paths for libraries, translations, etc.])
@@ -365,7 +377,7 @@ if test "x$enable_quartz_backend" = xyes; then
 else
   AM_CONDITIONAL(USE_QUARTZ, false)
 fi
-
+AC_SUBST(DISABLE_ON_QUARTZ)
 
 if test "x$enable_broadway_backend" == xyes; then
   GDK_BACKENDS="$GDK_BACKENDS broadway"
@@ -379,13 +391,22 @@ else
 fi
 
 if test "x$enable_wayland_backend" == "xyes"; then
-  # Wayland uses cairo-gl
-  cairo_backends="$cairo_backends cairo-gl"
+  if test "x$enable_wayland_cairo_gl" == "xyes"; then
+    # Wayland can use cairo-gl
+    cairo_backends="$cairo_backends cairo-gl"
+    AC_DEFINE(GDK_WAYLAND_USE_EGL, [1], [Whether to use EGL in Wayland backend])
+  else
+    # For the cairo image backend
+    cairo_backends="$cairo_backends cairo"
+  fi
   GDK_BACKENDS="$GDK_BACKENDS wayland"
-  GIO_PACKAGE=gio-unix-2.0
+  have_gio_unix=yes
   GDK_WINDOWING="$GDK_WINDOWING
 #define GDK_WINDOWING_WAYLAND"
-  WAYLAND_PACKAGES="wayland-client xkbcommon wayland-egl egl"
+  WAYLAND_PACKAGES="wayland-client xkbcommon "
+  if test "x$enable_wayland_cairo_gl" == "xyes"; then
+    WAYLAND_PACKAGES="$WAYLAND_PACKAGES wayland-egl egl"
+  fi
   AM_CONDITIONAL(USE_WAYLAND, true)
 else
   AM_CONDITIONAL(USE_WAYLAND, false)
@@ -407,7 +428,7 @@ else
   if test "x$enable_debug" = "xno"; then
     GTK_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
   else
-    GTK_DEBUG_FLAGS="-DG_DISABLE_CAST_CHECKS"
+    GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS"
   fi
 fi
 
@@ -734,26 +755,10 @@ AC_CHECK_FUNCS(mallinfo)
 AC_CHECK_FUNCS(getresuid)
 AC_TYPE_UID_T
 
-# Check for uxtheme.h (for MS-Windows Engine)
-AC_MSG_CHECKING(for uxtheme.h)
-AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <uxtheme.h>]])],
-                  [gtk_uxtheme_h=yes], [gtk_uxtheme_h=no])
-if test $gtk_uxtheme_h = yes; then
-   AC_DEFINE(HAVE_UXTHEME_H, 1, [Have uxtheme.h include file])
-fi
-AC_MSG_RESULT($gtk_uxtheme_h)
-
-# Check for round()
-AC_CHECK_LIB(m,round,have_round=yes,have_round=no)
-if test $have_round = yes; then
-    AC_DEFINE(HAVE_ROUND, 1, [Define to 1 if round() is available])
-fi
-
-# Check for rint()
-AC_CHECK_LIB(m,rint,have_rint=yes,have_rint=no)
-if test $have_rint = yes; then
-    AC_DEFINE(HAVE_RINT, 1, [Define to 1 if rint() is available])
-fi
+# Check for round(), rint(), isnan(), isinf() and nearbyint()
+AC_CHECK_LIB(m,round,,)
+AC_CHECK_FUNCS(round rint nearbyint)
+AC_CHECK_DECLS([isnan, isinf], [], [], [[#include <math.h>]])
 
 # Checks for gdkspawn
 AC_CHECK_HEADERS(crt_externs.h)
@@ -970,9 +975,9 @@ if test "x$enable_x11_backend" = xyes; then
   # Xext is optional, the chances a system has *none* of these things is so
   # small that we just unconditionally require it.
   AC_CHECK_FUNC(XOpenDisplay, :,
-                AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]))
+                AC_MSG_ERROR([*** libX11 and libXext 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_MSG_ERROR([*** libX11 and libXext not found. Check 'config.log' for more details.]))
 
   # Check for xReply
 
@@ -1203,6 +1208,15 @@ else
   AM_CONDITIONAL(USE_X11, false)
 fi
 
+# Check for gio-unix
+if test "$have_gio_unix" = "yes"; then
+  GDK_GIO_PACKAGE=gio-unix-2.0
+  AC_DEFINE([HAVE_GIO_UNIX], [1],
+            [Define if gio-unix is available])
+else
+  GDK_GIO_PACKAGE=gio-2.0
+fi
+
 # Check for Pango flags
 
 AC_MSG_CHECKING(Pango flags)
@@ -1235,13 +1249,14 @@ CFLAGS="$saved_cflags"
 LDFLAGS="$saved_ldflags"
 
 GDK_PACKAGES="$PANGO_PACKAGES gdk-pixbuf-2.0 cairo cairo-gobject"
-GDK_PRIVATE_PACKAGES="$GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES $cairo_backends"
+GDK_PRIVATE_PACKAGES="$GDK_GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES $cairo_backends"
 if test "x$enable_x11_backend" = xyes; then
   GDK_PRIVATE_PACKAGES="$GDK_PRIVATE_PACKAGES pangoft2"
 fi
 
-GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PACKAGES $GDK_PRIVATE_PACKAGES` $MATH_LIB"
-GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags $GDK_PACKAGES $GDK_PRIVATE_PACKAGES` $GDK_EXTRA_CFLAGS"
+PKG_CHECK_MODULES(GDK_DEP, $GDK_PACKAGES $GDK_PRIVATE_PACKAGES)
+GDK_DEP_LIBS="$GDK_EXTRA_LIBS $GDK_DEP_LIBS $MATH_LIB"
+GDK_DEP_CFLAGS="$GDK_DEP_CFLAGS $GDK_EXTRA_CFLAGS"
 #
 # If we aren't writing explicit dependencies, then don't put the extra libraries we need
 # into the pkg-config files
@@ -1263,40 +1278,22 @@ AC_SUBST(GDK_DEP_CFLAGS)
 ########################################
 
 ATK_PACKAGES=atk
-AC_MSG_CHECKING(ATK flags)
-if $PKG_CONFIG --exists $ATK_PACKAGES ; then
-        ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES`
-        ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES`
-
-        AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS)
-else
-        AC_MSG_ERROR([
-*** Accessibility Toolkit not found. Accessibility Toolkit is required
-*** to build GTK+.
-])
-fi
-
-if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
-        :
-else
-       gtk_save_LIBS="$LIBS"
-        LIBS="$ATK_LIBS $LIBS"
-        AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([
-                *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
-                *** to build GTK+]))
-        LIBS="$gtk_save_LIBS"
-fi
+PKG_CHECK_MODULES(ATK, $ATK_PACKAGES)
 
 GTK_PACKAGES="atk cairo cairo-gobject gdk-pixbuf-2.0 gio-2.0"
 GTK_PRIVATE_PACKAGES=""
 if test "x$enable_x11_backend" = xyes; then
   GTK_PRIVATE_PACKAGES="$GTK_PRIVATE_PACKAGES pangoft2"
 fi
+if test "$have_gio_unix" = "yes"; then
+  GTK_PRIVATE_PACKAGES="$GTK_PRIVATE_PACKAGES gio-unix-2.0"
+fi
 GTK_EXTRA_LIBS=
 
 GTK_EXTRA_CFLAGS=
-GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $PANGO_PACKAGES $GTK_PACKAGES_FOR_X $GTK_PACKAGES $GTK_PRIVATE_PACKAGES` $GTK_EXTRA_LIBS $MATH_LIB"
-GTK_DEP_CFLAGS="`$PKG_CONFIG --cflags $GDK_PACKAGES $GTK_PACKAGES $GTK_PRIVATE_PACKAGES` $GDK_EXTRA_CFLAGS $GTK_EXTRA_CFLAGS"
+PKG_CHECK_MODULES(GTK_DEP, $PANGO_PACKAGES $GTK_PACKAGES_FOR_X $GTK_PACKAGES $GTK_PRIVATE_PACKAGES)
+GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X $GTK_DEP_LIBS $GTK_EXTRA_LIBS $MATH_LIB"
+GTK_DEP_CFLAGS="$GTK_DEP_CFLAGS $GDK_EXTRA_CFLAGS $GTK_EXTRA_CFLAGS"
 
 if test x"$os_win32" = xyes; then
   GTK_EXTRA_CFLAGS="$msnative_struct"
@@ -1391,6 +1388,12 @@ else
             $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -lt 2; then
       AC_MSG_ERROR([CUPS >= 1.2 not found])
     fi
+    if test $CUPS_API_MAJOR -gt 1 -o \
+           $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 6; then
+      AC_DEFINE(HAVE_CUPS_API_1_6, 1,
+                [Define to 1 if CUPS 1.6 API is available])
+
+    fi
 
     AC_SUBST(CUPS_API_MAJOR)
     AC_SUBST(CUPS_API_MINOR)
@@ -1506,13 +1509,6 @@ fi
 
 GLIB_GSETTINGS
 
-#############
-# Resources #
-#############
-
-GLIB_COMPILE_RESOURCES=`$PKG_CONFIG --variable glib_compile_resources gio-2.0`
-AC_SUBST(GLIB_COMPILE_RESOURCES)
-
 ##################################################
 # GObject introspection
 ##################################################
@@ -1724,6 +1720,7 @@ docs/reference/Makefile
 docs/reference/gdk/Makefile
 docs/reference/gdk/version.xml
 docs/reference/gtk/Makefile
+docs/reference/gtk/gtk3.types
 docs/reference/gtk/version.xml
 docs/reference/libgail-util/Makefile
 docs/reference/libgail-util/version.xml
@@ -1752,9 +1749,6 @@ libgail-util/Makefile
 modules/Makefile
 modules/engines/Makefile
 modules/engines/pixbuf/Makefile
-modules/engines/ms-windows/Makefile
-modules/engines/ms-windows/Theme/Makefile
-modules/engines/ms-windows/Theme/gtk-3.0/Makefile
 modules/input/Makefile
 modules/printbackends/Makefile
 modules/printbackends/cups/Makefile