X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=configure.ac;h=f390430c957d6276a107e0959803892e02fba704;hb=6d4058e9ac4f0d54a2e7e3f4edb33f073c99c51a;hp=2d351b015391cf746bee313de98ee2f4350c112b;hpb=f8fccae852be3cf7c24f3c5f09a10d9cf3c65a21;p=~andy%2Fgtk diff --git a/configure.ac b/configure.ac index 2d351b015..f390430c9 100644 --- a/configure.ac +++ b/configure.ac @@ -9,8 +9,8 @@ # set GTK_BINARY_AGE and GTK_INTERFACE_AGE to 0. m4_define([gtk_major_version], [3]) -m4_define([gtk_minor_version], [3]) -m4_define([gtk_micro_version], [19]) +m4_define([gtk_minor_version], [5]) +m4_define([gtk_micro_version], [5]) m4_define([gtk_interface_age], [0]) m4_define([gtk_binary_age], [m4_eval(100 * gtk_minor_version + gtk_micro_version)]) @@ -39,12 +39,12 @@ 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.31.20]) -m4_define([pango_required_version], [1.29.0]) -m4_define([atk_required_version], [2.1.5]) +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]) -m4_define([gdk_pixbuf_required_version], [2.25.2]) -m4_define([introspection_required_version], [0.10.1]) +m4_define([gdk_pixbuf_required_version], [2.26.0]) +m4_define([introspection_required_version], [1.32.0]) GLIB_REQUIRED_VERSION=glib_required_version PANGO_REQUIRED_VERSION=pango_required_version ATK_REQUIRED_VERSION=atk_required_version @@ -125,6 +125,7 @@ AC_SUBST([GAIL_LT_CURRENT_MINUS_AGE],[gail_lt_current_minus_age]) AC_PROG_CC AC_PROG_CC_C_O AC_PROG_CC_STDC +AC_PROG_MKDIR_P AC_PROG_INSTALL AC_PROG_MAKE_SET @@ -140,8 +141,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 +162,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 +321,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 +343,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 +362,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 +378,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 +392,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 +429,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 +756,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 ]])], - [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 ]]) # Checks for gdkspawn AC_CHECK_HEADERS(crt_externs.h) @@ -970,9 +976,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 @@ -989,24 +995,6 @@ if test "x$enable_x11_backend" = xyes; then [AC_MSG_RESULT([unknown]) AC_MSG_ERROR([xReply type unavailable. X11 is too old])])]) - # Check for XConvertCase, XInternAtoms (X11R6 specific) - - AC_CHECK_FUNCS(XConvertCase XInternAtoms) - - # Generic X11R6 check needed for XIM support; we could - # probably use this to replace the above, but we'll - # leave the separate checks for XConvertCase and XInternAtoms - # for clarity - - have_x11r6=false - AC_CHECK_FUNC(XAddConnectionWatch, - have_x11r6=true) - - if $have_x11r6; then - AC_DEFINE(HAVE_X11R6, 1, [Define if we have X11R6]) - fi - AM_CONDITIONAL(HAVE_X11R6, $have_x11r6) - # Check for XKB support. if test "x$enable_xkb" = "xyes"; then @@ -1219,7 +1207,15 @@ else XPACKAGES= AM_CONDITIONAL(USE_X11, false) - AM_CONDITIONAL(HAVE_X11R6, 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 @@ -1254,13 +1250,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 @@ -1281,41 +1278,23 @@ AC_SUBST(GDK_DEP_CFLAGS) # Check for Accessibility Toolkit flags ######################################## -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 +ATK_PACKAGES="atk atk-bridge-2.0" +PKG_CHECK_MODULES(ATK, $ATK_PACKAGES) GTK_PACKAGES="atk cairo cairo-gobject gdk-pixbuf-2.0 gio-2.0" -GTK_PRIVATE_PACKAGES="" +GTK_PRIVATE_PACKAGES="atk-bridge-2.0" 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" @@ -1407,9 +1386,14 @@ else CUPS_API_MINOR=`echo $ECHO_N $CUPS_API_VERSION | awk -F. '{print $2}'` if test $CUPS_API_MAJOR -gt 1 -o \ - $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 2; then - AC_DEFINE(HAVE_CUPS_API_1_2, 1, - [Define to 1 if CUPS 1.2 API is available]) + $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) @@ -1526,13 +1510,6 @@ fi GLIB_GSETTINGS -############# -# Resources # -############# - -GLIB_COMPILE_RESOURCES=`$PKG_CONFIG --variable glib_compile_resources gio-2.0` -AC_SUBST(GLIB_COMPILE_RESOURCES) - ################################################## # GObject introspection ################################################## @@ -1744,6 +1721,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 @@ -1772,9 +1750,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