X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=configure.in;h=45625579f0ea9f65ce1c9762cafc87c359f16468;hb=e87db9e44aedeb96d62196a937e5489f004d718c;hp=bbd3b17cb6d588c751dd5f017cbc53454b369b0e;hpb=afb46bc3825c43c70534fa42a7254b5a50928667;p=~andy%2Fgtk diff --git a/configure.in b/configure.in index bbd3b17cb..45625579f 100644 --- a/configure.in +++ b/configure.in @@ -11,8 +11,8 @@ AC_PREREQ(2.54) # set GTK_BINARY_AGE and GTK_INTERFACE_AGE to 0. m4_define([gtk_major_version], [2]) -m4_define([gtk_minor_version], [13]) -m4_define([gtk_micro_version], [3]) +m4_define([gtk_minor_version], [17]) +m4_define([gtk_micro_version], [6]) m4_define([gtk_interface_age], [0]) m4_define([gtk_binary_age], [m4_eval(100 * gtk_minor_version + gtk_micro_version)]) @@ -31,7 +31,7 @@ m4_define([gtk_api_version], [2.0]) m4_define([gtk_binary_version], [2.10.0]) # required versions of other packages -m4_define([glib_required_version], [2.15.0]) +m4_define([glib_required_version], [2.21.3]) m4_define([pango_required_version], [1.20]) m4_define([atk_required_version], [1.13.0]) m4_define([cairo_required_version], [1.6]) @@ -123,10 +123,17 @@ AC_CANONICAL_HOST MATH_LIB=-lm AC_MSG_CHECKING([for native Win32]) +LIB_EXE_MACHINE_FLAG=X86 case "$host" in *-*-mingw*) os_win32=yes + gio_can_sniff=no MATH_LIB= + case "$host" in + x86_64-*-*) + LIB_EXE_MACHINE_FLAG=X64 + ;; + esac ;; *) os_win32=no @@ -134,11 +141,14 @@ case "$host" in esac AC_MSG_RESULT([$os_win32]) +AC_SUBST(LIB_EXE_MACHINE_FLAG) + case $host in *-*-linux*) os_linux=yes ;; esac + dnl Initialize libtool AC_PROG_CC AM_DISABLE_STATIC @@ -174,6 +184,9 @@ fi AC_LIBTOOL_WIN32_DLL AM_PROG_LIBTOOL +dnl when using libtool 2.x create libtool early, because it's used in configure +m4_ifdef([LT_OUTPUT], [LT_OUTPUT]) + # Make sure we use 64-bit versions of various file stuff. AC_SYS_LARGEFILE @@ -228,7 +241,7 @@ AC_ARG_ENABLE(xkb, AC_ARG_ENABLE(xinerama, [AC_HELP_STRING([--enable-xinerama], [support xinerama extension if available [default=yes]])],, - [enable_xinerama="no"]) + [enable_xinerama="yes"]) AC_ARG_ENABLE(rebuilds, [AC_HELP_STRING([--disable-rebuilds], [disable all source autogeneration rules])],, @@ -313,7 +326,7 @@ if test "x$GCC" = "xyes"; then fi changequote([,])dnl -CPPFLAGS="$CPPFLAGS -DG_DISABLE_SINGLE_INCLUDES -DATK_DISABLE_SINGLE_INCLUDES -DPANGO_DISABLE_SINGLE_INCLUDES -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES" +CPPFLAGS="$CPPFLAGS -DG_DISABLE_SINGLE_INCLUDES -DATK_DISABLE_SINGLE_INCLUDES -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES" # Ensure MSVC-compatible struct packing convention is used when # compiling for Win32 with gcc. @@ -365,6 +378,19 @@ PKG_CHECK_MODULES(BASE_DEPENDENCIES, pango >= pango_required_version dnl cairo >= cairo_required_version]) +## In addition to checking that cairo is present, we also need to +## check that the correct cairo backend is there. E.g. if the GDK +## target is win32 we need the cairo-win32 backend and so on. +cairo_backend=$gdktarget + +# GDK calls the xlib backend "x11," cairo calls it "xlib." Other +# backend names are identical. +if test "x$cairo_backend" = "xx11"; then + cairo_backend=xlib +fi +PKG_CHECK_MODULES(CAIRO_BACKEND, + [cairo-$cairo_backend >= cairo_required_version]) + if test "$os_win32" != yes; then # libtool option to control which symbols are exported # right now, symbols starting with _ are not exported @@ -388,7 +414,7 @@ AC_MSG_CHECKING([Whether to write dependencies into .pc files]) case $enable_explicit_deps in auto) export SED - deplibs_check_method=`(./libtool --config; echo 'eval echo $deplibs_check_method') | sh` + 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 @@ -484,18 +510,33 @@ if test "$gtk_ok" = "yes"; then fi # i18n stuff -# TRANSLATORS: Please note that gtk+ has both po/ and po-properties/ -# directories. If you add a new language to ALL_LINGUAS, please make -# 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 ang ar as az az_IR be be@latin bg bn bn_IN br bs ca ca@valencia cs cy da de dz el en_CA en_GB eo es et eu fa fi fr ga gl gu he hi hr hu hy ia id io is it ja ka kn ko ku li lt lv mi mk ml mn mr ms nb ne nl nn nso oc or pa pl pt pt_BR ro ru rw si sk sl sq sr sr@Latn sr@ije sv ta te th tk tr tt uk ur uz uz@cyrillic vi wa xh yi zh_CN zh_HK zh_TW" +ALL_LINGUAS="`grep -v '^#' "$srcdir/po/LINGUAS" | tr '\n' ' '`" AM_GLIB_GNU_GETTEXT LIBS="$LIBS $INTLLIBS" AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*) sed -e "/POTFILES =/r po-properties/POTFILES" po-properties/Makefile.in > po-properties/Makefile esac]) +dnl Snippet below is copied from AM_GLIB_GNU_GETTEXT to generate a first +dnl po-properties/POTFILES during configure; see GNOME #573515. +dnl +dnl Generate list of files to be processed by xgettext which will +dnl be included in po-properties/Makefile. +test -d po-properties || mkdir po-properties +if test "x$srcdir" != "x."; then + if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then + popropsrcprefix="$srcdir/" + else + popropsrcprefix="../$srcdir/" + fi +else + popropsrcprefix="../" +fi +rm -f po-properties/POTFILES +sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $popropsrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ +< $srcdir/po-properties/POTFILES.in > po-properties/POTFILES +dnl (End of adapted AM_GLIB_GNU_GETTEXT snippet.) + AM_GLIB_DEFINE_LOCALEDIR(GTK_LOCALEDIR) dnl The DU4 header files don't provide library prototypes unless @@ -578,6 +619,8 @@ if test "x$GLIB_VERSION_MAJOR_MINOR" = "x$GLIB_REQUIRED_VERSION_MAJOR_MINOR"; th CFLAGS="-DG_DISABLE_DEPRECATED $CFLAGS" fi +CFLAGS="-DGDK_PIXBUF_DISABLE_DEPRECATED $CFLAGS" + dnl dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in. @@ -782,12 +825,13 @@ AC_ARG_WITH(libtiff, [AC_HELP_STRING([--without-libtiff], [disable TIFF loader for gdk-pixbuf])]) AC_ARG_WITH(libjasper, - [AC_HELP_STRING([--without-libjasper], - [disable JPEG2000 loader for gdk-pixbuf])]) + [AC_HELP_STRING([--with-libjasper], + [enable JPEG2000 loader for gdk-pixbuf])]) AC_ARG_ENABLE(gdiplus, - [AC_HELP_STRING([--disable-gdiplus-loaders], - [disable GDI+ loaders for gdk-pixbuf])]) + [AC_HELP_STRING([--enable-gdiplus], + [enble GDI+ loaders for gdk-pixbuf (currently known to be broken)])],, + [enable_gdiplus=no]) AM_CONDITIONAL(BUILD_GDIPLUS_LOADERS, [ test x$os_win32 = xyes && test x$enable_gdiplus != xno ]) @@ -897,11 +941,11 @@ dnl Test for libpng fi dnl Test for libjasper - if test x$with_libjasper != xno && test -z "$LIBJASPER"; then - AC_CHECK_LIB(jasper, jas_init, LIBJASPER=-ljasper, []) + if test x$with_libjasper = xyes && test -z "$LIBJASPER"; then + AC_CHECK_LIB(jasper, jas_init, LIBJASPER=-ljasper, [], -ljpeg) fi - if test x$with_libjasper != xno && test -z "$LIBJASPER"; then + if test x$with_libjasper = xyes && test -z "$LIBJASPER"; then AC_MSG_ERROR([ *** Checks for JPEG2000 loader failed. You can build without it by passing *** --without-libjasper to configure]) @@ -1015,6 +1059,49 @@ AM_CONDITIONAL(INCLUDE_JASPER, [test x"$INCLUDE_jasper" = xyes]) # check one of the variables here AM_CONDITIONAL(INCLUDE_GDIPLUS, [test x"$INCLUDE_gdip_ico" = xyes]) +if test x$gio_can_sniff = x; then + AC_MSG_CHECKING([if gio can sniff png]) + gtk_save_LIBS="$LIBS" + gtk_save_CFLAGS="$CFLAGS" + LIBS="`$PKG_CONFIG --libs gio-2.0`" + CFLAGS="`$PKG_CONFIG --cflags gio-2.0`" + AC_RUN_IFELSE([AC_LANG_SOURCE([[ + #include + static const gsize data_size = 159; + static const guint8 data[] = + { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, + 0x08, 0x02, 0x00, 0x00, 0x00, 0x90, 0x77, 0x53, 0xde, 0x00, 0x00, 0x00, + 0x01, 0x73, 0x52, 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, + 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, + 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x07, 0x74, + 0x49, 0x4d, 0x45, 0x07, 0xd8, 0x07, 0x0f, 0x10, 0x08, 0x15, 0x61, 0xd8, + 0x35, 0x37, 0x00, 0x00, 0x00, 0x19, 0x74, 0x45, 0x58, 0x74, 0x43, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x00, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x47, 0x49, 0x4d, 0x50, 0x57, + 0x81, 0x0e, 0x17, 0x00, 0x00, 0x00, 0x0c, 0x49, 0x44, 0x41, 0x54, 0x08, + 0xd7, 0x63, 0xf8, 0xff, 0xff, 0x3f, 0x00, 0x05, 0xfe, 0x02, 0xfe, 0xdc, + 0xcc, 0x59, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, + 0x42, 0x60, 0x82 + }; + int + main (int argc, char **argv) + { + char *content_type; + char *image_png; + content_type = g_content_type_guess (NULL, data, data_size, NULL); + image_png = g_content_type_from_mime_type ("image/png"); + return !!strcmp (content_type, image_png); + }]])], + [gio_can_sniff=yes + AC_DEFINE(GDK_PIXBUF_USE_GIO_MIME, 1, [Define if gio can sniff image data])], + [gio_can_sniff=no]) + AC_MSG_RESULT($gio_can_sniff) + LIBS="$gtk_save_LIBS" + CFLAGS="$gtk_save_CFLAGS" +fi + # # Allow building some or all immodules included # @@ -1110,8 +1197,11 @@ if $dynworks ; then if echo "$included_loaders" | egrep '(^|,)png($|,)' > /dev/null; then STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBPNG" fi + if echo "$included_loaders" | egrep '(^|,)jasper($|,)' > /dev/null; then + STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBJASPER" + fi else - STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG" + STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG $LIBJASPER" fi # Checks to see whether we should include mediaLib @@ -1348,9 +1438,8 @@ if test "x$gdktarget" = "xx11"; then # Check for shaped window extension - AC_CHECK_FUNC(XShapeCombineMask, - AC_DEFINE(HAVE_SHAPE_EXT, 1, - [Define to 1 if the XShape extension is available])) + AC_CHECK_FUNC(XShapeCombineMask, :, + [AC_MSG_ERROR([Shape extension not found, check your development headers])]) # X SYNC check gtk_save_CFLAGS="$CFLAGS" @@ -1416,54 +1505,55 @@ if test "x$gdktarget" = "xx11"; then gtk_save_cppflags="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $x_cflags" - case "$host" in - *-*-solaris*) - # Check for solaris - AC_MSG_CHECKING(for Xinerama support on Solaris) + # Check for XFree + AC_MSG_CHECKING(for Xinerama support on XFree86) - have_solaris_xinerama=false - AC_CHECK_FUNC(XineramaGetInfo, - [AC_CHECK_HEADER(X11/extensions/xinerama.h, - [have_solaris_xinerama=true], :, - [#include ])]) - - if $have_solaris_xinerama ; then - AC_DEFINE(HAVE_SOLARIS_XINERAMA, 1, - [Define to 1 if solaris xinerama is available]) - AC_DEFINE(HAVE_XINERAMA, 1, - [Define to 1 if xinerama is available]) - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) - fi - ;; - *) - # Check for XFree - AC_MSG_CHECKING(for Xinerama support on XFree86) + have_xfree_xinerama=false + if $PKG_CONFIG --exists xinerama ; then + have_xfree_xinerama=true + X_PACKAGES="$X_PACKAGES xinerama" + else + AC_CHECK_LIB(Xinerama, XineramaQueryExtension, + [AC_CHECK_HEADER(X11/extensions/Xinerama.h, + [GTK_ADD_LIB(x_extra_libs,Xinerama) + have_xfree_xinerama=true], :, + [#include ])]) + fi + + if $have_xfree_xinerama ; then + AC_DEFINE(HAVE_XFREE_XINERAMA, 1, + [Define to 1 if XFree Xinerama is available]) + AC_DEFINE(HAVE_XINERAMA, 1, + [Define to 1 is Xinerama is available]) + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no) + + case "$host" in + *-*-solaris*) + # Check for solaris + AC_MSG_CHECKING(for Xinerama support on Solaris) - have_xfree_xinerama=false - if $PKG_CONFIG --exists xinerama ; then - have_xfree_xinerama=true - X_PACKAGES="$X_PACKAGES xinerama" - else - AC_CHECK_LIB(Xinerama, XineramaQueryExtension, - [AC_CHECK_HEADER(X11/extensions/Xinerama.h, - [GTK_ADD_LIB(x_extra_libs,Xinerama) - have_xfree_xinerama=true], :, - [#include ])]) - fi - - if $have_xfree_xinerama ; then - AC_DEFINE(HAVE_XFREE_XINERAMA, 1, - [Define to 1 if XFree Xinerama is available]) - AC_DEFINE(HAVE_XINERAMA, 1, - [Define to 1 is Xinerama is available]) - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) - fi - ;; - esac + have_solaris_xinerama=false + AC_CHECK_FUNC(XineramaGetInfo, + [AC_CHECK_HEADER(X11/extensions/xinerama.h, + [have_solaris_xinerama=true], :, + [#include ])]) + + if $have_solaris_xinerama ; then + AC_DEFINE(HAVE_SOLARIS_XINERAMA, 1, + [Define to 1 if solaris xinerama is available]) + AC_DEFINE(HAVE_XINERAMA, 1, + [Define to 1 if xinerama is available]) + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no) + fi + ;; + *) + ;; + esac + fi fi # set up things for XInput @@ -1485,7 +1575,7 @@ if test "x$gdktarget" = "xx11"; then AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes) # Check for the RANDR extension - if $PKG_CONFIG --exists "xrandr >= 1.2" ; then + if $PKG_CONFIG --exists "xrandr >= 1.2.99" ; then AC_DEFINE(HAVE_RANDR, 1, [Have the Xrandr extension library]) X_PACKAGES="$X_PACKAGES xrandr" @@ -1566,21 +1656,10 @@ AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS) AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS) if test "x$gdktarget" = "xdirectfb"; then - DIRECTFB_REQUIRED_VERSION=0.9.24 + DIRECTFB_REQUIRED_VERSION=1.0.0 AC_MSG_CHECKING(for DirectFB) - if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb && $PKG_CONFIG --exists cairo-directfb ; then - AC_MSG_RESULT(found) - GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags cairo-directfb` $GDK_EXTRA_CFLAGS" - GDK_EXTRA_LIBS="`$PKG_CONFIG --libs cairo-directfb` $GDK_EXTRA_LIBS" - else - AC_MSG_ERROR([ -*** DirectFB $DIRECTFB_REQUIRED_VERSION or newer and the cairo backend -*** are required. The latest version of DirectFB is always available -*** from http://www.directfb.org/. - ]) - fi - + PKG_CHECK_MODULES(DIRECTFB, [directfb >= $DIRECTFB_REQUIRED_VERSION]) AM_CONDITIONAL(USE_DIRECTFB, true) else AM_CONDITIONAL(USE_DIRECTFB, false) @@ -1624,13 +1703,9 @@ fi CFLAGS="$saved_cflags" LDFLAGS="$saved_ldflags" -GDK_PACKAGES="$PANGO_PACKAGES gio-2.0" -if test "x$gdktarget" = "xx11"; then - GDK_PACKAGES="$GDK_PACKAGES $X_PACKAGES" -fi +GDK_PACKAGES="$PANGO_PACKAGES gio-2.0 $X_PACKAGES cairo-$cairo_backend" 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` $GDK_PIXBUF_EXTRA_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 @@ -1803,6 +1878,28 @@ else AM_CONDITIONAL(HAVE_CUPS, false) fi +# Checks to see if we should compile with PAPI backend for GTK+ +# + +AC_ARG_ENABLE(papi, + [AC_HELP_STRING([--disable-papi] + [disable papi print backend])],, + [enable_papi=auto]) + +if test "x$enable_papi" = "xauto" +then + AC_MSG_CHECKING(libpapi) + AC_CHECK_LIB(papi, papiServiceCreate, have_papi=yes, have_papi=no) + if test $have_papi = yes; then + AC_DEFINE([HAVE_PAPI], [], [Define to 1 if libpapi available]) + fi + AM_CONDITIONAL(HAVE_PAPI, test $have_papi = yes) +else + AM_CONDITIONAL(HAVE_PAPI, false) +fi + +AM_CONDITIONAL(HAVE_PAPI_CUPS, test $have_papi = yes && test "x$CUPS_CONFIG" != "xno") + gtk_save_cppflags="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS" @@ -1853,7 +1950,7 @@ fi # Checks for gtk-doc and docbook-tools ################################################## -GTK_DOC_CHECK([1.8]) +GTK_DOC_CHECK([1.11]) AC_CHECK_PROG(DB2HTML, db2html, true, false) AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML) @@ -1901,6 +1998,15 @@ AC_CONFIG_COMMANDS([gdk/gdkconfig.h], [ extern "C" { #endif /* __cplusplus */ +#ifndef GSEAL +/* introduce GSEAL() here for all of Gdk and Gtk+ without the need to modify GLib */ +# ifdef GSEAL_ENABLE +# define GSEAL(ident) _g_sealed__ ## ident +# else +# define GSEAL(ident) ident +# endif +#endif /* !GSEAL */ + _______EOF cat >>$outfile <<_______EOF @@ -1930,6 +2036,8 @@ if test "x$gdktarget" = "xx11" ; then #define GDK_WINDOWING_X11' elif test "x$gdktarget" = "xwin32" ; then gdk_windowing=' +#define GDK_NATIVE_WINDOW_POINTER + #define GDK_WINDOWING_WIN32' elif test "x$gdktarget" = "xquartz" ; then gdk_windowing=' @@ -1998,6 +2106,7 @@ gdk/win32/rc/Makefile gdk/win32/rc/gdk.rc gdk/quartz/Makefile gdk/directfb/Makefile +gdk/tests/Makefile gtk/Makefile gtk/makefile.msc gtk/gtkversion.h @@ -2019,6 +2128,7 @@ modules/printbackends/Makefile modules/printbackends/cups/Makefile modules/printbackends/lpr/Makefile modules/printbackends/file/Makefile +modules/printbackends/papi/Makefile modules/printbackends/test/Makefile perf/Makefile contrib/Makefile