X-Git-Url: http://pileus.org/git/?p=~andy%2Fgtk;a=blobdiff_plain;f=configure.ac;h=6d075c3d436b939edcdbca1c222248ff2be39e55;hp=7901e1e53eb768dd55175a31b1100ec33b7fac61;hb=HEAD;hpb=af71917015fc93c0dce5423b6f29e602d8fe751d diff --git a/configure.ac b/configure.ac index 7901e1e53..6d075c3d4 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], [5]) -m4_define([gtk_micro_version], [1]) +m4_define([gtk_minor_version], [7]) +m4_define([gtk_micro_version], [13]) m4_define([gtk_interface_age], [0]) m4_define([gtk_binary_age], [m4_eval(100 * gtk_minor_version + gtk_micro_version)]) @@ -24,11 +24,14 @@ AC_INIT([gtk+], [gtk_version], [http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2B], [gtk+]) -AC_CONFIG_HEADER([config.h]) +AC_CONFIG_HEADERS([config.h]) AC_CONFIG_SRCDIR([gdk/gdktypes.h]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_AUX_DIR([build-aux]) +AC_CANONICAL_HOST +AC_CANONICAL_TARGET + # Define a string for the earliest version that this release has # backwards binary compatibility with for all interfaces a module # might. Unless we add module-only API with lower stability @@ -39,11 +42,11 @@ 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.33.1]) -m4_define([pango_required_version], [1.30.0]) -m4_define([atk_required_version], [2.2.0]) +m4_define([glib_required_version], [2.35.3]) +m4_define([pango_required_version], [1.32.4]) +m4_define([atk_required_version], [2.7.5]) m4_define([cairo_required_version], [1.10.0]) -m4_define([gdk_pixbuf_required_version], [2.26.0]) +m4_define([gdk_pixbuf_required_version], [2.27.1]) m4_define([introspection_required_version], [1.32.0]) GLIB_REQUIRED_VERSION=glib_required_version PANGO_REQUIRED_VERSION=pango_required_version @@ -123,8 +126,9 @@ AC_SUBST([GAIL_LT_CURRENT_MINUS_AGE],[gail_lt_current_minus_age]) # Checks for programs. AC_PROG_CC +AX_PROG_CC_FOR_BUILD AC_PROG_CC_C_O -AC_PROG_CC_STDC +AC_PROG_MKDIR_P AC_PROG_INSTALL AC_PROG_MAKE_SET @@ -134,14 +138,15 @@ AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [The prefix for our gettext translation domains.]) -AC_CANONICAL_HOST - 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 +163,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,12 +322,6 @@ 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 @@ -357,25 +357,31 @@ 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.]) fi + # Pull in gio-unix for GDesktopAppInfo usage, see at least + # gdkapplaunchcontext-x11.c + have_gio_unix=yes else AM_CONDITIONAL(USE_QUARTZ, false) fi +AC_SUBST(DISABLE_ON_QUARTZ) - -if test "x$enable_broadway_backend" == xyes; then +if test "x$enable_broadway_backend" = xyes; then GDK_BACKENDS="$GDK_BACKENDS broadway" cairo_backends="$cairo_backends cairo" + have_gio_unix=yes GDK_WINDOWING="$GDK_WINDOWING #define GDK_WINDOWING_BROADWAY" GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lz" @@ -384,27 +390,21 @@ else AM_CONDITIONAL(USE_BROADWAY, false) fi -if test "x$enable_wayland_backend" == "xyes"; then - 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 +DISABLE_ON_WAYLAND='' +if test "x$enable_wayland_backend" = "xyes"; then + # For the cairo image backend + cairo_backends="$cairo_backends cairo" GDK_BACKENDS="$GDK_BACKENDS wayland" have_gio_unix=yes GDK_WINDOWING="$GDK_WINDOWING #define GDK_WINDOWING_WAYLAND" - WAYLAND_PACKAGES="wayland-client xkbcommon " - if test "x$enable_wayland_cairo_gl" == "xyes"; then - WAYLAND_PACKAGES="$WAYLAND_PACKAGES wayland-egl egl" - fi + DISABLE_ON_WAYLAND='%' + WAYLAND_PACKAGES="wayland-client >= 1.0.0 xkbcommon >= 0.2.0 wayland-cursor" AM_CONDITIONAL(USE_WAYLAND, true) else AM_CONDITIONAL(USE_WAYLAND, false) fi +AC_SUBST(DISABLE_ON_WAYLAND) # strip leading space GDK_BACKENDS=${GDK_BACKENDS#* } @@ -422,7 +422,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 @@ -563,7 +563,7 @@ if test "x$enable_rebuilds" = "xyes" && \ fi AC_SUBST(REBUILD) -AC_CHECK_FUNCS(lstat mkstemp flockfile getc_unlocked) +AC_CHECK_FUNCS(lstat mkstemp) AC_CHECK_FUNCS(localtime_r) # _NL_TIME_FIRST_WEEKDAY is an enum and not a define @@ -704,7 +704,6 @@ AM_PATH_GLIB_2_0(glib_required_version, :, *** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.]), gobject gmodule-no-export) -dnl dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in. dnl gtk_save_LIBS=$LIBS @@ -738,6 +737,19 @@ else AC_MSG_RESULT([no]) fi +# +# Disable deprecation checks for all libraries we depend on on stable branches. +# This is so newer versions of those libraries don't cause more warnings with +# a stable GTK version. +# We don't ever want to turn off deprecation warnings for master however, because +# that's where we get rid of deprecated API we use. +# +if test m4_eval(gtk_minor_version % 2) = 0 ; then + AC_DEFINE_UNQUOTED(GLIB_DISABLE_DEPRECATION_WARNINGS, 1, + [Disable deprecation warnings from glib]) +fi + +dnl saved_cflags="$CFLAGS" saved_ldflags="$LDFLAGS" @@ -749,17 +761,10 @@ AC_CHECK_FUNCS(mallinfo) AC_CHECK_FUNCS(getresuid) AC_TYPE_UID_T -# 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) @@ -890,14 +895,32 @@ dnl Look for a host system's gdk-pixbuf-csource if we are cross-compiling AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes) -if test "x$cross_compiling" = xyes || test "x$enable_gtk2_dependency" = xyes; then - AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache, no) - if test x$GTK_UPDATE_ICON_CACHE = xno; then - REBUILD_PNGS=# - fi -fi +AS_IF([test "x$enable_gtk2_dependency" = xyes], + [AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache, no) + if test x$GTK_UPDATE_ICON_CACHE = xno; then + REBUILD_PNGS=# + fi], + + [test "x$cross_compiling" = xyes], + [# If no GTK+2 dependency and cross compiling, we need to find a host gdk-pixbuf. + # pkg.m4 blocks all variable starting with PKG, so allow this one + m4_pattern_allow([PKG_CONFIG_FOR_BUILD]) + + AS_IF([test x$PKG_CONFIG_FOR_BUILD = x], + [AC_MSG_ERROR([You must define PKG_CONFIG_FOR_BUILD when cross compiling])]) -AM_CONDITIONAL(USE_EXTERNAL_ICON_CACHE, [test "x$cross_compiling" = xyes || test "x$enable_gtk2_dependency" = xyes]) + AC_MSG_CHECKING([for native gdk-pixbuf]) + AS_IF([AC_RUN_LOG([$PKG_CONFIG_FOR_BUILD --exists --print-errors gdk-pixbuf-2.0])], + [AC_MSG_RESULT([yes])], + [AC_MSG_ERROR([native gdk-pixbuf not found])]) + + NATIVE_GDKPIXBUF_CFLAGS=`$PKG_CONFIG_FOR_BUILD --cflags gdk-pixbuf-2.0` + NATIVE_GDKPIXBUF_LIBS=`$PKG_CONFIG_FOR_BUILD --libs gdk-pixbuf-2.0` + AC_SUBST(NATIVE_GDKPIXBUF_CFLAGS) + AC_SUBST(NATIVE_GDKPIXBUF_LIBS)] +) + +AM_CONDITIONAL(USE_EXTERNAL_ICON_CACHE, [test "x$enable_gtk2_dependency" = xyes]) AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no) @@ -984,11 +1007,13 @@ if test "x$enable_x11_backend" = xyes; then AC_MSG_CHECKING([if is needed for xReply]) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], - [[xReply *rep;]])], + [[xReply *rep = NULL; + rep = rep;]])], [AC_MSG_RESULT([no])], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include #include ]], - [[xReply *rep;]])], + [[xReply *rep = NULL; + rep = rep;]])], [AC_MSG_RESULT([yes]) AC_DEFINE([NEED_XIPROTO_H_FOR_XREPLY], [1], [Define if needed for xReply])], @@ -1217,6 +1242,7 @@ if test "$have_gio_unix" = "yes"; then else GDK_GIO_PACKAGE=gio-2.0 fi +AM_CONDITIONAL(HAVE_GIO_UNIX, test "$have_gio_unix" = "yes") # Check for Pango flags @@ -1255,8 +1281,9 @@ 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 @@ -1277,33 +1304,16 @@ 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) +if test x$enable_x11_backend = xyes; then + ATK_PACKAGES="atk atk-bridge-2.0" else - AC_MSG_ERROR([ -*** Accessibility Toolkit not found. Accessibility Toolkit is required -*** to build GTK+. -]) + ATK_PACKAGES="atk" 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="" +GTK_PRIVATE_PACKAGES="$ATK_PACKAGES" if test "x$enable_x11_backend" = xyes; then GTK_PRIVATE_PACKAGES="$GTK_PRIVATE_PACKAGES pangoft2" fi @@ -1313,8 +1323,9 @@ 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" @@ -1413,7 +1424,7 @@ else $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]) - + have_cups_api_1_6=yes fi AC_SUBST(CUPS_API_MAJOR) @@ -1615,33 +1626,53 @@ AM_CONDITIONAL(HAVE_COLORD, test "x$have_colord" = "xyes") GTK_DOC_CHECK([1.11],[--flavour no-tmpl]) -AC_CHECK_PROG(DB2HTML, db2html, true, false) -AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML) - AC_ARG_ENABLE(man, [AS_HELP_STRING([--enable-man], - [regenerate man pages from Docbook [default=no]])], - [enable_man=yes], - [enable_man=no]) - -if test "${enable_man}" != no; then - dnl - dnl Check for xsltproc - dnl + [generate man pages [default=auto]])],, + enable_man=maybe) + +if test "$enable_man" != no; then AC_PATH_PROG([XSLTPROC], [xsltproc]) if test -z "$XSLTPROC"; then + if test "$enable_man" = yes ; then + AC_MSG_ERROR([xsltproc is required for --enable-man]) + fi enable_man=no fi +fi - dnl check for DocBook DTD and stylesheets in the local catalog. +if test "$enable_man" != no; then + dnl check for DocBook DTD in the local catalog JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN], - [DocBook XML DTD V4.1.2],,enable_man=no) + [DocBook XML DTD V4.1.2], [have_docbook_dtd=yes], [have_docbook_dtd=no]) + if test "$have_docbook_dtd" != yes; then + if test "$enable_man" = yes ; then + AC_MSG_ERROR([DocBook DTD is required for --enable-man]) + fi + enable_man=no + fi +fi + +if test "$enable_man" != no; then + dnl check for DocBook XSL stylesheets in the local catalog JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl], - [DocBook XSL Stylesheets],,enable_man=no) + [DocBook XSL Stylesheets], [have_docbook_style=yes],[have_docbook_style=no]) + if test "$have_docbook_dtd" != yes; then + if test "$enable_man" = yes ; then + AC_MSG_ERROR([DocBook XSL Stylesheets are required for --enable-man]) + fi + enable_man=no + fi fi -AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno) +AM_CONDITIONAL(ENABLE_MAN, test "$enable_man" != no) +AC_MSG_CHECKING([whether to generate man pages]) +if test "$enable_man" != no; then + AC_MSG_RESULT([yes]) +else + AC_MSG_RESULT([no]) +fi ################################################## # Output commands @@ -1741,6 +1772,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 @@ -1764,6 +1796,7 @@ gtk/makefile.msc gtk/gtkversion.h gtk/gtk-win32.rc gtk/a11y/Makefile +gtk/native/Makefile gtk/tests/Makefile libgail-util/Makefile modules/Makefile