From: Owen Taylor Date: Sat, 2 Aug 2003 17:50:09 +0000 (+0000) Subject: Requires glib-2.3.0, pango-1.2.0. X-Git-Url: http://pileus.org/git/?p=~andy%2Fgtk;a=commitdiff_plain;h=88c1c94651750789dcad613ee8b09024df142ba2 Requires glib-2.3.0, pango-1.2.0. Sat Aug 2 12:53:16 2003 Owen Taylor * configure.in: Requires glib-2.3.0, pango-1.2.0. * configure.in: Require Xft version 2, remove code for handling older versions of pango and Xft. Many miscellaneous improvements to X checks * acinclude.m4: Add GTK_ADD_LIB() macro for adding a library to a variable, avoiding dups. * gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display): Always load "fixed" * gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and for pangox. --- diff --git a/ChangeLog b/ChangeLog index 46271cb32..fc271c799 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,10 +1,26 @@ +Sat Aug 2 12:53:16 2003 Owen Taylor + + * configure.in: Requires glib-2.3.0, pango-1.2.0. + + * configure.in: Require Xft version 2, + remove code for handling older versions of pango and Xft. + Many miscellaneous improvements to X checks + + * acinclude.m4: Add GTK_ADD_LIB() macro for adding + a library to a variable, avoiding dups. + + * gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display): + Always load "fixed" + + * gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and + for pangox. + 2003-08-02 Matthias Clasen - * gtk/gtkcolorsel.c (color_sample_drop_handle) - (palette_drop_handle): - * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received): Accept drops with the - wrong format, since the KDE color chooser incorrectly drops application/x-color with - format 8. + * gtk/gtkcolorsel.c (color_sample_drop_handle) (palette_drop_handle): + * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received): + Accept drops with the wrong format, since the KDE color chooser + incorrectly drops application/x-color with format 8. 2003-08-02 Tor Lillqvist @@ -536,11 +552,13 @@ Thu Jul 17 16:11:21 2003 Kristian Rietveld 2003-07-15 Matthias Clasen - * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size): Fight against gtk-doc stupidity. + * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size): + Fight against gtk-doc stupidity. 2003-07-13 Matthias Clasen - * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to targets, to pacify gtk-doc. + * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to + targets, to pacify gtk-doc. Sun Jul 13 15:57:57 2003 Soeren Sandmann diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 46271cb32..fc271c799 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,10 +1,26 @@ +Sat Aug 2 12:53:16 2003 Owen Taylor + + * configure.in: Requires glib-2.3.0, pango-1.2.0. + + * configure.in: Require Xft version 2, + remove code for handling older versions of pango and Xft. + Many miscellaneous improvements to X checks + + * acinclude.m4: Add GTK_ADD_LIB() macro for adding + a library to a variable, avoiding dups. + + * gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display): + Always load "fixed" + + * gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and + for pangox. + 2003-08-02 Matthias Clasen - * gtk/gtkcolorsel.c (color_sample_drop_handle) - (palette_drop_handle): - * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received): Accept drops with the - wrong format, since the KDE color chooser incorrectly drops application/x-color with - format 8. + * gtk/gtkcolorsel.c (color_sample_drop_handle) (palette_drop_handle): + * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received): + Accept drops with the wrong format, since the KDE color chooser + incorrectly drops application/x-color with format 8. 2003-08-02 Tor Lillqvist @@ -536,11 +552,13 @@ Thu Jul 17 16:11:21 2003 Kristian Rietveld 2003-07-15 Matthias Clasen - * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size): Fight against gtk-doc stupidity. + * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size): + Fight against gtk-doc stupidity. 2003-07-13 Matthias Clasen - * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to targets, to pacify gtk-doc. + * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to + targets, to pacify gtk-doc. Sun Jul 13 15:57:57 2003 Soeren Sandmann diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 46271cb32..fc271c799 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,10 +1,26 @@ +Sat Aug 2 12:53:16 2003 Owen Taylor + + * configure.in: Requires glib-2.3.0, pango-1.2.0. + + * configure.in: Require Xft version 2, + remove code for handling older versions of pango and Xft. + Many miscellaneous improvements to X checks + + * acinclude.m4: Add GTK_ADD_LIB() macro for adding + a library to a variable, avoiding dups. + + * gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display): + Always load "fixed" + + * gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and + for pangox. + 2003-08-02 Matthias Clasen - * gtk/gtkcolorsel.c (color_sample_drop_handle) - (palette_drop_handle): - * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received): Accept drops with the - wrong format, since the KDE color chooser incorrectly drops application/x-color with - format 8. + * gtk/gtkcolorsel.c (color_sample_drop_handle) (palette_drop_handle): + * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received): + Accept drops with the wrong format, since the KDE color chooser + incorrectly drops application/x-color with format 8. 2003-08-02 Tor Lillqvist @@ -536,11 +552,13 @@ Thu Jul 17 16:11:21 2003 Kristian Rietveld 2003-07-15 Matthias Clasen - * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size): Fight against gtk-doc stupidity. + * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size): + Fight against gtk-doc stupidity. 2003-07-13 Matthias Clasen - * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to targets, to pacify gtk-doc. + * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to + targets, to pacify gtk-doc. Sun Jul 13 15:57:57 2003 Soeren Sandmann diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 46271cb32..fc271c799 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,10 +1,26 @@ +Sat Aug 2 12:53:16 2003 Owen Taylor + + * configure.in: Requires glib-2.3.0, pango-1.2.0. + + * configure.in: Require Xft version 2, + remove code for handling older versions of pango and Xft. + Many miscellaneous improvements to X checks + + * acinclude.m4: Add GTK_ADD_LIB() macro for adding + a library to a variable, avoiding dups. + + * gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display): + Always load "fixed" + + * gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and + for pangox. + 2003-08-02 Matthias Clasen - * gtk/gtkcolorsel.c (color_sample_drop_handle) - (palette_drop_handle): - * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received): Accept drops with the - wrong format, since the KDE color chooser incorrectly drops application/x-color with - format 8. + * gtk/gtkcolorsel.c (color_sample_drop_handle) (palette_drop_handle): + * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received): + Accept drops with the wrong format, since the KDE color chooser + incorrectly drops application/x-color with format 8. 2003-08-02 Tor Lillqvist @@ -536,11 +552,13 @@ Thu Jul 17 16:11:21 2003 Kristian Rietveld 2003-07-15 Matthias Clasen - * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size): Fight against gtk-doc stupidity. + * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size): + Fight against gtk-doc stupidity. 2003-07-13 Matthias Clasen - * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to targets, to pacify gtk-doc. + * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to + targets, to pacify gtk-doc. Sun Jul 13 15:57:57 2003 Soeren Sandmann diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 46271cb32..fc271c799 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,10 +1,26 @@ +Sat Aug 2 12:53:16 2003 Owen Taylor + + * configure.in: Requires glib-2.3.0, pango-1.2.0. + + * configure.in: Require Xft version 2, + remove code for handling older versions of pango and Xft. + Many miscellaneous improvements to X checks + + * acinclude.m4: Add GTK_ADD_LIB() macro for adding + a library to a variable, avoiding dups. + + * gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display): + Always load "fixed" + + * gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and + for pangox. + 2003-08-02 Matthias Clasen - * gtk/gtkcolorsel.c (color_sample_drop_handle) - (palette_drop_handle): - * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received): Accept drops with the - wrong format, since the KDE color chooser incorrectly drops application/x-color with - format 8. + * gtk/gtkcolorsel.c (color_sample_drop_handle) (palette_drop_handle): + * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received): + Accept drops with the wrong format, since the KDE color chooser + incorrectly drops application/x-color with format 8. 2003-08-02 Tor Lillqvist @@ -536,11 +552,13 @@ Thu Jul 17 16:11:21 2003 Kristian Rietveld 2003-07-15 Matthias Clasen - * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size): Fight against gtk-doc stupidity. + * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size): + Fight against gtk-doc stupidity. 2003-07-13 Matthias Clasen - * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to targets, to pacify gtk-doc. + * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to + targets, to pacify gtk-doc. Sun Jul 13 15:57:57 2003 Soeren Sandmann diff --git a/acinclude.m4 b/acinclude.m4 index ed6e88899..74d13bf41 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -11,6 +11,17 @@ AC_DEFUN([GLIB_AC_DIVERT_BEFORE_HELP], $1 AC_DIVERT_POP()])])]) +# GTK_ADD_LIB(VAR,LIBNAME) +# --------------------------------- +# Helper macro to add a -lBlah to a variable, avoiding repeats +# Note that this needs to be quoted when used in an enclosing macro +AC_DEFUN([GTK_ADD_LIB], +[ case "$$1 " in + *-l$2[[\ \ ]]*) ;; + *) $1="-l$2 $$1" ;; + esac +]) + # Checks the location of the XML Catalog # Usage: # JH_PATH_XML_CATALOG diff --git a/configure.in b/configure.in index c37defee6..aeb28a4b0 100644 --- a/configure.in +++ b/configure.in @@ -28,8 +28,8 @@ m4_define([gtk_api_version], [2.0]) m4_define([gtk_binary_version], [2.2.0]) # required versions of other packages -m4_define([glib_required_version], [2.1.4]) -m4_define([pango_required_version], [1.0.1]) +m4_define([glib_required_version], [2.3.0]) +m4_define([pango_required_version], [1.2.0]) m4_define([atk_required_version], [1.0.1]) @@ -993,90 +993,44 @@ fi if test "x$gdktarget" = "xx11"; then # We start off with the libraries from Pango - if $PKG_CONFIG --exists pangox ; then : ; else - AC_MSG_ERROR([pangox Pango backend is required for x11 target]) - fi - - ## be sure we also have Pango built with xft support - if $PKG_CONFIG --exists pangoxft ; then - PANGO_PACKAGES="pangoxft pangox" - have_xft=true - AC_DEFINE(HAVE_XFT) + ## be sure we also have Pango built with Xft2 support + if $PKG_CONFIG --exists 'pangoxft >= 1.2.0' ; then if $have_freetype ; then : else - AC_MSG_ERROR([pangoxft Pango backend found but did not find freetype libraries]) + AC_MSG_ERROR([Xft Pango backend found but did not find freetype libraries]) fi else - PANGO_PACKAGES="pangox" - have_xft=false + AC_MSG_ERROR([Pango 1.2.0 and Xft backend is required for x11 target]) fi - AM_CONDITIONAL(HAVE_XFT, $have_xft) - - if $have_xft; then - if $PKG_CONFIG --exists xft ; then - AC_DEFINE(HAVE_XFT2, 1, [Define if we have Xft, version 2]) - fi + if $PKG_CONFIG --exists xft ; then : ; else + AC_MSG_ERROR([Xft version 2 is required for x11 target]) fi # # If Pango included the shared library dependencies from X11 in # the pkg-config output, then we use that (to avoid duplicates). - # but if they were omitted to avoid binary compatibility problems + # but if they were omitted to avoid binary compatibility problems, # then we need to repeat the checks. # - x_libs="`$PKG_CONFIG --libs $PANGO_PACKAGES`" + x_libs="`$PKG_CONFIG --libs pangoxft`" case "$x_libs" in *-lX11*) pango_omitted_x_deps=no ;; *) pango_omitted_x_deps=yes ;; esac - x_cflags="`$PKG_CONFIG --cflags $PANGO_PACKAGES`" + x_cflags="`$PKG_CONFIG --cflags pangoxft`" x_extra_libs= + AC_PATH_XTRA + if test x$no_x = xyes ; then + AC_MSG_ERROR([X development libraries not found]) + fi + if test $pango_omitted_x_deps = yes ; then - AC_PATH_XTRA - - if test x$no_x = xyes ; then - AC_MSG_ERROR([X development libraries not found]) - fi - - x_libs="$X_LIBS -lX11 $X_EXTRA_LIBS" - - # - # Checks for Xft/XRender - # - if test $have_xft = true ; then - have_xft=false - - if pkg-config --exists pangoxft '>=' 1.1.0 ; then - x_libs="`pkg-config --libs xft` -lX11 $FREETYPE_LIBS $X_EXTRA_LIBS" - have_xft=true - else - gtk_save_cppflags="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $x_cflags" - - AC_CHECK_LIB(Xrender, XRenderFindFormat, - [AC_CHECK_LIB(Xft, XftFontOpen, - [AC_CHECK_HEADER(X11/Xft/XftFreetype.h, - have_xft=true,:)], - :,-lXrender -lXext $x_libs $FREETYPE_LIBS)] - ,:,-lXext $x_libs) - - if $have_xft ; then - x_libs="$X_LIBS -lXft -lXrender -lXext -lX11 $FREETYPE_LIBS $X_EXTRA_LIBS" - fi - - CPPFLAGS="$gtk_save_cppflags" - fi - - if $have_xft ; then - : - else - AC_MSG_ERROR([pangoxft Pango backend found, but Xft not found]) - fi - fi + # Old versions of Xft didn't necessarily include -lX11 in the output + x_libs="`pkg-config --libs xft` -lX11 $X_EXTRA_LIBS" fi ## Strip the .la files @@ -1097,22 +1051,18 @@ if test "x$gdktarget" = "xx11"; then if test "x$enable_shm" = "xyes"; then # Check for the Xext library (needed for XShm extention) AC_CHECK_LIB(Xext, XShmAttach, - if test -z "`echo $x_libs | grep "\-lXext" 2> /dev/null`"; then - x_extra_libs="-lXext" - fi, + [GTK_ADD_LIB(x_extra_libs,Xext)], # On AIX, it is in XextSam instead, but we still need -lXext - AC_CHECK_LIB(XextSam, XShmAttach, - if test -z "`echo $x_libs | grep "\-lXext" 2> /dev/null`"; then - x_extra_libs="-lXextSam -lXext" - else - x_extra_libs="-lXextSam" - fi, , $x_libs_for_checks), + [AC_CHECK_LIB(XextSam, XShmAttach, + [GTK_ADD_LIB(x_extra_libs,Xext) + GTK_ADD_LIB(x_extra_libs,XextSam) + ], , -lXext $x_libs_for_checks)], $x_libs_for_checks) fi GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags" # Don't ever pull in the pangoxft libraries for gdk-pixbuf-x11 - GDK_PIXBUF_XLIB_EXTRA_LIBS="$x_extra_libs $x_libs" + GDK_PIXBUF_XLIB_EXTRA_LIBS="$X_LIBS -lX11 $x_extra_libs $X_EXTRA_LIBS" # Check for Xinerama extension (Solaris impl or Xfree impl) @@ -1127,11 +1077,9 @@ if test "x$gdktarget" = "xx11"; then use_solaris_xinerama=yes, use_solaris_xinerama=no) if test "x$use_solaris_xinerama" = "xyes"; then AC_CHECK_HEADER(X11/extensions/xinerama.h, - if test -z "`echo $x_extra_libs $x_libs | grep "\-lXext" 2> /dev/null`"; then - x_extra_libs="-lXext $x_extra_libs" - fi + [GTK_ADD_LIB(x_extra_libs,Xext) AC_DEFINE(HAVE_SOLARIS_XINERAMA) - AC_DEFINE(HAVE_XINERAMA), use_solaris_xinerama=no, -lXext $x_libs_for_checks) + AC_DEFINE(HAVE_XINERAMA)], use_solaris_xinerama=no, -lXext $x_libs_for_checks) fi AC_MSG_CHECKING(for Xinerama support on Solaris) AC_MSG_RESULT($use_solaris_xinerama); @@ -1141,12 +1089,10 @@ if test "x$gdktarget" = "xx11"; then use_xfree_xinerama=yes AC_CHECK_LIB(Xinerama, XineramaQueryExtension, [AC_CHECK_HEADER(X11/extensions/Xinerama.h, - x_extra_libs="-lXinerama $x_extra_libs" - if test -z "`echo $x_extra_libs $x_libs | grep "\-lXext" 2> /dev/null`"; then - x_extra_libs="-lXext $x_extra_libs" - fi + [GTK_ADD_LIB(x_extra_libs,Xext) + GTK_ADD_LIB(x_extra_libs,Xinerama) AC_DEFINE(HAVE_XFREE_XINERAMA) - AC_DEFINE(HAVE_XINERAMA), + AC_DEFINE(HAVE_XINERAMA)], use_xfree_xinerama=no, [#include ])], use_xfree_xinerama=no, -lXext $x_libs_for_checks) @@ -1160,10 +1106,8 @@ if test "x$gdktarget" = "xx11"; then # Check for shaped window extension AC_CHECK_LIB(Xext, XShapeCombineMask, - if test -z "`echo $x_extra_libs $x_libs | grep "\-lXext" 2> /dev/null`"; then - x_extra_libs="-lXext $x_extra_libs" - fi - AC_DEFINE(HAVE_SHAPE_EXT), + [GTK_ADD_LIB(x_extra_libs,Xext), + AC_DEFINE(HAVE_SHAPE_EXT)], , $x_libs_for_checks) @@ -1210,7 +1154,7 @@ if test "x$gdktarget" = "xx11"; then if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then AC_DEFINE(XINPUT_XFREE) - x_extra_libs="-lXi $x_extra_libs" + GTK_ADD_LIB(x_extra_libs, Xi) else AC_DEFINE(XINPUT_NONE) fi @@ -1222,21 +1166,22 @@ if test "x$gdktarget" = "xx11"; then AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration, [AC_CHECK_HEADER(X11/extensions/Xrandr.h, # RANDR requires RENDER - if test -z "`echo $x_extra_libs $x_libs | grep "\-lXrender" 2> /dev/null`"; then - x_extra_libs="-lXrender $x_extra_libs" - fi - x_extra_libs="-lXrandr $x_extra_libs" - AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library), + [GTK_ADD_LIB(x_extra_libs, Xrender) + GTK_ADD_LIB(x_extra_libs, Xrandr) + AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library)], :, [#include ])], : , $X_LIBS -lXrandr -lXrender -lX11 $X_EXTRA_LIBS) # Checks for Xcursor library + have_xcursor=false PKG_CHECK_MODULES(XCURSOR, xcursor, have_xcursor=true, :) if $have_xcursor ; then AC_DEFINE(HAVE_XCURSOR, 1, Have the Xcursor library) - GDK_EXTRA_LIBS="$XCURSOR_LIBS $GDK_EXTRA_LIBS"; + XCURSOR_PACKAGES="xcursor" + else + XCURSOR_PACKAGES= fi # Xshm checks @@ -1273,14 +1218,13 @@ if test "x$gdktarget" = "xx11"; then GDK_EXTRA_CFLAGS= if test $pango_omitted_x_deps = yes ; then - GDK_EXTRA_LIBS="$x_extra_libs $x_libs $GDK_EXTRA_LIBS" + GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs $x_libs $GDK_EXTRA_LIBS" else - GDK_EXTRA_LIBS="$x_extra_libs $GDK_EXTRA_LIBS" + GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs $GDK_EXTRA_LIBS" fi AM_CONDITIONAL(USE_X11, true) else - AM_CONDITIONAL(HAVE_XFT, false) AM_CONDITIONAL(XINPUT_XFREE, false) AM_CONDITIONAL(USE_X11, false) AM_CONDITIONAL(HAVE_X11R6, false) @@ -1289,9 +1233,6 @@ fi if test "x$gdktarget" = "xwin32"; then # We start off with the libraries from Pango - ## be sure we also have Pango built with win32 support - PANGO_PACKAGES="pangowin32" - if test x$have_wintab = xyes; then GDK_WIN32_EXTRA_CFLAGS="-I $with_wintab/include" AC_SUBST(GDK_WIN32_EXTRA_CFLAGS) @@ -1303,8 +1244,6 @@ else AM_CONDITIONAL(USE_WIN32, false) fi -AC_SUBST(xinput_progs) - GDK_PIXBUF_XLIB_PACKAGES= GDK_PIXBUF_XLIB_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_XLIB_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS" GDK_PIXBUF_XLIB_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_PIXBUF_XLIB_EXTRA_CFLAGS" @@ -1357,11 +1296,13 @@ fi # if test "x$gdktarget" = "xx11"; then - if $have_xft = true ; then - PANGO_PACKAGES="pangoxft pangox" - else - PANGO_PACKAGES=pangox - fi + PANGO_PACKAGES=pangoxft + + # We no longer use pangox, but if we find it, we link to it + # for binary compatibility. + if $PKG_CONFIG --exists pangox ; then + PANGO_PACKAGES="$PANGO_PACKAGES pangox" + fi elif test "x$gdktarget" = "xwin32"; then PANGO_PACKAGES=pangowin32 elif test "x$gdktarget" = "xlinux-fb"; then @@ -1403,7 +1344,7 @@ fi CFLAGS="$saved_cflags" LDFLAGS="$saved_ldflags" -GDK_PACKAGES=$PANGO_PACKAGES +GDK_PACKAGES="$XCURSOR_PACKAGES $PANGO_PACKAGES" 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" diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 9227e943d..dea04722d 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -153,7 +153,6 @@ gdk_display_open (const gchar *display_name) display = g_object_new (GDK_TYPE_DISPLAY_X11, NULL); display_x11 = GDK_DISPLAY_X11 (display); - display_x11->use_xft = -1; display_x11->use_xshm = TRUE; display_x11->xdisplay = xdisplay; diff --git a/gdk/x11/gdkdisplay-x11.h b/gdk/x11/gdkdisplay-x11.h index d8e37cc2e..a455303f8 100644 --- a/gdk/x11/gdkdisplay-x11.h +++ b/gdk/x11/gdkdisplay-x11.h @@ -135,8 +135,6 @@ struct _GdkDisplayX11 gchar *input_gxid_host; gint input_gxid_port; - gint use_xft; - /* Startup notification */ gchar *startup_notification_id; diff --git a/gdk/x11/gdkdrawable-x11.c b/gdk/x11/gdkdrawable-x11.c index 306504c2b..8444f0eea 100644 --- a/gdk/x11/gdkdrawable-x11.c +++ b/gdk/x11/gdkdrawable-x11.c @@ -27,12 +27,9 @@ #include "gdkx.h" #include "gdkregion-generic.h" -#include #include -#if HAVE_XFT #include -#endif #include #include /* for memcpy() */ @@ -122,7 +119,6 @@ static void gdk_x11_draw_image (GdkDrawable *drawable, gint ydest, gint width, gint height); -#ifdef HAVE_XFT static void gdk_x11_draw_pixbuf (GdkDrawable *drawable, GdkGC *gc, GdkPixbuf *pixbuf, @@ -135,7 +131,6 @@ static void gdk_x11_draw_pixbuf (GdkDrawable *drawable, GdkRgbDither dither, gint x_dither, gint y_dither); -#endif /* HAVE_XFT */ static void gdk_x11_set_colormap (GdkDrawable *drawable, GdkColormap *colormap); @@ -201,9 +196,7 @@ gdk_drawable_impl_x11_class_init (GdkDrawableImplX11Class *klass) drawable_class->draw_lines = gdk_x11_draw_lines; drawable_class->draw_glyphs = gdk_x11_draw_glyphs; drawable_class->draw_image = gdk_x11_draw_image; -#ifdef HAVE_XFT drawable_class->draw_pixbuf = gdk_x11_draw_pixbuf; -#endif /* HAVE_XFT */ drawable_class->set_colormap = gdk_x11_set_colormap; drawable_class->get_colormap = gdk_x11_get_colormap; @@ -223,7 +216,6 @@ gdk_drawable_impl_x11_finalize (GObject *object) G_OBJECT_CLASS (parent_class)->finalize (object); } -#ifdef HAVE_XFT static void try_pixmap (Display *xdisplay, int screen, @@ -312,7 +304,6 @@ _gdk_x11_have_render (GdkDisplay *display) return x11display->have_render == GDK_YES; } -#ifdef HAVE_XFT2 static XftDraw * gdk_x11_drawable_get_xft_draw (GdkDrawable *drawable) { @@ -381,81 +372,6 @@ gdk_x11_drawable_update_xft_clip (GdkDrawable *drawable, } } -#else /* !HAVE_XFT2 */ - -static Picture -gdk_x11_drawable_get_picture (GdkDrawable *drawable) -{ - GdkDrawableImplX11 *impl = GDK_DRAWABLE_IMPL_X11 (drawable); - - if (!_gdk_x11_have_render (gdk_drawable_get_display (drawable))) - return None; - - if (impl->picture == None) - { - GdkVisual *visual = gdk_drawable_get_visual (drawable); - XRenderPictFormat *format; - - if (!visual) - { - g_warning ("Using Xft rendering requires the drawable argument to\n" - "have a specified colormap. All windows have a colormap,\n" - "however, pixmaps only have colormap by default if they\n" - "were created with a non-NULL window argument. Otherwise\n" - "a colormap must be set on them with gdk_drawable_set_colormap"); - return None; - } - - format = XRenderFindVisualFormat (GDK_SCREEN_XDISPLAY (impl->screen), - gdk_x11_visual_get_xvisual(visual)); - if (format) - impl->picture = XRenderCreatePicture (GDK_SCREEN_XDISPLAY (impl->screen), - impl->xid, format, 0, NULL); - } - - return impl->picture; -} - -static void -gdk_x11_drawable_update_xft_clip (GdkDrawable *drawable, - GdkGC *gc) -{ - GdkGCX11 *gc_private = gc ? GDK_GC_X11 (gc) : NULL; - GdkDrawableImplX11 *impl = GDK_DRAWABLE_IMPL_X11 (drawable); - Picture picture = gdk_x11_drawable_get_picture (drawable); - - if (gc && gc_private->clip_region) - { - GdkRegionBox *boxes = gc_private->clip_region->rects; - gint n_boxes = gc_private->clip_region->numRects; - XRectangle *rects = g_new (XRectangle, n_boxes); - int i; - - for (i=0; i < n_boxes; i++) - { - rects[i].x = CLAMP (boxes[i].x1 + gc->clip_x_origin, G_MINSHORT, G_MAXSHORT); - rects[i].y = CLAMP (boxes[i].y1 + gc->clip_y_origin, G_MINSHORT, G_MAXSHORT); - rects[i].width = CLAMP (boxes[i].x2 + gc->clip_x_origin, G_MINSHORT, G_MAXSHORT) - rects[i].x; - rects[i].height = CLAMP (boxes[i].y2 + gc->clip_y_origin, G_MINSHORT, G_MAXSHORT) - rects[i].y; - } - - XRenderSetPictureClipRectangles (GDK_SCREEN_XDISPLAY (impl->screen), - picture, 0, 0, rects, n_boxes); - - g_free (rects); - } - else - { - XRenderPictureAttributes pa; - pa.clip_mask = None; - XRenderChangePicture (GDK_SCREEN_XDISPLAY (impl->screen), - picture, CPClipMask, &pa); - } -} -#endif /* HAVE_XFT2 */ - -#endif /* HAVE_XFT */ - /***************************************************** * X11 specific implementations of generic functions * *****************************************************/ @@ -847,42 +763,19 @@ gdk_x11_draw_glyphs (GdkDrawable *drawable, PangoGlyphString *glyphs) { GdkDrawableImplX11 *impl; + XftColor color; + XftDraw *draw; impl = GDK_DRAWABLE_IMPL_X11 (drawable); -#if HAVE_XFT - if (PANGO_XFT_IS_FONT (font)) - { -#ifdef HAVE_XFT2 - XftColor color; - XftDraw *draw; + g_return_if_fail (PANGO_XFT_IS_FONT (font)); - _gdk_gc_x11_get_fg_xft_color (gc, &color); - - gdk_x11_drawable_update_xft_clip (drawable, gc); - draw = gdk_x11_drawable_get_xft_draw (drawable); - - pango_xft_render (draw, &color, font, glyphs, x, y); -#else /* !HAVE_XFT2 */ - Picture src_picture; - Picture dest_picture; - - src_picture = _gdk_x11_gc_get_fg_picture (gc); + _gdk_gc_x11_get_fg_xft_color (gc, &color); - gdk_x11_drawable_update_xft_clip (drawable, gc); - dest_picture = gdk_x11_drawable_get_picture (drawable); + gdk_x11_drawable_update_xft_clip (drawable, gc); + draw = gdk_x11_drawable_get_xft_draw (drawable); - pango_xft_picture_render (GDK_SCREEN_XDISPLAY (impl->screen), - src_picture, dest_picture, - font, glyphs, x, y); -#endif /* HAVE_XFT2 */ - } - else -#endif /* HAVE_XFT */ - pango_x_render (GDK_SCREEN_XDISPLAY (impl->screen), - impl->xid, - GDK_GC_GET_XGC (gc), - font, glyphs, x, y); + pango_xft_render (draw, &color, font, glyphs, x, y); } static void @@ -999,7 +892,6 @@ gdk_x11_drawable_get_xid (GdkDrawable *drawable) * what's the fastest depending on the available picture formats, * whether we can used shared pixmaps, etc. */ -#ifdef HAVE_XFT typedef enum { FORMAT_NONE, FORMAT_EXACT_MASK, @@ -1524,4 +1416,3 @@ gdk_x11_draw_pixbuf (GdkDrawable *drawable, rowstride, dest_x, dest_y, width, height); } -#endif /* HAVE_XFT */ diff --git a/gdk/x11/gdkdrawable-x11.h b/gdk/x11/gdkdrawable-x11.h index 0d4185b6f..ea99938b3 100644 --- a/gdk/x11/gdkdrawable-x11.h +++ b/gdk/x11/gdkdrawable-x11.h @@ -32,10 +32,7 @@ #include #include - -#ifdef HAVE_XFT #include -#endif #ifdef __cplusplus extern "C" { @@ -65,11 +62,7 @@ struct _GdkDrawableImplX11 Window xid; GdkScreen *screen; -#ifdef HAVE_XFT2 XftDraw *xft_draw; -#elif defined (HAVE_XFT) - Picture picture; -#endif }; struct _GdkDrawableImplX11Class diff --git a/gdk/x11/gdkfont-x11.c b/gdk/x11/gdkfont-x11.c index 37bb517d7..5c65b145b 100644 --- a/gdk/x11/gdkfont-x11.c +++ b/gdk/x11/gdkfont-x11.c @@ -30,8 +30,6 @@ #include #include -#include - #include "gdkx.h" #include "gdkfont.h" #include "gdkprivate-x11.h" @@ -285,42 +283,12 @@ GdkFont * gdk_font_from_description_for_display (GdkDisplay *display, PangoFontDescription *font_desc) { - PangoFontMap *font_map; - PangoFont *font; - GdkFont *result = NULL; + GdkFont *result; g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); g_return_val_if_fail (font_desc != NULL, NULL); - font_map = pango_x_font_map_for_display (GDK_DISPLAY_XDISPLAY (display)); - font = pango_font_map_load_font (font_map, NULL, font_desc); - - if (font) - { - gchar *charset = gdk_font_charset_for_locale (); - gint n_subfonts; - PangoXSubfont *subfont_ids; - gint *subfont_charsets; - - n_subfonts = pango_x_list_subfonts (font, &charset, 1, - &subfont_ids, &subfont_charsets); - if (n_subfonts > 0) - { - gchar *xlfd = pango_x_font_subfont_xlfd (font, subfont_ids[0]); - result = gdk_font_load_for_display (display, xlfd); - - g_free (xlfd); - } - - g_free (subfont_ids); - - g_free (subfont_charsets); - - g_free (charset); - g_object_unref (font); - } - - return result; + return gdk_font_load_for_display (display, "fixed"); } /** diff --git a/gdk/x11/gdkgc-x11.c b/gdk/x11/gdkgc-x11.c index 9874c7ea8..52d460b5c 100644 --- a/gdk/x11/gdkgc-x11.c +++ b/gdk/x11/gdkgc-x11.c @@ -109,10 +109,8 @@ gdk_gc_x11_finalize (GObject *object) if (x11_gc->clip_region) gdk_region_destroy (x11_gc->clip_region); -#if HAVE_XFT if (x11_gc->fg_picture != None) XRenderFreePicture (GDK_GC_XDISPLAY (x11_gc), x11_gc->fg_picture); -#endif XFreeGC (GDK_GC_XDISPLAY (x11_gc), GDK_GC_XGC (x11_gc)); @@ -816,7 +814,6 @@ gdk_x11_gc_get_xgc (GdkGC *gc) return gc_x11->xgc; } -#ifdef HAVE_XFT /* Various bits of the below are roughly cribbed from XFree86 * lib/Xft/xftdraw.c, Copyright 2000, Keith Packard */ @@ -942,5 +939,3 @@ _gdk_gc_x11_get_fg_xft_color (GdkGC *gc, xftcolor->color.blue = color.blue; xftcolor->color.alpha = 0xffff; } - -#endif /* HAVE_XFT */ diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c index 3c5f7de8a..3f8462f0a 100644 --- a/gdk/x11/gdkmain-x11.c +++ b/gdk/x11/gdkmain-x11.c @@ -49,8 +49,6 @@ #include "gdkregion-generic.h" #include "gdkinputprivate.h" -#include - typedef struct _GdkPredicate GdkPredicate; typedef struct _GdkErrorTrap GdkErrorTrap; diff --git a/gdk/x11/gdkpango-x11.c b/gdk/x11/gdkpango-x11.c index 464565188..b4bf0cf29 100644 --- a/gdk/x11/gdkpango-x11.c +++ b/gdk/x11/gdkpango-x11.c @@ -23,10 +23,7 @@ #include "gdkx.h" #include "gdkdisplay-x11.h" #include "gdkpango.h" -#include -#ifdef HAVE_XFT #include -#endif /** * gdk_pango_context_get_for_screen: @@ -48,40 +45,14 @@ PangoContext * gdk_pango_context_get_for_screen (GdkScreen *screen) { PangoContext *context; - GdkDisplayX11 *display_x11; g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL); if (screen->closed) return NULL; - display_x11 = GDK_DISPLAY_X11 (GDK_SCREEN_DISPLAY (screen)); - -#ifdef HAVE_XFT - if (display_x11->use_xft == -1) - { - const char *val = g_getenv ("GDK_USE_XFT"); - - /* Version 2 of Xft supports rendering FreeType fonts via - * the core X protocol, so we default to it everywhere. - * - * For Xft1, we only enable Xft if the user explicitely - * specifies it, and we have the RENDER extension - */ -# ifdef HAVE_XFT2 - display_x11->use_xft = !val || (atoi (val) != 0); -# else - display_x11->use_xft = val && (atoi (val) != 0) && - _gdk_x11_have_render (GDK_SCREEN_DISPLAY (screen)); -# endif /* HAVE_XFT2 */ - } - - if (display_x11->use_xft) - context = pango_xft_get_context (GDK_SCREEN_XDISPLAY (screen), - GDK_SCREEN_X11 (screen)->screen_num); - else -#endif /* HAVE_XFT */ - context = pango_x_get_context (GDK_SCREEN_XDISPLAY (screen)); + context = pango_xft_get_context (GDK_SCREEN_XDISPLAY (screen), + GDK_SCREEN_X11 (screen)->screen_num); g_object_set_data (G_OBJECT (context), "gdk-pango-screen", screen); diff --git a/gdk/x11/gdkpixmap-x11.c b/gdk/x11/gdkpixmap-x11.c index 06d19cd8a..f28ad72af 100644 --- a/gdk/x11/gdkpixmap-x11.c +++ b/gdk/x11/gdkpixmap-x11.c @@ -129,19 +129,10 @@ gdk_pixmap_impl_x11_finalize (GObject *object) if (!display->closed) { -#ifdef HAVE_XFT - { - GdkDrawableImplX11 *draw_impl = GDK_DRAWABLE_IMPL_X11 (impl); + GdkDrawableImplX11 *draw_impl = GDK_DRAWABLE_IMPL_X11 (impl); -#ifdef HAVE_XFT2 - if (draw_impl->xft_draw) - XftDrawDestroy (draw_impl->xft_draw); -#else /* !HAVE_XFT2 */ - if (draw_impl->picture) - XRenderFreePicture (GDK_DISPLAY_XDISPLAY (display), draw_impl->picture); -#endif /* HAVE_XFT2 */ - } -#endif /* HAVE_XFT */ + if (draw_impl->xft_draw) + XftDrawDestroy (draw_impl->xft_draw); if (!impl->is_foreign) XFreePixmap (GDK_DISPLAY_XDISPLAY (display), GDK_PIXMAP_XID (wrapper)); diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index 93d226a71..5ffe3982e 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -41,9 +41,7 @@ #include -#if HAVE_XFT #include -#endif #define GDK_TYPE_GC_X11 (_gdk_gc_x11_get_type ()) #define GDK_GC_X11(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_GC_X11, GdkGCX11)) @@ -67,10 +65,8 @@ struct _GdkGCX11 guint16 dirty_mask; guint have_clip_mask : 1; -#ifdef HAVE_XFT Picture fg_picture; XRenderColor fg_picture_color; -#endif gulong fg_pixel; }; @@ -106,12 +102,10 @@ gint _gdk_send_xevent (GdkDisplay *display, GType _gdk_gc_x11_get_type (void); -#ifdef HAVE_XFT gboolean _gdk_x11_have_render (GdkDisplay *display); Picture _gdk_x11_gc_get_fg_picture (GdkGC *gc); void _gdk_gc_x11_get_fg_xft_color (GdkGC *gc, XftColor *xftcolor); -#endif /* HAVE_XFT */ GdkGC *_gdk_x11_gc_new (GdkDrawable *drawable, GdkGCValues *values, diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c index 21d66f25d..16c650cad 100644 --- a/gdk/x11/gdkscreen-x11.c +++ b/gdk/x11/gdkscreen-x11.c @@ -32,11 +32,6 @@ #include "gdkdisplay-x11.h" #include "gdkx.h" -#ifdef HAVE_XFT -#include -#endif -#include - #ifdef HAVE_SOLARIS_XINERAMA #include #endif diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 7b99ee9bf..bf098e1e1 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -890,6 +890,7 @@ _gdk_windowing_window_destroy (GdkWindow *window, { GdkWindowObject *private = (GdkWindowObject *)window; GdkToplevelX11 *toplevel; + GdkDrawableImplX11 *draw_impl; g_return_if_fail (GDK_IS_WINDOW (window)); @@ -902,19 +903,10 @@ _gdk_windowing_window_destroy (GdkWindow *window, if (toplevel) gdk_toplevel_x11_free_contents (toplevel); -#ifdef HAVE_XFT - { - GdkDrawableImplX11 *draw_impl = GDK_DRAWABLE_IMPL_X11 (private->impl); - -#ifdef HAVE_XFT2 - if (draw_impl->xft_draw) - XftDrawDestroy (draw_impl->xft_draw); -#else /* !HAVE_XFT2 */ - if (draw_impl->picture) - XRenderFreePicture (GDK_DRAWABLE_XDISPLAY (window), draw_impl->picture); -#endif /* HAVE_XFT2 */ - } -#endif /* HAVE_XFT */ + draw_impl = GDK_DRAWABLE_IMPL_X11 (private->impl); + + if (draw_impl->xft_draw) + XftDrawDestroy (draw_impl->xft_draw); if (private->window_type == GDK_WINDOW_FOREIGN) {