summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2001-05-03 20:11:14 +0000
committerOwen Taylor <otaylor@src.gnome.org>2001-05-03 20:11:14 +0000
commit42cc312df65ba892bfc21e638f109c77be3cd00e (patch)
tree9ca5fd5b82443cebf1a96fd6ffaecefe6a8e1f59
parent3125dc0cf28a399bcc92d9c5350f996a1a23cc76 (diff)
downloadgtk+-42cc312df65ba892bfc21e638f109c77be3cd00e.tar.gz
Add dependency on Atk for accessibility support.
Thu May 3 14:13:49 2001 Owen Taylor <otaylor@redhat.com> * INSTALL.in HACKING gtk/gtkaccessible.[ch] gtk/gtk.c: Add dependency on Atk for accessibility support. * configure.in **/Makefile.am: Major reworking of substituted variables for CFLAGS/LIBS to make a lot more sane and keep the the compile/link lines a bit shorter. * gdk/x11/gdkkeys-x11.c: Fix #endif with trailing stuff.
-rw-r--r--ChangeLog11
-rw-r--r--ChangeLog.pre-2-011
-rw-r--r--ChangeLog.pre-2-1011
-rw-r--r--ChangeLog.pre-2-211
-rw-r--r--ChangeLog.pre-2-411
-rw-r--r--ChangeLog.pre-2-611
-rw-r--r--ChangeLog.pre-2-811
-rw-r--r--HACKING6
-rw-r--r--INSTALL10
-rw-r--r--INSTALL.in10
-rw-r--r--configure.in738
-rw-r--r--contrib/gdk-pixbuf-xlib/Makefile.am16
-rw-r--r--demos/Makefile.am12
-rw-r--r--demos/gtk-demo/Makefile.am12
-rw-r--r--docs/reference/gdk-pixbuf/Makefile.am13
-rw-r--r--docs/reference/gtk/Makefile.am12
-rw-r--r--gdk-2.0.pc.in6
-rw-r--r--gdk-pixbuf-2.0.pc.in4
-rw-r--r--gdk-pixbuf/Makefile.am19
-rw-r--r--gdk/Makefile.am10
-rw-r--r--gdk/linux-fb/Makefile.am9
-rw-r--r--gdk/nanox/Makefile.am11
-rw-r--r--gdk/x11/Makefile.am13
-rw-r--r--gdk/x11/gdkkeys-x11.c2
-rw-r--r--gdk/x11/gdkmain-x11.c7
-rw-r--r--gtk+-2.0.pc.in6
-rw-r--r--gtk/Makefile.am21
-rw-r--r--gtk/gtk.h1
-rw-r--r--gtk/gtkaccessible.c93
-rw-r--r--gtk/gtkaccessible.h73
-rw-r--r--gtk/gtkwidget.c88
-rw-r--r--gtk/gtkwidget.h13
-rw-r--r--modules/input/Makefile.am12
-rw-r--r--tests/Makefile.am12
34 files changed, 772 insertions, 534 deletions
diff --git a/ChangeLog b/ChangeLog
index 0a0b59d46f..28cd6d631a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+Thu May 3 14:13:49 2001 Owen Taylor <otaylor@redhat.com>
+
+ * INSTALL.in HACKING gtk/gtkaccessible.[ch] gtk/gtk.c: Add
+ dependency on Atk for accessibility support.
+
+ * configure.in **/Makefile.am: Major reworking of substituted
+ variables for CFLAGS/LIBS to make a lot more sane and
+ keep the the compile/link lines a bit shorter.
+
+ * gdk/x11/gdkkeys-x11.c: Fix #endif with trailing stuff.
+
Thu May 3 08:10:54 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtktexttag.c (gtk_text_tag_class_init): Fix return
diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0
index 0a0b59d46f..28cd6d631a 100644
--- a/ChangeLog.pre-2-0
+++ b/ChangeLog.pre-2-0
@@ -1,3 +1,14 @@
+Thu May 3 14:13:49 2001 Owen Taylor <otaylor@redhat.com>
+
+ * INSTALL.in HACKING gtk/gtkaccessible.[ch] gtk/gtk.c: Add
+ dependency on Atk for accessibility support.
+
+ * configure.in **/Makefile.am: Major reworking of substituted
+ variables for CFLAGS/LIBS to make a lot more sane and
+ keep the the compile/link lines a bit shorter.
+
+ * gdk/x11/gdkkeys-x11.c: Fix #endif with trailing stuff.
+
Thu May 3 08:10:54 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtktexttag.c (gtk_text_tag_class_init): Fix return
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index 0a0b59d46f..28cd6d631a 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -1,3 +1,14 @@
+Thu May 3 14:13:49 2001 Owen Taylor <otaylor@redhat.com>
+
+ * INSTALL.in HACKING gtk/gtkaccessible.[ch] gtk/gtk.c: Add
+ dependency on Atk for accessibility support.
+
+ * configure.in **/Makefile.am: Major reworking of substituted
+ variables for CFLAGS/LIBS to make a lot more sane and
+ keep the the compile/link lines a bit shorter.
+
+ * gdk/x11/gdkkeys-x11.c: Fix #endif with trailing stuff.
+
Thu May 3 08:10:54 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtktexttag.c (gtk_text_tag_class_init): Fix return
diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2
index 0a0b59d46f..28cd6d631a 100644
--- a/ChangeLog.pre-2-2
+++ b/ChangeLog.pre-2-2
@@ -1,3 +1,14 @@
+Thu May 3 14:13:49 2001 Owen Taylor <otaylor@redhat.com>
+
+ * INSTALL.in HACKING gtk/gtkaccessible.[ch] gtk/gtk.c: Add
+ dependency on Atk for accessibility support.
+
+ * configure.in **/Makefile.am: Major reworking of substituted
+ variables for CFLAGS/LIBS to make a lot more sane and
+ keep the the compile/link lines a bit shorter.
+
+ * gdk/x11/gdkkeys-x11.c: Fix #endif with trailing stuff.
+
Thu May 3 08:10:54 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtktexttag.c (gtk_text_tag_class_init): Fix return
diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4
index 0a0b59d46f..28cd6d631a 100644
--- a/ChangeLog.pre-2-4
+++ b/ChangeLog.pre-2-4
@@ -1,3 +1,14 @@
+Thu May 3 14:13:49 2001 Owen Taylor <otaylor@redhat.com>
+
+ * INSTALL.in HACKING gtk/gtkaccessible.[ch] gtk/gtk.c: Add
+ dependency on Atk for accessibility support.
+
+ * configure.in **/Makefile.am: Major reworking of substituted
+ variables for CFLAGS/LIBS to make a lot more sane and
+ keep the the compile/link lines a bit shorter.
+
+ * gdk/x11/gdkkeys-x11.c: Fix #endif with trailing stuff.
+
Thu May 3 08:10:54 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtktexttag.c (gtk_text_tag_class_init): Fix return
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6
index 0a0b59d46f..28cd6d631a 100644
--- a/ChangeLog.pre-2-6
+++ b/ChangeLog.pre-2-6
@@ -1,3 +1,14 @@
+Thu May 3 14:13:49 2001 Owen Taylor <otaylor@redhat.com>
+
+ * INSTALL.in HACKING gtk/gtkaccessible.[ch] gtk/gtk.c: Add
+ dependency on Atk for accessibility support.
+
+ * configure.in **/Makefile.am: Major reworking of substituted
+ variables for CFLAGS/LIBS to make a lot more sane and
+ keep the the compile/link lines a bit shorter.
+
+ * gdk/x11/gdkkeys-x11.c: Fix #endif with trailing stuff.
+
Thu May 3 08:10:54 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtktexttag.c (gtk_text_tag_class_init): Fix return
diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8
index 0a0b59d46f..28cd6d631a 100644
--- a/ChangeLog.pre-2-8
+++ b/ChangeLog.pre-2-8
@@ -1,3 +1,14 @@
+Thu May 3 14:13:49 2001 Owen Taylor <otaylor@redhat.com>
+
+ * INSTALL.in HACKING gtk/gtkaccessible.[ch] gtk/gtk.c: Add
+ dependency on Atk for accessibility support.
+
+ * configure.in **/Makefile.am: Major reworking of substituted
+ variables for CFLAGS/LIBS to make a lot more sane and
+ keep the the compile/link lines a bit shorter.
+
+ * gdk/x11/gdkkeys-x11.c: Fix #endif with trailing stuff.
+
Thu May 3 08:10:54 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtktexttag.c (gtk_text_tag_class_init): Fix return
diff --git a/HACKING b/HACKING
index 80d8ea25e4..85d4be509b 100644
--- a/HACKING
+++ b/HACKING
@@ -13,8 +13,8 @@ These should be available by ftp from ftp.gnu.org or any of the
fine GNU mirrors. Beta software can be found at alpha.gnu.org.
In order to get CVS gtk+ installed on your system, you need to have
-the most recent CVS version of glib installed as well.
-The installation process of glib is similar to that of gtk+, but
+the most recent CVS version of glib, pango, and atk installed as well.
+The installation process of these libraries is similar to that of gtk+, but
needs to be fulfilled prior to installation of gtk+.
To compile a CVS version of gtk+ on your system, you will need to take
@@ -45,6 +45,8 @@ gtk+ and glib. You can do the following to get glib and gtk+ from cvs:
$ cvs login
(there is no password, just hit return)
$ cvs -z3 checkout glib
+ $ cvs -z3 checkout pango
+ $ cvs -z3 checkout atk
$ cvs -z3 checkout gtk+
For information about submitting patches and commiting changes
diff --git a/INSTALL b/INSTALL
index 634cc143b2..4683c6acc0 100644
--- a/INSTALL
+++ b/INSTALL
@@ -3,15 +3,7 @@ Prerequisites
GTK+ requires the following packages:
- - The GLIB library, available at the same location as GTK+
-
- - The Pango library, available from:
-
- http://www.pango.org/download.shtml
-
- Pango also requires the FriBidi library, available from:
-
- http://imagic.weizmann.ac.il/~dov/freesw/FriBidi/
+ - The GLIB, Pango, and Atk libraries, available at the same location as GTK+
- The TIFF, PNG, and JPEG image loading libraries. You most
likely have these installed on your system already. If not
diff --git a/INSTALL.in b/INSTALL.in
index adba883ae1..6992b0d70a 100644
--- a/INSTALL.in
+++ b/INSTALL.in
@@ -3,15 +3,7 @@ Prerequisites
GTK+ requires the following packages:
- - The GLIB library, available at the same location as GTK+
-
- - The Pango library, available from:
-
- http://www.pango.org/download.shtml
-
- Pango also requires the FriBidi library, available from:
-
- http://imagic.weizmann.ac.il/~dov/freesw/FriBidi/
+ - The GLIB, Pango, and Atk libraries, available at the same location as GTK+
- The TIFF, PNG, and JPEG image loading libraries. You most
likely have these installed on your system already. If not
diff --git a/configure.in b/configure.in
index 15931e8896..8fe5613e5c 100644
--- a/configure.in
+++ b/configure.in
@@ -1,12 +1,15 @@
# Process this file with autoconf to produce a configure script.
AC_INIT(gdk/gdktypes.h)
-# In the following, there are a the following variants
-# of GLib cflags and libs variables
#
-# GLIB_CFLAGS: cflags for compiling libraries and example progs
-# GLIB_LIBS: libraries for linking example programs
-# GLIB_DEPLIBS: libraries for linking libraries against
+# For each of the libraries we build, we define the following
+# substituted variables:
+#
+# foo_PACKAGES: pkg-config packages this library requires
+# foo_EXTRA_LIBS: Libraries this module requires not pulled in by pkg-config
+# foo_EXTRA_CFLAGS: cflags this module requires not pulled in by pkg-config
+# foo_DEP_LIBS: All libraries this module requires
+# foo_DEP_CFLAGS: All cflags this module requires
## We could have pkg-config uniquify the ldflags and cflags by calling
@@ -256,20 +259,16 @@ AC_TRY_RUN([#include <math.h>
LIBS=$gtk_save_LIBS
MATH_LIB=-lm
-GTK_LIBS_EXTRA=
AC_MSG_CHECKING(for the BeOS)
case $host in
*-*-beos*)
AC_MSG_RESULT(yes)
- GTK_LIBS_EXTRA="-L\$(top_builddir_full)/gdk/.libs -lgdk"
MATH_LIB=
;;
*)
AC_MSG_RESULT(no)
;;
esac
-AC_SUBST(MATH_LIB)
-AC_SUBST(GTK_LIBS_EXTRA)
dnl NeXTStep cc seems to need this
AC_MSG_CHECKING([for extra flags for POSIX compliance])
@@ -296,15 +295,6 @@ AM_PATH_GLIB_2_0($GLIB_REQUIRED_VERSION, :,
*** GLIB is always available from ftp://ftp.gtk.org/.]),
gobject gmodule gthread)
-dnl Call pkg-config again since we don't want -lgthread here
-GLIB_LIBS=`$PKG_CONFIG --libs $GLIB_PACKAGES`
-GLIB_DEPLIBS=$GLIB_LIBS
-
-CFLAGS="$CFLAGS $GLIB_CFLAGS"
-AC_SUBST(GLIB_CFLAGS)
-AC_SUBST(GLIB_LIBS)
-AC_SUBST(GLIB_DEPLIBS)
-
AC_CHECK_HEADERS(dirent.h, AC_DEFINE(HAVE_DIRENT_H))
AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
@@ -313,317 +303,6 @@ AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
saved_cflags="$CFLAGS"
saved_ldflags="$LDFLAGS"
-if test "x$gdktarget" = "xx11"; then
- # Find the X11 include and library directories
- AC_PATH_X
- AC_PATH_XTRA
-
- if test "x$x_includes" = "x"; then
- x_includes="/usr/include"
- fi
-
- CFLAGS="$CFLAGS $X_CFLAGS"
- LDFLAGS="$LDFLAGS $X_LDFLAGS $X_LIBS"
-
- if test "x$no_x" = "xyes"; then
- AC_MSG_ERROR([
-*** X libraries or include files not found. Check 'config.log' for
-*** more details.])
- fi
-
- # Checks for libraries.
- # Check for the X11 library
- AC_CHECK_LIB(X11, XOpenDisplay, x_libs="-lX11 $X_EXTRA_LIBS",
- AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]),
- $X_EXTRA_LIBS)
-
- if test "x$enable_shm" = "xyes"; then
- # Check for the Xext library (needed for XShm extention)
- AC_CHECK_LIB(Xext, XShmAttach,
- x_libs="-lXext $x_libs",
- # On AIX, it is in XextSam instead, but we still need -lXext
- AC_CHECK_LIB(XextSam, XShmAttach,
- x_libs="-lXextSam -lXext $x_libs",
- no_xext_lib=yes, $x_libs),
- $x_libs)
- fi
-
- # Check for shaped window extension
-
- AC_CHECK_LIB(Xext, XShapeCombineMask,
- if test -z "`echo $x_libs | grep "\-lXext" 2> /dev/null`"; then
- x_libs="-lXext $x_libs"
- fi
- AC_DEFINE(HAVE_SHAPE_EXT),
- ,
- $x_libs)
-
- # Check for XConvertCase (X11R6 specific)
-
- AC_CHECK_LIB(X11, XConvertCase,
- AC_DEFINE(HAVE_XCONVERTCASE),
- ,
- $x_libs)
-
- #
- # Checks for FreeType
- #
- FREETYPE_LIBS=
- FREETYPE_CFLAGS=
- have_freetype=false
- AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
- if test "x$FREETYPE_CONFIG" != "xno" ; then
- FREETYPE_CFLAGS=`freetype-config --cflags`
- FREETYPE_LIBS=`freetype-config --libs`
-
- AC_CHECK_LIB(freetype, FT_New_Face, have_freetype=true
- ,:,$FREETYPE_LIBS)
- fi
- AC_SUBST(FREETYPE_CFLAGS)
-
- #
- # Checks for Xft/XRender
- #
- have_xft=false
- XFT_LIBS=""
- XFT_CFLAGS=""
- if test $have_freetype = true ; then
- AC_CHECK_LIB(Xrender, XRenderFindFormat,
- AC_CHECK_LIB(Xft, XftFontOpen, have_xft=true, :, -lXrender -lXext $X_LIBS $FREETYPE_LIBS)
- ,:,-lXext $X_LIBS)
-
- ## be sure we also have Pango built with xft support
- if ! $PKG_CONFIG --exists pangoxft ; then
- have_xft=false
- AC_MSG_WARN([X render extension found, but Pango lacks Xft support])
- fi
-
- if $have_xft = 'true' ; then
- X_LIBS="-lXft -lXrender -lXext $FREETYPE_LIBS $X_LIBS"
- AC_DEFINE(HAVE_XFT)
- fi
- fi
-
- AC_SUBST(XFT_LIBS)
- AM_CONDITIONAL(HAVE_XFT, $have_xft)
-
- # Check for XIM support.
-
- AC_CHECK_LIB(X11, XUnregisterIMInstantiateCallback,
- : ,
- enable_xim_inst="no",
- $x_libs)
-
- # On Solaris, calling XRegisterIMInstantiateCallback seems to
- # cause an immediate segfault, so we disable it, unless
- # the user specifically forces it to be on.
-
- if test x$enable_xim_inst = xmaybe ; then
- case host in
- *-*-solaris*)
- enable_xim_inst="no"
- ;;
- *)
- enable_xim_inst="yes"
- ;;
- esac
- fi
-
- if test "x$enable_xim" = "xyes"; then
- GTK_XIM_FLAGS="-DUSE_XIM"
- if test "x$enable_xim_inst" = "xyes"; then
- AC_DEFINE(USE_X11R6_XIM)
- fi
- fi
-
- # Check for XKB support.
-
- if test "x$enable_xkb" = "xyes"; then
- AC_MSG_WARN(XKB support explicitly enabled)
- AC_DEFINE(HAVE_XKB)
- elif test "x$enable_xkb" = "xmaybe"; then
- AC_CHECK_LIB(X11, XkbQueryExtension,
- AC_DEFINE(HAVE_XKB),
- ,
- $x_libs)
- else
- AC_MSG_WARN(XKB support explicitly disabled)
- fi
-
- x_cflags="$X_CFLAGS"
- x_ldflags="$X_LDFLAGS $X_LIBS"
-
- # set up things for XInput
-
- if test "x$with_xinput" = "xgxi" || test "x$with_xinput" = "xyes"; then
- AC_DEFINE(XINPUT_GXI)
- xinput_progs=gxid
- x_libs="-lXi $x_libs"
- elif test "x$with_xinput" = "xxfree"; then
- AC_DEFINE(XINPUT_XFREE)
- x_libs="-lXi $x_libs"
- else
- AC_DEFINE(XINPUT_NONE)
- fi
-
- AM_CONDITIONAL(XINPUT_GXI, test x$with_xinput = xgxi)
- AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree)
-
- if test "x$enable_shm" = "xyes"; then
- # Check for shared memory
- AC_CHECK_HEADER(sys/ipc.h, AC_DEFINE(HAVE_IPC_H), no_sys_ipc=yes)
- AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(HAVE_SHM_H), no_sys_shm=yes)
-
- # Check for the X shared memory extension header file
- AC_MSG_CHECKING(X11/extensions/XShm.h)
- if test "x$no_xext_lib" = "xyes"; then
- AC_MSG_RESULT(no)
- no_xshm=yes
- else
- if test -f "$x_includes/X11/extensions/XShm.h"; then
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_XSHM_H)
- else
- AC_MSG_RESULT(no)
- no_xshm=yes
- fi
- fi
- fi
-
- more_cflags="$x_cflags"
- more_ldflags="$x_ldflags"
- more_libs="$x_libs"
- more_includes="$x_includes"
-
- # these are already defined above
- #gdktargetlib = "libgdk-x11-1.3.la"
- #gtktargetlib = "libgtk-x11-1.3.la"
-
- AM_CONDITIONAL(USE_X11, true)
-else
- AM_CONDITIONAL(USE_X11, false)
-fi
-
-if test "x$gdktarget" = "xnanox"; then
- AC_CHECK_LIB(nano-X, GrOpen,,AC_MSG_ERROR([nano-X libraries not found.]))
- # nano-X may require additional libraries
- more_cflags=
- more_ldflags=
- more_libs="-lnano-X"
- more_includes=
-
- gdktargetlib="libgdk-nanox-1.3.la"
- gtktargetlib="libgtk-nanox-1.3.la"
-
- with_xinput=no
- AC_DEFINE(XINPUT_NONE)
- x_cflags=
- x_includes=
- x_ldflags=
- x_libs=
- xinput_progs=
- AM_CONDITIONAL(USE_NANOX, true)
-else
- AM_CONDITIONAL(USE_NANOX, false)
-fi
-
-if test "x$gdktarget" = "xlinux-fb"; then
- more_cflags=
- more_ldflags=
- more_libs=
- more_includes=
-
- gdktargetlib="libgdk-linux-fb-1.3.la"
- gtktargetlib="libgtk-linux-fb-1.3.la"
-
- with_xinput=no
- AC_DEFINE(XINPUT_NONE)
- x_cflags=
- x_includes=
- x_ldflags=
- x_libs=
- xinput_progs=
-
- AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
- if test x$FREETYPE_CONFIG = xno ; then
- AC_MSG_ERROR([*** freetype-config not found])
- fi
-
- FREETYPE_CFLAGS="`$FREETYPE_CONFIG --cflags`"
- FREETYPE_LIBS="`$FREETYPE_CONFIG --libs`"
- CFLAGS="$CFLAGS $FREETYPE_CFLAGS"
-
- if test x$enable_shadowfb = xyes ; then
- AC_DEFINE(ENABLE_SHADOW_FB)
- fi
-
- AM_CONDITIONAL(USE_LINUX_FB, true)
-else
- AM_CONDITIONAL(USE_LINUX_FB, false)
-fi
-AC_SUBST(ENABLE_SHADOW_FB)
-AC_SUBST(FREETYPE_LIBS)
-AC_SUBST(FREETYPE_CFLAGS)
-
-#
-# Pick correct Pango packages to use
-#
-
-if test "x$gdktarget" = "xx11"; then
- if $have_xft = true ; then
- PANGO_PACKAGES="pangox pangoxft"
- else
- PANGO_PACKAGES=pangox
- fi
-elif test "x$gdktarget" = "xlinux-fb"; then
- PANGO_PACKAGES=pangoft2
-else
- PANGO_PACKAGES=pango
-fi
-
-AC_SUBST(PANGO_PACKAGES)
-
-# Check for Pango flags
-
-AC_MSG_CHECKING(Pango flags)
-if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
- PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
- PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES`
-
- AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
-else
- AC_MSG_ERROR([
-*** Pango not found. Pango is required to build GTK+.
-*** See http://www.pango.org for Pango information.
-*** For the framebuffer target, you will need to build
-*** Pango with freetype support.
-])
-fi
-
-CFLAGS="$CFLAGS $PANGO_CFLAGS"
-AC_SUBST(PANGO_LIBS)
-AC_SUBST(PANGO_CFLAGS)
-
-AC_CHECK_LIB(pango, pango_context_new, :, AC_MSG_ERROR([
-*** Can't link to Pango. Pango is required to build
-*** GTK+. For more information see http://www.pango.org]), $PANGO_LIBS $x_ldflags $x_libs)
-
-CFLAGS="$saved_cflags"
-LDFLAGS="$saved_ldflags"
-
-AC_SUBST(x_cflags)
-AC_SUBST(x_includes)
-AC_SUBST(x_ldflags)
-AC_SUBST(x_libs)
-AC_SUBST(xinput_progs)
-
-AC_SUBST(more_cflags)
-AC_SUBST(more_includes)
-AC_SUBST(more_ldflags)
-AC_SUBST(more_libs)
-AC_SUBST(gdktargetlib)
-AC_SUBST(gtktargetlib)
-
# Checks for header files.
AC_HEADER_STDC
@@ -702,9 +381,7 @@ fi
AC_MSG_RESULT($gdk_working_wctype)
AC_SUBST(GDK_WLIBS)
-AC_SUBST(GTK_DEBUG_FLAGS)
-AC_SUBST(GTK_XIM_FLAGS)
-AC_SUBST(GTK_LOCALE_FLAGS)
+
##################################################
# Checks for gdk-pixbuf
@@ -835,8 +512,6 @@ dnl Test for libpng
fi
fi
-deps="$LIBTIFF $LIBJPEG $LIBPNG"
-
AC_SUBST(LIBTIFF)
AC_SUBST(LIBJPEG)
AC_SUBST(LIBPNG)
@@ -866,7 +541,9 @@ INCLUDED_LOADER_DEFINE=
IFS="${IFS= }"; gtk_save_ifs="$IFS"; IFS=","
for loader in $included_loaders; do
- if ! echo "$all_loaders" | grep "\(^\|\,\)$loader\(\$\|\,\)" > /dev/null; then
+ if echo "$all_loaders" | grep "\(^\|\,\)$loader\(\$\|\,\)" > /dev/null; then
+ :
+ else
AC_MSG_ERROR([the specified loader $loader does not exist])
fi
@@ -877,7 +554,6 @@ IFS="$gtk_save_ifs"
AC_SUBST(INCLUDED_LOADER_OBJ)
AC_SUBST(INCLUDED_LOADER_DEFINE)
-AC_HEADER_STDC
AC_HEADER_DIRENT
AC_HEADER_SYS_WAIT
@@ -887,23 +563,20 @@ AM_CONDITIONAL(HAVE_TIFF, test "x$LIBTIFF" != x)
AM_CONDITIONAL(HAVE_PNG, test "x$LIBPNG" != x)
AM_CONDITIONAL(HAVE_JPEG, test "x$LIBJPEG" != x)
-GDK_PIXBUF_LIBDIR='-L${libdir}'
-GDK_PIXBUF_INCLUDEDIR="-I${includedir} $GTK_CFLAGS"
-GDK_PIXBUF_LIBS="$GLIB_LIBS -lgdk_pixbuf $deps $GTK_LIBS"
-AC_SUBST(STATIC_LIB_DEPS)
-STATIC_LIB_DEPS="$deps"
-
-AC_SUBST(GDK_PIXBUF_LIBDIR)
-AC_SUBST(GDK_PIXBUF_INCLUDEDIR)
-AC_SUBST(GDK_PIXBUF_LIBS)
-
-GDK_PIXBUF_XLIB_LIBDIR=$GDK_PIXBUF_LIBDIR
-GDK_PIXBUF_XLIB_INCLUDEDIR=$GDK_PIXBUF_INCLUDEDIR
-GDK_PIXBUF_XLIB_LIBS="$GLIB_LIBS -lgdk_pixbuf_xlib $deps $X11_LIBS"
-
-AC_SUBST(GDK_PIXBUF_XLIB_LIBDIR)
-AC_SUBST(GDK_PIXBUF_XLIB_INCLUDEDIR)
-AC_SUBST(GDK_PIXBUF_XLIB_LIBS)
+if test $dynworks = no ; then
+ STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG"
+else
+ STATIC_LIB_DEPS=
+ if echo "$included_loaders" | grep "\(^\|\,\)tiff\(\$\|\,\)" > /dev/null; then
+ STATIC_LIB_DEPS="STATIC_LIB_DEPS $LIBTIFF"
+ fi
+ if echo "$included_loaders" | grep "\(^\|\,\)jpeg\(\$\|\,\)" > /dev/null; then
+ STATIC_LIB_DEPS="STATIC_LIB_DEPS $LIBJPEG"
+ fi
+ if echo "$included_loaders" | grep "\(^\|\,\)png\(\$\|\,\)" > /dev/null; then
+ STATIC_LIB_DEPS="STATIC_LIB_DEPS $LIBPNG"
+ fi
+fi
# Checks to see if we should compile in MMX support (there will be
# a runtime test when the code is actually run to see if it should
@@ -946,6 +619,359 @@ fi
AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes)
+GDK_PIXBUF_PACKAGES=gmodule-2.0
+GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB"
+GDK_PIXBUF_EXTRA_CFLAGS=
+GDK_PIXBUF_DEP_LIBS="`pkg-config --libs $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
+GDK_PIXBUF_DEP_CFLAGS="`pkg-config --cflags $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
+
+AC_SUBST(GDK_PIXBUF_PACKAGES)
+AC_SUBST(GDK_PIXBUF_EXTRA_LIBS)
+AC_SUBST(GDK_PIXBUF_EXTRA_CFLAGS)
+AC_SUBST(GDK_PIXBUF_DEP_LIBS)
+AC_SUBST(GDK_PIXBUF_DEP_CFLAGS)
+
+
+########################################
+# Windowing system checks
+########################################
+
+GDK_EXTRA_LIBS=$GDK_WLIBS
+GDK_EXTRA_CFLAGS=
+
+if test "x$gdktarget" = "xx11"; then
+ # Find the X11 include and library directories
+ AC_PATH_X
+ AC_PATH_XTRA
+
+ if test "x$x_includes" = "x"; then
+ x_includes="/usr/include"
+ fi
+
+ CFLAGS="$CFLAGS $X_CFLAGS"
+ LDFLAGS="$LDFLAGS $X_LDFLAGS $X_LIBS"
+
+ if test "x$no_x" = "xyes"; then
+ AC_MSG_ERROR([
+*** X libraries or include files not found. Check 'config.log' for
+*** more details.])
+ fi
+
+ # Checks for libraries.
+ # Check for the X11 library
+ AC_CHECK_LIB(X11, XOpenDisplay, x_libs="-lX11 $X_EXTRA_LIBS",
+ AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]),
+ $X_EXTRA_LIBS)
+
+ if test "x$enable_shm" = "xyes"; then
+ # Check for the Xext library (needed for XShm extention)
+ AC_CHECK_LIB(Xext, XShmAttach,
+ x_libs="-lXext $x_libs",
+ # On AIX, it is in XextSam instead, but we still need -lXext
+ AC_CHECK_LIB(XextSam, XShmAttach,
+ x_libs="-lXextSam -lXext $x_libs",
+ no_xext_lib=yes, $x_libs),
+ $x_libs)
+ fi
+
+ GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
+ GDK_PIXBUF_XLIB_EXTRA_LIBS="$x_ldflags $x_libs"
+
+ # Check for shaped window extension
+
+ AC_CHECK_LIB(Xext, XShapeCombineMask,
+ if test -z "`echo $x_libs | grep "\-lXext" 2> /dev/null`"; then
+ x_libs="-lXext $x_libs"
+ fi
+ AC_DEFINE(HAVE_SHAPE_EXT),
+ ,
+ $x_libs)
+
+ # Check for XConvertCase (X11R6 specific)
+
+ AC_CHECK_LIB(X11, XConvertCase,
+ AC_DEFINE(HAVE_XCONVERTCASE),
+ ,
+ $x_libs)
+
+ #
+ # Checks for FreeType
+ #
+ FREETYPE_LIBS=
+ FREETYPE_CFLAGS=
+ have_freetype=false
+ AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
+ if test "x$FREETYPE_CONFIG" != "xno" ; then
+ FREETYPE_CFLAGS=`freetype-config --cflags`
+ FREETYPE_LIBS=`freetype-config --libs`
+
+ AC_CHECK_LIB(freetype, FT_New_Face, have_freetype=true
+ ,:,$FREETYPE_LIBS)
+ fi
+
+ #
+ # Checks for Xft/XRender
+ #
+ have_xft=false
+ if test $have_freetype = true ; then
+ AC_CHECK_LIB(Xrender, XRenderFindFormat,
+ AC_CHECK_LIB(Xft, XftFontOpen, have_xft=true, :, -lXrender -lXext $X_LIBS $FREETYPE_LIBS)
+ ,:,-lXext $X_LIBS)
+
+ ## be sure we also have Pango built with xft support
+ if ! $PKG_CONFIG --exists pangoxft ; then
+ have_xft=false
+ AC_MSG_WARN([X render extension found, but Pango lacks Xft support])
+ fi
+
+ if $have_xft = 'true' ; then
+ X_LIBS="-lXft -lXrender -lXext $FREETYPE_LIBS $X_LIBS"
+ AC_DEFINE(HAVE_XFT)
+ fi
+ fi
+
+ AM_CONDITIONAL(HAVE_XFT, $have_xft)
+
+ # Check for XIM support.
+
+ AC_CHECK_LIB(X11, XUnregisterIMInstantiateCallback,
+ : ,
+ enable_xim_inst="no",
+ $x_libs)
+
+ # On Solaris, calling XRegisterIMInstantiateCallback seems to
+ # cause an immediate segfault, so we disable it, unless
+ # the user specifically forces it to be on.
+
+ if test x$enable_xim_inst = xmaybe ; then
+ case host in
+ *-*-solaris*)
+ enable_xim_inst="no"
+ ;;
+ *)
+ enable_xim_inst="yes"
+ ;;
+ esac
+ fi
+
+ if test "x$enable_xim" = "xyes"; then
+ GTK_XIM_FLAGS="-DUSE_XIM"
+ if test "x$enable_xim_inst" = "xyes"; then
+ AC_DEFINE(USE_X11R6_XIM)
+ fi
+ fi
+
+ # Check for XKB support.
+
+ if test "x$enable_xkb" = "xyes"; then
+ AC_MSG_WARN(XKB support explicitly enabled)
+ AC_DEFINE(HAVE_XKB)
+ elif test "x$enable_xkb" = "xmaybe"; then
+ AC_CHECK_LIB(X11, XkbQueryExtension,
+ AC_DEFINE(HAVE_XKB),
+ ,
+ $x_libs)
+ else
+ AC_MSG_WARN(XKB support explicitly disabled)
+ fi
+
+ x_cflags="$X_CFLAGS"
+ x_ldflags="$X_LDFLAGS"
+
+ # set up things for XInput
+
+ if test "x$with_xinput" = "xgxi" || test "x$with_xinput" = "xyes"; then
+ AC_DEFINE(XINPUT_GXI)
+ xinput_progs=gxid
+ x_libs="-lXi $x_libs"
+ elif test "x$with_xinput" = "xxfree"; then
+ AC_DEFINE(XINPUT_XFREE)
+ x_libs="-lXi $x_libs"
+ else
+ AC_DEFINE(XINPUT_NONE)
+ fi
+
+ AM_CONDITIONAL(XINPUT_GXI, test x$with_xinput = xgxi)
+ AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree)
+
+ if test "x$enable_shm" = "xyes"; then
+ # Check for shared memory
+ AC_CHECK_HEADER(sys/ipc.h, AC_DEFINE(HAVE_IPC_H), no_sys_ipc=yes)
+ AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(HAVE_SHM_H), no_sys_shm=yes)
+
+ # Check for the X shared memory extension header file
+ AC_MSG_CHECKING(X11/extensions/XShm.h)
+ if test "x$no_xext_lib" = "xyes"; then
+ AC_MSG_RESULT(no)
+ no_xshm=yes
+ else
+ if test -f "$x_includes/X11/extensions/XShm.h"; then
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_XSHM_H)
+ else
+ AC_MSG_RESULT(no)
+ no_xshm=yes
+ fi
+ fi
+ fi
+
+ GDK_EXTRA_CFLAGS="$GDK_EXTRA_CFLAGS $x_cflags"
+ GDK_EXTRA_LIBS="$x_ldflags $x_libs $GDK_EXTRA_LIBS"
+
+ # these are already defined above
+ #gdktargetlib = "libgdk-x11-1.3.la"
+ #gtktargetlib = "libgtk-x11-1.3.la"
+
+ AM_CONDITIONAL(USE_X11, true)
+else
+ AM_CONDITIONAL(USE_X11, 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 $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_PIXBUF_XLIB_EXTRA_CFLAGS"
+
+AC_SUBST(GDK_PIXBUF_XLIB_PACKAGES)
+AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_LIBS)
+AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_CFLAGS)
+AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
+AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
+
+if test "x$gdktarget" = "xnanox"; then
+ AC_CHECK_LIB(nano-X, GrOpen,,AC_MSG_ERROR([nano-X libraries not found.]))
+ # nano-X may require additional libraries
+ GDK_EXTRA_LIBS="-lnano-X $GDK_EXTRA_LIBS"
+
+ gdktargetlib="libgdk-nanox-1.3.la"
+ gtktargetlib="libgtk-nanox-1.3.la"
+
+ AM_CONDITIONAL(USE_NANOX, true)
+else
+ AM_CONDITIONAL(USE_NANOX, false)
+fi
+
+if test "x$gdktarget" = "xlinux-fb"; then
+ gdktargetlib="libgdk-linux-fb-1.3.la"
+ gtktargetlib="libgtk-linux-fb-1.3.la"
+
+ AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
+ if test x$FREETYPE_CONFIG = xno ; then
+ AC_MSG_ERROR([*** freetype-config not found])
+ fi
+
+ FREETYPE_CFLAGS="`$FREETYPE_CONFIG --cflags`"
+ FREETYPE_LIBS="`$FREETYPE_CONFIG --libs`"
+ CFLAGS="$CFLAGS $FREETYPE_CFLAGS"
+
+ if test x$enable_shadowfb = xyes ; then
+ AC_DEFINE(ENABLE_SHADOW_FB)
+ fi
+
+ GDK_EXTRA_CFLAGS="$FREETYPE_CFLAGS"
+ GDK_EXTRA_LIBS="$FREETYPE_LIBS $GDK_EXTRA_LIBS"
+
+ AM_CONDITIONAL(USE_LINUX_FB, true)
+else
+ AM_CONDITIONAL(USE_LINUX_FB, false)
+fi
+
+AC_SUBST(gdktargetlib)
+AC_SUBST(gtktargetlib)
+
+#
+# Pick correct Pango packages to use
+#
+
+if test "x$gdktarget" = "xx11"; then
+ if $have_xft = true ; then
+ PANGO_PACKAGES="pangox pangoxft"
+ else
+ PANGO_PACKAGES=pangox
+ fi
+elif test "x$gdktarget" = "xlinux-fb"; then
+ PANGO_PACKAGES=pangoft2
+else
+ PANGO_PACKAGES=pango
+fi
+
+# Check for Pango flags
+
+AC_MSG_CHECKING(Pango flags)
+if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
+ PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
+ PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES`
+
+ AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
+else
+ AC_MSG_ERROR([
+*** Pango not found. Pango is required to build GTK+.
+*** See http://www.pango.org for Pango information.
+*** For the framebuffer target, you will need to build
+*** Pango with freetype support.
+])
+fi
+
+CFLAGS="$CFLAGS $PANGO_CFLAGS"
+
+AC_CHECK_LIB(pango, pango_context_new, :, AC_MSG_ERROR([
+*** Can't link to Pango. Pango is required to build
+*** GTK+. For more information see http://www.pango.org]), $PANGO_LIBS $x_ldflags $x_libs)
+
+CFLAGS="$saved_cflags"
+LDFLAGS="$saved_ldflags"
+
+GDK_PACKAGES=$PANGO_PACKAGES
+GDK_DEP_LIBS="`pkg-config --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
+GDK_DEP_CFLAGS="`pkg-config --cflags $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
+
+AC_SUBST(GDK_PACKAGES)
+AC_SUBST(GDK_EXTRA_LIBS)
+AC_SUBST(GDK_EXTRA_CFLAGS)
+AC_SUBST(GDK_DEP_LIBS)
+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
+
+AC_CHECK_LIB(atk, atk_object_get_type, : , AC_MSG_ERROR([
+*** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
+*** to build GTK+]), $ATK_LIBS $GLIB_LIBS)
+
+
+GTK_PACKAGES=atk
+GTK_EXTRA_LIBS=
+GTK_EXTRA_CFLAGS=
+GTK_DEP_LIBS="`pkg-config --libs $GTK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
+GTK_DEP_CFLAGS="`pkg-config --cflags $GTK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS $GTK_EXTRA_CFLAGS"
+
+AC_SUBST(GTK_PACKAGES)
+AC_SUBST(GTK_EXTRA_LIBS)
+AC_SUBST(GTK_EXTRA_CFLAGS)
+AC_SUBST(GTK_DEP_LIBS)
+AC_SUBST(GTK_DEP_CFLAGS)
+
+
+AC_SUBST(GTK_DEBUG_FLAGS)
+AC_SUBST(GTK_XIM_FLAGS)
+
##################################################
# Checks for gtk-doc and docbook-tools
##################################################
@@ -977,9 +1003,6 @@ EOF
fi
fi
-AM_CONDITIONAL(HAVE_GTK_DOC, $GTKDOC)
-AC_SUBST(HAVE_GTK_DOC)
-
AC_CHECK_PROG(DB2HTML, db2html, true, false)
AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
@@ -998,9 +1021,6 @@ dnl NOTE: We need to use a separate automake conditional for this
dnl to make this work with the tarballs.
AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes)
-GDK_PIXBUF_DIR=`(cd $srcdir; pwd)`
-AC_SUBST(GDK_PIXBUF_DIR)
-
##################################################
# Output commands
diff --git a/contrib/gdk-pixbuf-xlib/Makefile.am b/contrib/gdk-pixbuf-xlib/Makefile.am
index 3f8f74ec0c..e55035505f 100644
--- a/contrib/gdk-pixbuf-xlib/Makefile.am
+++ b/contrib/gdk-pixbuf-xlib/Makefile.am
@@ -1,16 +1,14 @@
-
lib_LTLIBRARIES=libgdk_pixbuf_xlib-1.3.la
-INCLUDES = -I$(top_srcdir) -I$(top_builddir) \
+INCLUDES = @STRIP_BEGIN@ \
+ -I$(top_srcdir) -I$(top_builddir) \
-I$(top_srcdir)/gdk-pixbuf \
-I$(top_srcdir)/contrib \
- $(GLIB_CFLAGS) \
- @x_cflags@
-LDADDS = @STRIP_BEGIN@ \
- @x_ldflags@ \
- @x_libs@ \
- @GLIB_LIBS@ \
- -lm \
+ @GDK_PIXBUF_XLIB_DEP_CFLAGS@ \
+@STRIP_END@
+
+LDADDS = @STRIP_BEGIN@ \
+ @GDK_PIXBUF_XLIB_DEP_LIBS@ \
@STRIP_END@
libgdk_pixbuf_xlib_1_3_la_LDFLAGS = \
diff --git a/demos/Makefile.am b/demos/Makefile.am
index d86c8a1cc6..25eba72653 100644
--- a/demos/Makefile.am
+++ b/demos/Makefile.am
@@ -8,10 +8,7 @@ INCLUDES = @STRIP_BEGIN@ \
-DGTK_DISABLE_COMPAT_H \
-DGTK_DISABLE_DEPRECATED \
@GTK_DEBUG_FLAGS@ \
- @GTK_XIM_FLAGS@ \
- @PANGO_CFLAGS@ \
- @GLIB_CFLAGS@ \
- @more_cflags@ \
+ @GTK_DEP_CFLAGS@ \
@STRIP_END@
DEPS = \
@@ -23,13 +20,6 @@ LDADDS = @STRIP_BEGIN@ \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-1.3.la \
$(top_builddir)/gdk/@gdktargetlib@ \
$(top_builddir)/gtk/@gtktargetlib@ \
- @more_ldflags@ \
- @more_libs@ \
- @GDK_WLIBS@ \
- @PANGO_LIBS@ \
- @GLIB_LIBS@ \
- @GTK_LIBS_EXTRA@ \
- -lm \
@STRIP_END@
noinst_PROGRAMS = \
diff --git a/demos/gtk-demo/Makefile.am b/demos/gtk-demo/Makefile.am
index 50e2c3d9f3..0154a1ef56 100644
--- a/demos/gtk-demo/Makefile.am
+++ b/demos/gtk-demo/Makefile.am
@@ -26,10 +26,7 @@ INCLUDES = @STRIP_BEGIN@ \
-DGTK_DISABLE_COMPAT_H \
-DGTK_DISABLE_DEPRECATED \
@GTK_DEBUG_FLAGS@ \
- @GTK_XIM_FLAGS@ \
- @PANGO_CFLAGS@ \
- @GLIB_CFLAGS@ \
- @more_cflags@ \
+ @GTK_DEP_CFLAGS@ \
@STRIP_END@
DEPS = \
@@ -41,13 +38,6 @@ LDADDS = @STRIP_BEGIN@ \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-1.3.la \
$(top_builddir)/gdk/@gdktargetlib@ \
$(top_builddir)/gtk/@gtktargetlib@ \
- @more_ldflags@ \
- @more_libs@ \
- @GDK_WLIBS@ \
- @PANGO_LIBS@ \
- @GLIB_LIBS@ \
- @GTK_LIBS_EXTRA@ \
- -lm \
@STRIP_END@
bin_PROGRAMS = gtk-demo
diff --git a/docs/reference/gdk-pixbuf/Makefile.am b/docs/reference/gdk-pixbuf/Makefile.am
index 0623527c9c..ef63e95655 100644
--- a/docs/reference/gdk-pixbuf/Makefile.am
+++ b/docs/reference/gdk-pixbuf/Makefile.am
@@ -54,23 +54,14 @@ GTKDOC_CFLAGS = @STRIP_BEGIN@ \
-I$(top_builddir)/gdk \
-DGTK_DISABLE_COMPAT_H \
@GTK_DEBUG_FLAGS@ \
- @GTK_XIM_FLAGS@ \
- @PANGO_CFLAGS@ \
- @GLIB_CFLAGS@ \
- @more_cflags@ \
+ @GTK_DEP_CFLAGS@ \
@STRIP_END@
GTKDOC_LIBS = @STRIP_BEGIN@ \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-1.3.la \
$(top_builddir)/gdk/@gdktargetlib@ \
$(top_builddir)/gtk/@gtktargetlib@ \
- @more_ldflags@ \
- @more_libs@ \
- @GDK_WLIBS@ \
- @PANGO_LIBS@ \
- @GLIB_LIBS@ \
- @GTK_LIBS_EXTRA@ \
- -lm \
+ @GTK_DEP_LIBS@ \
@STRIP_END@
GTKDOC_CC=$(LIBTOOL) --mode=compile $(CC)
diff --git a/docs/reference/gtk/Makefile.am b/docs/reference/gtk/Makefile.am
index 8d479fb0e1..47470743a8 100644
--- a/docs/reference/gtk/Makefile.am
+++ b/docs/reference/gtk/Makefile.am
@@ -70,23 +70,13 @@ GTKDOC_CFLAGS = @STRIP_BEGIN@ \
-I$(top_builddir)/gdk \
-DGTK_ENABLE_BROKEN \
@GTK_DEBUG_FLAGS@ \
- @GTK_XIM_FLAGS@ \
- @PANGO_CFLAGS@ \
- @GLIB_CFLAGS@ \
- @more_cflags@ \
+ @GTK_DEP_CFLAGS@ \
@STRIP_END@
GTKDOC_LIBS = @STRIP_BEGIN@ \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-1.3.la \
$(top_builddir)/gdk/@gdktargetlib@ \
$(top_builddir)/gtk/@gtktargetlib@ \
- @more_ldflags@ \
- @more_libs@ \
- @GDK_WLIBS@ \
- @PANGO_LIBS@ \
- @GLIB_LIBS@ \
- @GTK_LIBS_EXTRA@ \
- -lm \
@STRIP_END@
GTKDOC_CC=$(LIBTOOL) --mode=compile $(CC)
diff --git a/gdk-2.0.pc.in b/gdk-2.0.pc.in
index b69c3e29b2..54048b6420 100644
--- a/gdk-2.0.pc.in
+++ b/gdk-2.0.pc.in
@@ -7,6 +7,6 @@ target=@gdktarget@
Name: GDK
Description: GIMP Drawing Kit (${target} target)
Version: @VERSION@
-Requires: gdk-pixbuf-2.0 @PANGO_PACKAGES@
-Libs: -L${libdir} @more_ldflags@ -lgdk-${target}-1.3 @more_libs@ @GDK_WLIBS@
-Cflags: -I${includedir}/gtk-2.0 -I${libdir}/gtk-2.0/include @more_cflags@
+Requires: gdk-pixbuf-2.0 @GDK_PACKAGES@
+Libs: -L${libdir} -lgdk-${target}-1.3 @GDK_EXTRA_LIBS@
+Cflags: -I${includedir}/gtk-2.0 -I${libdir}/gtk-2.0/include @GDK_EXTRA_CFLAGS@
diff --git a/gdk-pixbuf-2.0.pc.in b/gdk-pixbuf-2.0.pc.in
index 36480dc1a9..f4c0fb5b97 100644
--- a/gdk-pixbuf-2.0.pc.in
+++ b/gdk-pixbuf-2.0.pc.in
@@ -7,6 +7,6 @@ Name: GdkPixbuf
Description: Image loading and scaling
Version: @VERSION@
Requires: gobject-2.0,gmodule-2.0
-Libs: -L${libdir} -lgdk_pixbuf-1.3 @INTLLIBS@ @MATH_LIB@
-Cflags: -I${includedir}/gtk-2.0
+Libs: -L${libdir} -lgdk_pixbuf-1.3 @GDK_PIXBUF_EXTRA_LIBS@
+Cflags: -I${includedir}/gtk-2.0 @GDK_PIXBUF_EXTRA_CFLAGS@
diff --git a/gdk-pixbuf/Makefile.am b/gdk-pixbuf/Makefile.am
index 21a222c348..c8ba6e0883 100644
--- a/gdk-pixbuf/Makefile.am
+++ b/gdk-pixbuf/Makefile.am
@@ -154,22 +154,21 @@ noinst_LTLIBRARIES = \
builtin_objs = @INCLUDED_LOADER_OBJ@
-static_libs = $(STATIC_LIB_DEPS)
-
endif
noinst_PROGRAMS = test-gdk-pixbuf
TESTS = test-gdk-pixbuf
DEPS = libgdk_pixbuf-1.3.la
-INCLUDES = -I$(top_srcdir) -I$(top_builddir) \
- -I$(top_srcdir)/gdk-pixbuf \
- -I$(top_builddir)/gdk-pixbuf \
- @INCLUDED_LOADER_DEFINE@ \
- @GLIB_CFLAGS@
+INCLUDES = -I$(top_srcdir) -I$(top_builddir) \
+ -I$(top_srcdir)/gdk-pixbuf \
+ -I$(top_builddir)/gdk-pixbuf \
+ @INCLUDED_LOADER_DEFINE@ \
+ @GTK_DEBUG_FLAGS@ \
+ @GDK_PIXBUF_DEP_CFLAGS@
AM_CPPFLAGS = "-DPIXBUF_LIBDIR=\"$(loaderdir)\""
-LDADDS = libgdk_pixbuf-1.3.la $(GLIB_LIBS) $(STATIC_LIB_DEPS) $(MATH_LIB)
+LDADDS = libgdk_pixbuf-1.3.la
test_gdk_pixbuf_LDADD = $(LDADDS)
@@ -179,8 +178,6 @@ make_inline_pixbuf_SOURCES=make-inline-pixbuf.c
make_inline_pixbuf_LDADD = $(LDADDS)
-GDK_PIXBUF_LIBS = $(GLIB_LIBS) $(INTLLIBS)
-
#
# The GdkPixBuf library
#
@@ -205,7 +202,7 @@ libgdk_pixbuf_1_3_la_LDFLAGS = \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
@LIBTOOL_EXPORT_OPTIONS@ \
$(GLIB_LIBS)
-libgdk_pixbuf_1_3_la_LIBADD = pixops/libpixops.la $(builtin_objs) $(static_libs)
+libgdk_pixbuf_1_3_la_LIBADD = pixops/libpixops.la $(builtin_objs) $(GDK_PIXBUF_DEP_LIBS)
libgdk_pixbuf_1_3_la_DEPENDENCIES = $(builtin_objs)
libgdk_pixbufinclude_HEADERS = \
diff --git a/gdk/Makefile.am b/gdk/Makefile.am
index 0c18890e50..6ca672b078 100644
--- a/gdk/Makefile.am
+++ b/gdk/Makefile.am
@@ -17,10 +17,7 @@ common_includes = @STRIP_BEGIN@ \
-I$(top_builddir)/gdk \
-I$(top_srcdir)/gdk-pixbuf \
@GTK_DEBUG_FLAGS@ \
- @GTK_XIM_FLAGS@ \
- @PANGO_CFLAGS@ \
- @GLIB_CFLAGS@ \
- @more_cflags@ \
+ @GDK_DEP_CFLAGS@ \
@STRIP_END@
INCLUDES = $(common_includes)
@@ -34,10 +31,7 @@ LDFLAGS = @STRIP_BEGIN@ \
-export-dynamic \
-rpath @prefix@/lib \
@LIBTOOL_EXPORT_OPTIONS@ \
- @PANGO_LIBS@ \
- @GLIB_DEPLIBS@ \
- @more_ldflags@ \
- @more_libs@ \
+ @GDK_DEP_LIBS@ \
-lm \
@STRIP_END@
diff --git a/gdk/linux-fb/Makefile.am b/gdk/linux-fb/Makefile.am
index f8cd8ba798..795f15d9a9 100644
--- a/gdk/linux-fb/Makefile.am
+++ b/gdk/linux-fb/Makefile.am
@@ -9,17 +9,12 @@ INCLUDES = @STRIP_BEGIN@ \
-I$(top_srcdir) \
-I$(top_srcdir)/gdk \
-I$(top_builddir)/gdk \
- @FREETYPE_CFLAGS@ \
+ @GDK_DEP_CFLAGS@ \
@GTK_DEBUG_FLAGS@ \
- @GTK_XIM_FLAGS@ \
- @GLIB_CFLAGS@ \
- @PANGO_CFLAGS@ \
@STRIP_END@
LDFLAGS = @STRIP_BEGIN@ \
- @GLIB_LIBS@ \
- @PANGO_LIBS@ \
- @FREETYPE_LIBS@ \
+ @GDK_DEP_LIBS@ \
-lm \
@STRIP_END@
diff --git a/gdk/nanox/Makefile.am b/gdk/nanox/Makefile.am
index 043ac89a9e..d906549139 100644
--- a/gdk/nanox/Makefile.am
+++ b/gdk/nanox/Makefile.am
@@ -5,16 +5,11 @@ INCLUDES = @STRIP_BEGIN@ \
-I$(top_srcdir) \
-I$(top_srcdir)/gdk \
@GTK_DEBUG_FLAGS@ \
- @GTK_XIM_FLAGS@ \
- @GLIB_CFLAGS@ \
- @more_cflags@ \
+ @GDK_DEP_CFLAGS@ \
@STRIP_END@
-LDADDS = @STRIP_BEGIN@ \
- @more_ldflags@ \
- @more_libs@ \
- @GLIB_LIBS@ \
- -lm \
+LDADDS = @STRIP_BEGIN@ \
+ @GDK_DEP_LIBS@ \
@STRIP_END@
noinst_LTLIBRARIES = libgdk-nanox.la
diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am
index 79a2ce2ac4..703ebee435 100644
--- a/gdk/x11/Makefile.am
+++ b/gdk/x11/Makefile.am
@@ -9,18 +9,11 @@ INCLUDES = @STRIP_BEGIN@ \
-I$(top_srcdir)/gdk \
-I$(top_builddir)/gdk \
@GTK_DEBUG_FLAGS@ \
- @GTK_XIM_FLAGS@ \
- @PANGO_CFLAGS@ \
- @GLIB_CFLAGS@ \
- @FREETYPE_CFLAGS@ \
- @x_cflags@ \
+ @GDK_DEP_CFLAGS@ \
@STRIP_END@
-LDADDS = @STRIP_BEGIN@ \
- @x_ldflags@ \
- @x_libs@ \
- @GLIB_LIBS@ \
- -lm \
+LDADDS = @STRIP_BEGIN@ \
+ @GDK_DEP_LIBS@ \
@STRIP_END@
noinst_LTLIBRARIES = libgdk-x11.la
diff --git a/gdk/x11/gdkkeys-x11.c b/gdk/x11/gdkkeys-x11.c
index 8d8876a1ad..f5a163a767 100644
--- a/gdk/x11/gdkkeys-x11.c
+++ b/gdk/x11/gdkkeys-x11.c
@@ -785,4 +785,4 @@ gdk_keyval_convert_case (guint symbol,
if (upper)
*upper = xupper;
}
-#endif HAVE_XCONVERTCASE
+#endif /* HAVE_XCONVERTCASE */
diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c
index c6321e1b86..1773f761cc 100644
--- a/gdk/x11/gdkmain-x11.c
+++ b/gdk/x11/gdkmain-x11.c
@@ -34,16 +34,9 @@
#include <limits.h>
#include <errno.h>
-#ifdef HAVE_SYS_SELECT_H
-#include <sys/select.h>
-#endif /* HAVE_SYS_SELECT_H_ */
-
-#define XLIB_ILLEGAL_ACCESS
#include <X11/Xatom.h>
#include <X11/Xlib.h>
-#include <X11/Xos.h>
#include <X11/Xutil.h>
-#include <X11/cursorfont.h>
#ifdef HAVE_XKB
#include <X11/XKBlib.h>
diff --git a/gtk+-2.0.pc.in b/gtk+-2.0.pc.in
index baab69a33a..4c6c1bcb0c 100644
--- a/gtk+-2.0.pc.in
+++ b/gtk+-2.0.pc.in
@@ -7,6 +7,6 @@ target=@gdktarget@
Name: GTK+
Description: GIMP Tool Kit (${target} target)
Version: @VERSION@
-Requires: gdk-${target}-2.0
-Libs: -L${libdir} -lgtk-${target}-1.3
-Cflags: -I${includedir}/gtk-2.0
+Requires: gdk-${target}-2.0 @GTK_PACKAGES@
+Libs: -L${libdir} -lgtk-${target}-1.3 @GTK_EXTRA_LIBS@
+Cflags: -I${includedir}/gtk-2.0 @GTK_EXTRA_CFLAGS@
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index 1822458844..2f3c3e40c9 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -16,11 +16,7 @@ INCLUDES = @STRIP_BEGIN@ \
-I$(top_srcdir) -I../gdk \
-I$(top_srcdir)/gdk \
-I$(top_srcdir)/gdk-pixbuf -I../gdk-pixbuf \
- @GTK_DEBUG_FLAGS@ \
- @GTK_XIM_FLAGS@ \
- @PANGO_CFLAGS@ \
- @GLIB_CFLAGS@ \
- @more_cflags@ \
+ @GTK_DEP_CFLAGS@ \
@STRIP_END@
gtarget=@gdktarget@
@@ -34,11 +30,7 @@ LDFLAGS = @STRIP_BEGIN@ \
-export-dynamic \
-rpath @prefix@/lib \
@LIBTOOL_EXPORT_OPTIONS@ \
- @PANGO_LIBS@ \
- @GLIB_DEPLIBS@ \
- @more_ldflags@ \
- @more_libs@ \
- -lm \
+ @GTK_DEP_LIBS@ \
@STRIP_END@
#
@@ -51,6 +43,7 @@ gtk_public_h_sources = @STRIP_BEGIN@ \
gtk.h \
gtkaccelgroup.h \
gtkaccellabel.h \
+ gtkaccessible.h \
gtkadjustment.h \
gtkalignment.h \
gtkarg.h \
@@ -209,6 +202,7 @@ gtk_private_h_sources = @STRIP_BEGIN@ \
gtk_c_sources = @STRIP_BEGIN@ \
gtkaccelgroup.c \
gtkaccellabel.c \
+ gtkaccessible.c \
gtkadjustment.c \
gtkalignment.c \
gtkarg.c \
@@ -516,13 +510,6 @@ LDADDS = @STRIP_BEGIN@ \
@gtktargetlib@ \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-1.3.la \
$(top_builddir)/gdk/@gdktargetlib@ \
- @more_ldflags@ \
- @more_libs@ \
- @GDK_WLIBS@ \
- @PANGO_LIBS@ \
- @GLIB_LIBS@ \
- @GTK_LIBS_EXTRA@ \
- -lm \
@STRIP_END@
#
diff --git a/gtk/gtk.h b/gtk/gtk.h
index 512e9523d2..5c50ce22cc 100644
--- a/gtk/gtk.h
+++ b/gtk/gtk.h
@@ -31,6 +31,7 @@
#include <gdk/gdk.h>
#include <gtk/gtkaccelgroup.h>
#include <gtk/gtkaccellabel.h>
+#include <gtk/gtkaccessible.h>
#include <gtk/gtkadjustment.h>
#include <gtk/gtkalignment.h>
#include <gtk/gtkarg.h>
diff --git a/gtk/gtkaccessible.c b/gtk/gtkaccessible.c
new file mode 100644
index 0000000000..d5a96b2367
--- /dev/null
+++ b/gtk/gtkaccessible.c
@@ -0,0 +1,93 @@
+/* GTK - The GIMP Toolkit
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <string.h>
+#include <gtk/gtkwidget.h>
+#include <gtk/gtksignal.h>
+#include <gtk/gtkaccessible.h>
+
+static void gtk_accessible_class_init (GtkAccessibleClass *klass);
+
+static void gtk_accessible_real_connect_widget_destroyed (GtkAccessible *accessible);
+
+GtkType
+gtk_accessible_get_type (void)
+{
+ static GtkType accessible_type = 0;
+
+ if (!accessible_type)
+ {
+ static const GTypeInfo accessible_info =
+ {
+ sizeof (GtkAccessibleClass),
+ NULL, /* base_init */
+ NULL, /* base_finalize */
+ (GClassInitFunc) gtk_accessible_class_init,
+ NULL, /* class_finalize */
+ NULL, /* class_data */
+ sizeof (GtkAccessible),
+ 16, /* n_preallocs */
+ (GInstanceInitFunc) NULL,
+ };
+
+ accessible_type = g_type_register_static (ATK_TYPE_OBJECT, "GtkAccessible", &accessible_info, 0);
+ }
+
+ return accessible_type;
+}
+
+static void
+gtk_accessible_class_init (GtkAccessibleClass *klass)
+{
+ klass->connect_widget_destroyed = gtk_accessible_real_connect_widget_destroyed;
+
+}
+
+/**
+ * gtk_accessible_connect_widget_destroyed
+ * @accessible: a #GtkAccessible
+ *
+ * This function specifies the callback function to be called when the widget
+ * corresponding to a GtkAccessible is destroyed.
+ */
+void
+gtk_accessible_connect_widget_destroyed (GtkAccessible *accessible)
+{
+ GtkAccessibleClass *class;
+
+ g_return_if_fail (accessible != NULL);
+ g_return_if_fail (GTK_IS_ACCESSIBLE (accessible));
+
+ class = GTK_ACCESSIBLE_GET_CLASS (accessible);
+
+ if (class->connect_widget_destroyed)
+ class->connect_widget_destroyed (accessible);
+}
+
+static void
+gtk_accessible_real_connect_widget_destroyed (GtkAccessible *accessible)
+{
+ if (accessible->widget)
+ {
+ gtk_signal_connect (GTK_OBJECT (accessible->widget),
+ "destroy",
+ GTK_SIGNAL_FUNC (gtk_widget_destroyed),
+ &accessible->widget);
+ }
+}
diff --git a/gtk/gtkaccessible.h b/gtk/gtkaccessible.h
new file mode 100644
index 0000000000..a09832e3fb
--- /dev/null
+++ b/gtk/gtkaccessible.h
@@ -0,0 +1,73 @@
+/* GTK - The GIMP Toolkit
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_ACCESSIBLE_H__
+#define __GTK_ACCESSIBLE_H__
+
+#include <atk/atk.h>
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#define GTK_TYPE_ACCESSIBLE (gtk_accessible_get_type ())
+#define GTK_ACCESSIBLE(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_ACCESSIBLE, GtkAccessible))
+#define GTK_ACCESSIBLE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_ACCESSIBLE, GtkAccessibleClass))
+#define GTK_IS_ACCESSIBLE(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_ACCESSIBLE))
+#define GTK_IS_ACCESSIBLE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ACCESSIBLE))
+#define GTK_ACCESSIBLE_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_ACCESSIBLE, GtkAccessibleClass))
+
+typedef struct _GtkAccessible GtkAccessible;
+typedef struct _GtkAccessibleClass GtkAccessibleClass;
+
+ /**
+ * This object is a thin wrapper, in the GTK+ namespace, for AtkObject
+ */
+
+struct _GtkAccessible
+{
+ AtkObject parent;
+
+ /*
+ * The GtkWidget whose properties and features are exported via this
+ * accessible instance.
+ */
+ GtkWidget *widget;
+
+};
+
+GtkType gtk_accessible_get_type (void);
+
+struct _GtkAccessibleClass
+{
+ AtkObjectClass parent_class;
+
+ void (*connect_widget_destroyed) (GtkAccessible *accessible);
+};
+
+void gtk_accessible_connect_widget_destroyed (GtkAccessible *accessible);
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+
+#endif /* __GTK_ACCESSIBLE_H__ */
+
+
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index e5a2738a81..8079611f84 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -44,7 +44,7 @@
#include "gobject/gvaluecollector.h"
#include "gdk/gdkkeysyms.h"
#include "gtkintl.h"
-
+#include "gtkaccessible.h"
#define WIDGET_CLASS(w) GTK_WIDGET_GET_CLASS (w)
#define INIT_PATH_SIZE (512)
@@ -203,7 +203,11 @@ static gboolean gtk_widget_real_mnemonic_activate (GtkWidget *widget,
static void gtk_widget_aux_info_destroy (GtkWidgetAuxInfo *aux_info);
static void gtk_widget_do_uposition (GtkWidget *widget);
-
+
+static AtkObject* gtk_widget_real_get_accessible (GtkWidget *widget);
+static void gtk_widget_accessible_interface_init (AtkImplementorIface *iface);
+static AtkObject * gtk_widget_ref_accessible (AtkImplementor *implementor);
+
static gpointer parent_class = NULL;
static guint widget_signals[LAST_SIGNAL] = { 0 };
@@ -226,6 +230,7 @@ static GQuark quark_shape_info = 0;
static GQuark quark_colormap = 0;
static GQuark quark_pango_context = 0;
static GQuark quark_rc_style = 0;
+static GQuark quark_accessible_object = 0;
/*****************************************
@@ -255,7 +260,19 @@ gtk_widget_get_type (void)
(GtkClassInitFunc) NULL,
};
+ static const GInterfaceInfo accessibility_info =
+ {
+ (GInterfaceInitFunc) gtk_widget_accessible_interface_init,
+ (GInterfaceFinalizeFunc) NULL,
+ NULL /* interface data */
+ };
+
+
widget_type = gtk_type_unique (GTK_TYPE_OBJECT, &widget_info);
+
+ g_type_add_interface_static (widget_type, ATK_TYPE_IMPLEMENTOR,
+ &accessibility_info) ;
+
}
return widget_type;
@@ -337,6 +354,9 @@ gtk_widget_class_init (GtkWidgetClass *klass)
klass->drag_drop = NULL;
klass->drag_data_received = NULL;
+ /* Accessibility support */
+ klass->get_accessible = gtk_widget_real_get_accessible;
+
klass->no_expose_event = NULL;
quark_property_parser = g_quark_from_static_string ("gtk-rc-property-parser");
@@ -349,6 +369,7 @@ gtk_widget_class_init (GtkWidgetClass *klass)
quark_colormap = g_quark_from_static_string ("gtk-colormap");
quark_pango_context = g_quark_from_static_string ("gtk-pango-context");
quark_rc_style = g_quark_from_static_string ("gtk-rc-style");
+ quark_accessible_object = g_quark_from_static_string ("gtk-accessible-object");
style_property_spec_pool = g_param_spec_pool_new (FALSE);
@@ -4954,6 +4975,7 @@ gtk_widget_finalize (GObject *object)
gint *events;
GdkExtensionMode *mode;
GtkStyle *saved_style;
+ GtkAccessible *accessible;
gtk_grab_remove (widget);
gtk_selection_remove_all (widget);
@@ -4983,6 +5005,10 @@ gtk_widget_finalize (GObject *object)
if (mode)
g_free (mode);
+ accessible = gtk_object_get_data_by_id (GTK_OBJECT (widget), quark_accessible_object);
+ if (accessible)
+ g_object_unref (G_OBJECT (accessible));
+
G_OBJECT_CLASS (parent_class)->finalize (object);
}
@@ -5684,3 +5710,61 @@ gtk_requisition_free (GtkRequisition *requisition)
g_free (requisition);
}
+AtkObject* gtk_widget_get_accessible (GtkWidget *widget)
+{
+ GtkWidgetClass *klass;
+
+ g_return_val_if_fail (widget != NULL, NULL);
+ g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
+
+ klass = GTK_WIDGET_GET_CLASS (widget);
+
+ g_return_val_if_fail (klass->get_accessible != NULL, NULL);
+
+ return klass->get_accessible(widget);
+}
+
+AtkObject* gtk_widget_real_get_accessible (GtkWidget *widget)
+{
+ AtkObject* accessible;
+
+ accessible = g_object_get_qdata (G_OBJECT (widget),
+ quark_accessible_object);
+ if (!accessible)
+ {
+ AtkObjectFactory *factory;
+ AtkRegistry *default_registry;
+
+ default_registry = atk_get_default_registry ();
+ factory = atk_registry_get_factory (default_registry,
+ GTK_OBJECT_TYPE (widget));
+ accessible =
+ atk_object_factory_create_accessible (factory,
+ G_OBJECT(widget));
+ g_object_set_qdata (G_OBJECT (widget),
+ quark_accessible_object,
+ accessible);
+ }
+ return accessible;
+}
+
+/*
+ * Initialize a AtkImplementorIface instance's virtual pointers as
+ * appropriate to this implementor's class (GtkWidget).
+ */
+static void
+gtk_widget_accessible_interface_init (AtkImplementorIface *iface)
+{
+ iface->ref_accessible = gtk_widget_ref_accessible;
+}
+
+static AtkObject*
+gtk_widget_ref_accessible(AtkImplementor *implementor)
+{
+ AtkObject *accessible;
+
+ accessible = gtk_widget_get_accessible (GTK_WIDGET (implementor));
+ if (accessible)
+ g_object_ref (G_OBJECT (accessible));
+ return accessible;
+}
diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h
index 64ba08553a..8bdc5d17be 100644
--- a/gtk/gtkwidget.h
+++ b/gtk/gtkwidget.h
@@ -32,7 +32,7 @@
#include <gtk/gtkobject.h>
#include <gtk/gtkadjustment.h>
#include <gtk/gtkstyle.h>
-
+#include <atk/atkobject.h>
#ifdef __cplusplus
extern "C" {
@@ -235,7 +235,7 @@ struct _GtkWidgetClass
* Implementation of this signal is optional.
*/
guint set_scroll_adjustments_signal;
-
+
/* basics */
void (* show) (GtkWidget *widget);
void (* show_all) (GtkWidget *widget);
@@ -381,6 +381,11 @@ struct _GtkWidgetClass
/* Signals used only for keybindings */
void (* popup_menu) (GtkWidget *widget);
+
+ /* accessibility support
+ */
+ AtkObject* (* get_accessible) (GtkWidget *widget);
+
/* Padding for future expansion */
GtkFunction pad1;
GtkFunction pad2;
@@ -536,6 +541,10 @@ GtkWidget* gtk_widget_get_ancestor (GtkWidget *widget,
GdkColormap* gtk_widget_get_colormap (GtkWidget *widget);
GdkVisual* gtk_widget_get_visual (GtkWidget *widget);
+
+/* Accessibility support */
+AtkObject* gtk_widget_get_accessible (GtkWidget *widget);
+
/* The following functions must not be called on an already
* realized widget. Because it is possible that somebody
* can call get_colormap() or get_visual() and save the
diff --git a/modules/input/Makefile.am b/modules/input/Makefile.am
index 9d3b59aa75..c7c71eec34 100644
--- a/modules/input/Makefile.am
+++ b/modules/input/Makefile.am
@@ -8,9 +8,7 @@ INCLUDES = @STRIP_BEGIN@ \
-DGTK_LOCALEDIR=\"$(gtklocaledir)\" \
@GTK_DEBUG_FLAGS@ \
@GTK_XIM_FLAGS@ \
- @PANGO_CFLAGS@ \
- @GLIB_CFLAGS@ \
- @more_cflags@ \
+ @GTK_DEP_CFLAGS@ \
@STRIP_END@
DEPS = \
@@ -22,13 +20,7 @@ LDADDS = @STRIP_BEGIN@ \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-1.3.la \
$(top_builddir)/gdk/@gdktargetlib@ \
$(top_builddir)/gtk/@gtktargetlib@ \
- @more_ldflags@ \
- @more_libs@ \
- @GDK_WLIBS@ \
- @PANGO_LIBS@ \
- @GLIB_LIBS@ \
- @GTK_LIBS_EXTRA@ \
- -lm \
+ @GTK_DEP_LIBS@ \
@STRIP_END@
moduledir = $(libdir)/gtk-2.0/$(GTK_VERSION)/immodules
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 2e7d20778f..e8b3f9a60c 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -5,10 +5,7 @@ INCLUDES = @STRIP_BEGIN@ \
-I$(top_builddir)/gdk \
-DGTK_DISABLE_COMPAT_H \
@GTK_DEBUG_FLAGS@ \
- @GTK_XIM_FLAGS@ \
- @PANGO_CFLAGS@ \
- @GLIB_CFLAGS@ \
- @more_cflags@ \
+ @GTK_DEP_CFLAGS@ \
@STRIP_END@
DEPS = \
@@ -20,13 +17,6 @@ LDADDS = @STRIP_BEGIN@ \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-1.3.la \
$(top_builddir)/gdk/@gdktargetlib@ \
$(top_builddir)/gtk/@gtktargetlib@ \
- @more_ldflags@ \
- @more_libs@ \
- @GDK_WLIBS@ \
- @PANGO_LIBS@ \
- @GLIB_LIBS@ \
- @GTK_LIBS_EXTRA@ \
- -lm \
@STRIP_END@
if USE_X11