]> Pileus Git - ~andy/gtk/blobdiff - gtk/Makefile.am
2.9.0
[~andy/gtk] / gtk / Makefile.am
index 882e83b0ebdcde83b87076c7a2cbbf6bd7eb7f16..dba3259272969f2a5f832a8e9161d220534c5c97 100644 (file)
@@ -1,12 +1,18 @@
 # Makefile.am for gtk+/gtk
 
-SUBDIRS=stock-icons theme-bits
+SUBDIRS=theme-bits
 
 if OS_UNIX
 SUBDIRS += xdgmime
 endif
 
-DIST_SUBDIRS=stock-icons theme-bits xdgmime
+DIST_SUBDIRS=theme-bits xdgmime
+
+if HAVE_CUPS
+GTK_PRINT_BACKENDS=pdf,cups
+else
+GTK_PRINT_BACKENDS=pdf,lpr
+endif
 
 INCLUDES =                                             \
        -DG_LOG_DOMAIN=\"Gtk\"                          \
@@ -18,17 +24,19 @@ INCLUDES =                                          \
        -DGTK_BINARY_VERSION=\"$(GTK_BINARY_VERSION)\"  \
        -DGTK_HOST=\"$(host)\"                          \
        -DGTK_COMPILATION                               \
+       -DGTK_PRINT_BACKENDS=\"$(GTK_PRINT_BACKENDS)\"  \
        -I$(top_builddir)/gtk                           \
        -I$(top_srcdir) -I../gdk                        \
        -I$(top_srcdir)/gdk                             \
        -I$(top_srcdir)/gdk-pixbuf -I../gdk-pixbuf      \
-       -DG_DISABLE_DEPRECATED                          \
        -DGDK_PIXBUF_DISABLE_DEPRECATED                 \
        -DGDK_DISABLE_DEPRECATED                        \
        -DGTK_DISABLE_DEPRECATED                        \
        -DGTK_FILE_SYSTEM_ENABLE_UNSUPPORTED            \
+       -DGTK_PRINT_BACKEND_ENABLE_UNSUPPORTED          \
        $(GTK_DEBUG_FLAGS)                              \
-       $(GTK_DEP_CFLAGS)
+       $(GTK_DEP_CFLAGS)                               \
+       $(gtk_clipboard_dnd_c_sources_CFLAGS)
 
 gtarget=$(gdktarget)
 
@@ -40,18 +48,19 @@ if OS_WIN32
 gtk_def = gtk.def
 gtk_win32_symbols = -export-symbols $(gtk_def)
 
-gtk_win32res_lo = gtk-win32res.lo
+gtk_win32_res = gtk-win32-res.o
+gtk_win32_res_ldflag = -Wl,$(gtk_win32_res)
 
-gtk-win32res.lo : gtk-win32.rc
-       $(top_srcdir)/build/win32/lt-compile-resource gtk-win32.rc gtk-win32res.lo
+gtk-win32-res.o : gtk-win32.rc
+       $(WINDRES) gtk-win32.rc $@
 
-install-libtool-import-lib:
-       $(INSTALL) .libs/libgtk-win32-$(GTK_API_VERSION).dll.a $(DESTDIR)$(libdir)
-uninstall-libtool-import-lib:
-       -rm $(DESTDIR)$(libdir)/libtk-win32-$(GTK_API_VERSION).dll.a
+install-def-file: gtk.def
+       $(INSTALL) $(gtk_def) $(DESTDIR)$(libdir)/gtk-win32-2.0.def
+uninstall-def-file:
+       -rm $(DESTDIR)$(libdir)/gtk-win32-2.0.def
 else
-install-libtool-import-lib:
-uninstall-libtool-import-lib:
+install-def-file:
+uninstall-def-file:
 endif
 
 if MS_LIB_AVAILABLE
@@ -71,13 +80,15 @@ uninstall-ms-lib:
 endif
 
 gtk.def: gtk.symbols
-       (echo -e EXPORTS; cpp -P -DINCLUDE_VARIABLES -DG_OS_WIN32 gtk.symbols | sed -e '/^$$/d' -e 's/^/\t/') > gtk.def
+       (echo -e EXPORTS; $(CPP) -P -DINCLUDE_VARIABLES -DG_OS_WIN32 -DALL_FILES - <$(srcdir)/gtk.symbols | sed -e '/^$$/d' -e 's/^/    /' -e 's/G_GNUC_[^ ]*//g') > gtk.def
 
 gtkalias.h: gtk.symbols
-        cpp -P -DG_OS_UNIX -DGTK_WINDOWING_X11 -DINCLUDE_INTERNAL_SYMBOLS gtk.symbols | ./makegtkalias.pl > gtkalias.h
+         $(PERL) $(srcdir)/makegtkalias.pl < $(srcdir)/gtk.symbols > gtkalias.h
+gtkaliasdef.c: gtk.symbols
+         $(PERL) $(srcdir)/makegtkalias.pl -def < $(srcdir)/gtk.symbols > gtkaliasdef.c
 
-if OS_UNIX
-TEST = abicheck.sh
+if OS_LINUX
+TESTS = abicheck.sh
 endif
 
 # libtool stuff: set version and export symbols for resolving
@@ -119,6 +130,7 @@ gtk_public_h_sources =          \
        gtkalignment.h          \
        gtkarrow.h              \
        gtkaspectframe.h        \
+       gtkassistant.h          \
        gtkbbox.h               \
        gtkbin.h                \
        gtkbindings.h           \
@@ -128,9 +140,11 @@ gtk_public_h_sources =          \
        gtkcelleditable.h       \
        gtkcelllayout.h         \
        gtkcellrenderer.h       \
+       gtkcellrendereraccel.h  \
        gtkcellrenderercombo.h  \
        gtkcellrendererpixbuf.h \
        gtkcellrendererprogress.h \
+       gtkcellrendererspin.h   \
        gtkcellrenderertext.h   \
        gtkcellrenderertoggle.h \
        gtkcellview.h           \
@@ -138,7 +152,6 @@ gtk_public_h_sources =          \
        gtkcheckmenuitem.h      \
        gtkclipboard.h          \
        gtkclist.h              \
-       gtkclipboard.h          \
        gtkcolorbutton.h        \
        gtkcolorsel.h           \
        gtkcolorseldialog.h     \
@@ -159,6 +172,7 @@ gtk_public_h_sources =          \
        gtkeventbox.h           \
        gtkexpander.h           \
        gtkfilechooser.h        \
+       gtkfilechooserbutton.h  \
        gtkfilechooserdialog.h  \
        gtkfilechooserwidget.h  \
        gtkfilefilter.h         \
@@ -192,6 +206,7 @@ gtk_public_h_sources =          \
        gtkitemfactory.h        \
        gtklabel.h              \
        gtklayout.h             \
+       gtklinkbutton.h         \
        gtklist.h               \
        gtklistitem.h           \
        gtkliststore.h          \
@@ -200,16 +215,23 @@ gtk_public_h_sources =          \
        gtkmenubar.h            \
        gtkmenuitem.h           \
        gtkmenushell.h          \
+       gtkmenutoolbutton.h     \
        gtkmessagedialog.h      \
        gtkmisc.h               \
+       gtkmodules.h            \
        gtknotebook.h           \
        gtkobject.h             \
        gtkoldeditable.h        \
        gtkoptionmenu.h         \
+       gtkpagesetup.h          \
        gtkpaned.h              \
+       gtkpapersize.h          \
        gtkpixmap.h             \
        gtkplug.h               \
        gtkpreview.h            \
+       gtkprintcontext.h       \
+       gtkprintoperation.h     \
+       gtkprintsettings.h      \
        gtkprivate.h            \
        gtkprogress.h           \
        gtkprogressbar.h        \
@@ -219,6 +241,12 @@ gtk_public_h_sources =          \
        gtkradiotoolbutton.h    \
        gtkrange.h              \
        gtkrc.h                 \
+       gtkrecentchooser.h      \
+       gtkrecentchooserdialog.h \
+       gtkrecentchoosermenu.h  \
+       gtkrecentchooserwidget.h \
+       gtkrecentfilter.h       \
+       gtkrecentmanager.h      \
        gtkruler.h              \
        gtkscale.h              \
        gtkscrollbar.h          \
@@ -233,12 +261,14 @@ gtk_public_h_sources =          \
        gtksocket.h             \
        gtkspinbutton.h         \
        gtkstatusbar.h          \
+       gtkstatusicon.h         \
        gtkstock.h              \
        gtkstyle.h              \
        gtktable.h              \
        gtktearoffmenuitem.h    \
        gtktext.h               \
        gtktextbuffer.h         \
+       gtktextbufferrichtext.h \
        gtktextchild.h          \
        gtktextdisplay.h        \
        gtktextiter.h           \
@@ -278,6 +308,13 @@ gtk_public_h_sources =          \
        gtkwidget.h             \
        gtkwindow.h
 
+gtk_unix_print_public_h_sources =    \
+       gtkpagesetupunixdialog.h        \
+       gtkprintunixdialog.h            \
+       gtkprinter.h                    \
+       gtkprintjob.h
+
+
 # Installed header files without compatibility guarantees
 # that are not include in gtk/gtk.h
 gtk_semi_private_h_sources =    \
@@ -285,31 +322,41 @@ gtk_semi_private_h_sources =    \
        gtkfilesystem.h
 
 # GTK+ header files that don't get installed
-gtk_private_h_sources =         \
+gtk_private_h_sources =                \
+       gtkdndcursors.h         \
        gtkentryprivate.h       \
+       gtkfilechooserdefault.h \
        gtkfilechooserembed.h   \
        gtkfilechooserentry.h   \
-       gtkfilechooserdefault.h \
        gtkfilechooserprivate.h \
+       gtkfilechoosersettings.h \
        gtkfilechooserutils.h   \
-       gtkfilesystemunix.h     \
        gtkfilesystemmodel.h    \
-       gtkinternals.h          \
+       gtkfilesystemunix.h     \
+       gtkiconcache.h          \
        gtkpathbar.h            \
-       gtkrbtree.h             \
+       gtkplugprivate.h        \
+       gtkprintoperation-private.h\
+       gtkprintutils.h         \
+       gtkrbtree.h             \
+       gtkrecentchooserdefault.h \
+       gtkrecentchooserprivate.h \
+       gtkrecentchooserutils.h \
+       gtksequence.h           \
+       gtksocketprivate.h      \
        gtktextbtree.h          \
-       gtktextchildprivate.h   \
-       gtktextsegment.h        \
-       gtktexttypes.h          \
-       gtktextutil.h           \
+       gtktextchildprivate.h   \
        gtktextiterprivate.h    \
        gtktextmarkprivate.h    \
+       gtktextsegment.h        \
        gtktexttagprivate.h     \
+       gtktexttypes.h          \
+       gtktextutil.h           \
        gtkthemes.h             \
+       gtktoggleactionprivate.h\
        gtktreedatalist.h       \
        gtktreeprivate.h        \
-       gtkwindow-decorate.h    \
-       gtktoggleactionprivate.h
+       gtkwindow-decorate.h
 
 # GTK+ C sources to build the library from
 gtk_c_sources =                 \
@@ -325,6 +372,7 @@ gtk_c_sources =                 \
        gtkalignment.c          \
        gtkarrow.c              \
        gtkaspectframe.c        \
+       gtkassistant.c          \
        gtkbbox.c               \
        gtkbin.c                \
        gtkbindings.c           \
@@ -334,15 +382,16 @@ gtk_c_sources =                 \
        gtkcelleditable.c       \
        gtkcelllayout.c         \
        gtkcellrenderer.c       \
+       gtkcellrendereraccel.c  \
        gtkcellrenderercombo.c  \
        gtkcellrendererpixbuf.c \
        gtkcellrendererprogress.c \
+       gtkcellrendererspin.c   \
        gtkcellrenderertext.c   \
        gtkcellrenderertoggle.c \
        gtkcellview.c           \
        gtkcheckbutton.c        \
        gtkcheckmenuitem.c      \
-       gtkclipboard.c          \
        gtkclist.c              \
        gtkcolorbutton.c        \
        gtkcolorsel.c           \
@@ -354,7 +403,6 @@ gtk_c_sources =                 \
        gtkctree.c              \
        gtkcurve.c              \
        gtkdialog.c             \
-       gtkdnd.c                \
        gtkdrawingarea.c        \
        gtkeditable.c           \
        gtkentry.c              \
@@ -362,10 +410,12 @@ gtk_c_sources =                 \
        gtkeventbox.c           \
        gtkexpander.c           \
        gtkfilechooser.c        \
+       gtkfilechooserbutton.c  \
+       gtkfilechooserdefault.c \
        gtkfilechooserdialog.c  \
        gtkfilechooserembed.c   \
        gtkfilechooserentry.c   \
-       gtkfilechooserdefault.c \
+       gtkfilechoosersettings.c \
        gtkfilechooserutils.c   \
        gtkfilechooserwidget.c  \
        gtkfilefilter.c         \
@@ -388,10 +438,9 @@ gtk_c_sources =                 \
        gtkhseparator.c         \
        gtkhsv.c                \
        gtkhsv.h                \
+       gtkiconcache.c          \
        gtkiconfactory.c        \
        gtkicontheme.c          \
-       gtkiconthemeparser.c    \
-       gtkiconthemeparser.h    \
        gtkiconview.c           \
        gtkimage.c              \
        gtkimagemenuitem.c      \
@@ -408,6 +457,7 @@ gtk_c_sources =                 \
        gtkkeyhash.h            \
        gtklabel.c              \
        gtklayout.c             \
+       gtklinkbutton.c         \
        gtklist.c               \
        gtklistitem.c           \
        gtkliststore.c          \
@@ -418,16 +468,27 @@ gtk_c_sources =                 \
        gtkmenubar.c            \
        gtkmenuitem.c           \
        gtkmenushell.c          \
+       gtkmenutoolbutton.c     \
        gtkmessagedialog.c      \
        gtkmisc.c               \
+       gtkmnemonichash.c       \
+       gtkmnemonichash.h       \
+       gtkmodules.c            \
        gtknotebook.c           \
        gtkobject.c             \
        gtkoldeditable.c        \
        gtkoptionmenu.c         \
+       gtkpagesetup.c          \
        gtkpaned.c              \
+       gtkpapersize.c          \
        gtkpathbar.c            \
        gtkpixmap.c             \
+       gtkplug.c               \
        gtkpreview.c            \
+       gtkprintcontext.c       \
+       gtkprintoperation.c     \
+       gtkprintsettings.c      \
+       gtkprintutils.c         \
        gtkprogress.c           \
        gtkprogressbar.c        \
        gtkradioaction.c        \
@@ -437,6 +498,14 @@ gtk_c_sources =                 \
        gtkrange.c              \
        gtkrbtree.c             \
        gtkrc.c                 \
+       gtkrecentchooserdefault.c \
+       gtkrecentchooserdialog.c \
+       gtkrecentchoosermenu.c  \
+       gtkrecentchooserwidget.c \
+       gtkrecentchooserutils.c \
+       gtkrecentchooser.c      \
+       gtkrecentfilter.c       \
+       gtkrecentmanager.c      \
        gtkruler.c              \
        gtkscale.c              \
        gtkscrollbar.c          \
@@ -445,11 +514,14 @@ gtk_c_sources =                 \
        gtkseparator.c          \
        gtkseparatormenuitem.c  \
        gtkseparatortoolitem.c  \
+       gtksequence.c           \
        gtksettings.c           \
        gtksignal.c             \
        gtksizegroup.c          \
+       gtksocket.c             \
        gtkspinbutton.c         \
        gtkstatusbar.c          \
+       gtkstatusicon.c         \
        gtkstock.c              \
        gtkstyle.c              \
        gtktable.c              \
@@ -457,6 +529,9 @@ gtk_c_sources =                 \
        gtktext.c               \
        gtktextbtree.c          \
        gtktextbuffer.c         \
+       gtktextbufferrichtext.c \
+       gtktextbufferserialize.c\
+       gtktextbufferserialize.h\
        gtktextchild.c          \
        gtktextdisplay.c        \
        gtktextiter.c           \
@@ -505,23 +580,63 @@ gtk_c_sources =                 \
        gtkwidget.c             \
        gtkwindow-decorate.c    \
        gtkwindow.c             \
-       xembed.h
+       xembed.h                \
+       $(gtk_clipboard_dnd_c_sources)
 
 if OS_UNIX
-gtk_private_h_sources += gtkfilesystemunix.h
-gtk_c_sources +=         gtkfilesystemunix.c
+gtk_private_h_sources += \
+       gtkfilesystemunix.h             \
+       gtkprintbackend.h               \
+       gtkprinter-private.h            \
+       gtkprinteroption.h              \
+       gtkprinteroptionset.h           \
+       gtkprinteroptionwidget.h
+
+gtk_c_sources += \
+       gtkfilesystemunix.c             \
+       gtkpagesetupunixdialog.c        \
+       gtkprinter.c                    \
+       gtkprinteroption.c              \
+       gtkprinteroptionset.c           \
+       gtkprinteroptionwidget.c        \
+       gtkprintjob.c                   \
+       gtkprintoperation-unix.c        \
+       gtkprintunixdialog.c            \
+        gtkprintbackend.c
 endif
 
 if OS_WIN32
-gtk_private_h_sources += gtkfilesystemwin32.h
-gtk_c_sources +=         gtkfilesystemwin32.c
+gtk_private_h_sources += gtkfilesystemwin32.h gtkprint-win32.h
+
+gtk_c_sources += \
+       gtkfilesystemwin32.c            \
+       gtkprint-win32.c                \
+       gtkprintoperation-win32.c
 endif
 
-gtk_plug_c_sources =            \
-       gtkplug.c               \
-       gtksocket.c             \
-       gtkxembed.c             \
-       gtkxembed.h
+if USE_X11
+gtk_private_h_sources += gtkxembed.h gtktrayicon.h
+gtk_c_sources += \
+       gtkplug-x11.c   \
+       gtksocket-x11.c \
+       gtkxembed.c     \
+       gtktrayicon-x11.c
+else
+if USE_WIN32
+gtk_private_h_sources += gtkwin32embed.h
+gtk_c_sources +=         gtkplug-win32.c gtksocket-win32.c gtkwin32embed.c
+else
+gtk_c_sources +=         gtkplug-stub.c gtksocket-stub.c
+endif
+endif
+
+if USE_QUARTZ
+gtk_clipboard_dnd_c_sources = gtkclipboard-quartz.c gtkdnd-quartz.c gtkquartz.c gtkquartz.h
+gtk_clipboard_dnd_c_sources_CFLAGS = "-xobjective-c"
+else
+gtk_clipboard_dnd_c_sources = gtkclipboard.c gtkdnd.c
+gtk_clipboard_dnd_c_sources_CFLAGS = 
+endif
 
 # we use our own built_sources variable rules to avoid automake's
 # BUILT_SOURCES oddities
@@ -537,9 +652,11 @@ gtk_built_public_sources =                 \
 # built sources that don't get installed
 gtk_built_private_headers =                    \
        gtkalias.h                              \
-       gtkmarshalers.h
+       gtkmarshalers.h                         \
+       gtkbuiltincache.h
 
 gtk_built_sources =                            \
+       gtkaliasdef.c                           \
        gtktypebuiltins.c                       \
        gtkmarshalers.c                         \
        gtkmarshalers.h                         \
@@ -550,12 +667,16 @@ gtk_built_sources =                               \
 stamp_files =                                  \
        stamp-gtkmarshalers.h                   \
        stamp-gtkmarshal.h                      \
-       stamp-gtktypebuiltins.h
+       stamp-gtktypebuiltins.h                 \
+       stamp-icons
 
 # non-header sources (headers should be specified in the above variables)
 # that don't serve as direct make target sources, i.e. they don't have
 # their own .lo rules and don't get publically installed
 gtk_extra_sources =                            \
+       paper_names.c                           \
+       paper_names_offsets.c                   \
+       gen-paper-names.c                       \
        gtk.symbols                             \
        gtkversion.h.in                         \
        gtkmarshalers.list                      \
@@ -568,6 +689,7 @@ MAINTAINERCLEANFILES = $(gtk_built_sources) $(stamp_files)
 EXTRA_HEADERS =
 EXTRA_DIST = $(gtk_private_h_sources) $(gtk_extra_sources)
 EXTRA_DIST += $(gtk_built_sources)
+EXTRA_DIST += $(STOCK_ICONS)
 
 #
 # rules to generate built sources
@@ -591,7 +713,7 @@ stamp-gtkmarshalers.h: @REBUILD@ gtkmarshalers.list
        && rm -f xgen-gmlh \
        && echo timestamp > $(@F)       
 gtkmarshalers.c: @REBUILD@ gtkmarshalers.list
-       $(GLIB_GENMARSHAL) --prefix=_gtk_marshal $(srcdir)/gtkmarshalers.list --body >> xgen-gmlc \
+       (echo "#include \"gtkalias.h\""; $(GLIB_GENMARSHAL) --prefix=_gtk_marshal $(srcdir)/gtkmarshalers.list --body) >> xgen-gmlc \
        && cp xgen-gmlc gtkmarshalers.c \
        && rm -f xgen-gmlc
 
@@ -605,29 +727,30 @@ stamp-gtkmarshal.h: @REBUILD@ gtkmarshal.list
        && rm -f xgen-gmh \
        && echo timestamp > $(@F)
 gtkmarshal.c: @REBUILD@ gtkmarshal.list
-       $(GLIB_GENMARSHAL) --prefix=gtk_marshal $(srcdir)/gtkmarshal.list --body >> xgen-gmc \
+       (echo "#include \"gtkalias.h\""; $(GLIB_GENMARSHAL) --prefix=gtk_marshal $(srcdir)/gtkmarshal.list --body) >> xgen-gmc \
        && cp xgen-gmc gtkmarshal.c \
        && rm -f xgen-gmc 
 
 gtktypebuiltins.h: stamp-gtktypebuiltins.h
        @true
 stamp-gtktypebuiltins.h: @REBUILD@ $(gtk_public_h_sources) Makefile
-       ( cd $(srcdir) && glib-mkenums \
+       ( cd $(srcdir) && $(GLIB_MKENUMS) \
                        --fhead "#ifndef __GTK_TYPE_BUILTINS_H__\n#define __GTK_TYPE_BUILTINS_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
                        --fprod "/* enumerations from \"@filename@\" */\n" \
-                       --vhead "GType @enum_name@_get_type (void);\n#define GTK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
+                       --vhead "GType @enum_name@_get_type (void) G_GNUC_CONST;\n#define GTK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
                        --ftail "G_END_DECLS\n\n#endif /* __GTK_TYPE_BUILTINS_H__ */" \
                $(gtk_public_h_sources) ) >> xgen-gtbh \
        && (cmp -s xgen-gtbh gtktypebuiltins.h || cp xgen-gtbh gtktypebuiltins.h ) \
        && rm -f xgen-gtbh \
        && echo timestamp > $(@F)
 gtktypebuiltins.c: @REBUILD@ $(gtk_public_h_sources) Makefile
-       ( cd $(srcdir) && glib-mkenums \
-                       --fhead "#undef GTK_DISABLE_DEPRECATED\n#define GTK_ENABLE_BROKEN\n#include \"gtkalias.h\"\n#include \"gtk.h\"\n#include \"gtkprivate.h\"" \
+       ( cd $(srcdir) && $(GLIB_MKENUMS) \
+                       --fhead "#undef GTK_DISABLE_DEPRECATED\n#define GTK_ENABLE_BROKEN\n#include \"gtk.h\"\n#include \"gtkprivate.h\"\n#include \"gtkalias.h\"\n" \
+                       --ftail "#define __GTK_TYPE_BUILTINS_C__\n#include \"gtkaliasdef.c\"\n" \
                        --fprod "\n/* enumerations from \"@filename@\" */" \
                        --vhead "GType\n@enum_name@_get_type (void)\n{\n  static GType etype = 0;\n  if (etype == 0) {\n    static const G@Type@Value values[] = {" \
                        --vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
-                       --vtail "      { 0, NULL, NULL }\n    };\n    etype = g_@type@_register_static (\"@EnumName@\", values);\n  }\n  return etype;\n}\n" \
+                       --vtail "      { 0, NULL, NULL }\n    };\n    etype = g_@type@_register_static (g_intern_static_string (\"@EnumName@\"), values);\n  }\n  return etype;\n}\n" \
                $(gtk_public_h_sources) ) > xgen-gtbc \
        && cp xgen-gtbc gtktypebuiltins.c  \
        && rm -f xgen-gtbc
@@ -638,23 +761,32 @@ lib_LTLIBRARIES = $(gtktargetlib)
 gtkincludedir = $(includedir)/gtk-2.0/gtk
 gtkinclude_HEADERS = $(gtk_public_h_sources) $(gtk_semi_private_h_sources) $(gtk_built_public_sources) gtkversion.h
 
-libgtk_x11_2_0_la_SOURCES = $(gtk_c_sources) $(gtk_plug_c_sources)
+gtkunixprintincludedir = $(includedir)/gtk-unix-print-2.0/gtk
+gtkunixprintinclude_HEADERS = $(gtk_unix_print_public_h_sources)
+
+libgtk_x11_2_0_la_SOURCES = $(gtk_c_sources)
 libgtk_linux_fb_2_0_la_SOURCES = $(gtk_c_sources)
 libgtk_win32_2_0_la_SOURCES = $(gtk_c_sources)
+libgtk_quartz_2_0_la_SOURCES = $(gtk_c_sources)
+libgtk_directfb_2_0_la_SOURCES = $(gtk_c_sources)
 
 libgtk_x11_2_0_la_LDFLAGS = $(libtool_opts)
 libgtk_linux_fb_2_0_la_LDFLAGS = $(libtool_opts)
 libgtk_win32_2_0_la_LDFLAGS = $(libtool_opts)
+libgtk_quartz_2_0_la_LDFLAGS = $(libtool_opts)
+libgtk_directfb_2_0_la_LDFLAGS = $(libtool_opts)
 
 libgtk_x11_2_0_la_LIBADD = $(libadd)
 libgtk_linux_fb_2_0_la_LIBADD = $(libadd)
-libgtk_win32_2_0_la_LIBADD = $(libadd) $(gtk_win32res_lo)
-libgtk_win32_2_0_la_DEPENDENCIES = $(gtk_def) $(gtk_win32res_lo)
+libgtk_win32_2_0_la_LIBADD = $(libadd) -lole32 -lgdi32 -lcomdlg32 -lwinspool
+libgtk_win32_2_0_la_DEPENDENCIES = $(gtk_def) $(gtk_win32_res)
+libgtk_quartz_2_0_la_LIBADD = $(libadd)
+libgtk_directfb_2_0_la_LIBADD = $(libadd)
 
 if USE_WIN32
-libgtk_target_ldflags = $(gtk_win32_symbols) -lwsock32
+libgtk_target_ldflags = $(gtk_win32_res_ldflag) $(gtk_win32_symbols)
 endif
-EXTRA_LTLIBRARIES = libgtk-x11-2.0.la libgtk-linux-fb-2.0.la libgtk-win32-2.0.la
+EXTRA_LTLIBRARIES = libgtk-x11-2.0.la libgtk-linux-fb-2.0.la libgtk-win32-2.0.la libgtk-quartz-2.0.la libgtk-directfb-2.0.la
 
 install-exec-hook: 
 if DISABLE_EXPLICIT_DEPS
@@ -662,16 +794,16 @@ if DISABLE_EXPLICIT_DEPS
 endif
 
 # Install a RC file for the default GTK+ theme, and key themes
-install-data-local: install-ms-lib install-libtool-import-lib
-       $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk-2.0
-       $(INSTALL_DATA) $(srcdir)/gtkrc.default $(DESTDIR)$(datadir)/themes/Default/gtk-2.0/gtkrc
+install-data-local: install-ms-lib install-def-file
+       $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Raleigh/gtk-2.0
+       $(INSTALL_DATA) $(srcdir)/gtkrc.default $(DESTDIR)$(datadir)/themes/Raleigh/gtk-2.0/gtkrc
        $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key
        $(INSTALL_DATA) $(srcdir)/gtkrc.key.default $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key/gtkrc
        $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key
        $(INSTALL_DATA) $(srcdir)/gtkrc.key.emacs $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key/gtkrc
 
-uninstall-local: uninstall-ms-lib uninstall-libtool-import-lib
-       rm -f $(DESTDIR)$(datadir)/themes/Default/gtk-2.0/gtkrc
+uninstall-local: uninstall-ms-lib uninstall-def-file
+       rm -f $(DESTDIR)$(datadir)/themes/Raleigh/gtk-2.0/gtkrc
        rm -f $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key/gtkrc
        rm -f $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key/gtkrc
 
@@ -694,13 +826,17 @@ LDADDS =                                                          \
 #
 # Installed tools
 #
-bin_PROGRAMS = gtk-query-immodules-2.0
+bin_PROGRAMS = gtk-query-immodules-2.0 gtk-update-icon-cache
 
 gtk_query_immodules_2_0_DEPENDENCIES = $(DEPS)
 gtk_query_immodules_2_0_LDADD = $(LDADDS)
 
 gtk_query_immodules_2_0_SOURCES = queryimmodules.c
 
+gtk_update_icon_cache_LDADD = $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la
+
+gtk_update_icon_cache_SOURCES = updateiconcache.c
+
 .PHONY: files test test-debug
 
 files:
@@ -708,7 +844,249 @@ files:
          echo $$p; \
        done
 
+STOCK_ICONS = \
+       stock-icons/16/gtk-about.png                    \
+       stock-icons/16/gtk-add.png                      \
+       stock-icons/16/gtk-cdrom.png                    \
+       stock-icons/16/gtk-connect.png                  \
+       stock-icons/16/gtk-convert.png                  \
+       stock-icons/16/gtk-copy.png                     \
+       stock-icons/16/gtk-cut.png                      \
+       stock-icons/16/gtk-delete.png                   \
+       stock-icons/16/gtk-directory.png                \
+       stock-icons/16/gtk-disconnect.png               \
+       stock-icons/16/gtk-edit.png                     \
+       stock-icons/16/gtk-execute.png                  \
+       stock-icons/16/gtk-file.png                     \
+       stock-icons/16/gtk-find-and-replace.png         \
+       stock-icons/16/gtk-find.png                     \
+       stock-icons/16/gtk-floppy.png                   \
+       stock-icons/16/gtk-fullscreen.png               \
+       stock-icons/16/gtk-go-back-ltr.png              \
+       stock-icons/16/gtk-go-down.png                  \
+       stock-icons/16/gtk-go-forward-ltr.png           \
+       stock-icons/16/gtk-goto-bottom.png              \
+       stock-icons/16/gtk-goto-first-ltr.png           \
+       stock-icons/16/gtk-goto-last-ltr.png            \
+       stock-icons/16/gtk-goto-top.png                 \
+       stock-icons/16/gtk-go-up.png                    \
+       stock-icons/16/gtk-harddisk.png                 \
+       stock-icons/16/gtk-help.png                     \
+       stock-icons/16/gtk-home.png                     \
+       stock-icons/16/gtk-indent-ltr.png               \
+       stock-icons/16/gtk-indent-rtl.png               \
+       stock-icons/16/gtk-index.png                    \
+       stock-icons/16/gtk-info.png                     \
+       stock-icons/16/gtk-jump-to-ltr.png              \
+       stock-icons/16/gtk-jump-to-rtl.png              \
+       stock-icons/16/gtk-justify-center.png           \
+       stock-icons/16/gtk-justify-fill.png             \
+       stock-icons/16/gtk-justify-left.png             \
+       stock-icons/16/gtk-justify-right.png            \
+       stock-icons/16/gtk-leave-fullscreen.png         \
+       stock-icons/16/gtk-media-forward-ltr.png        \
+       stock-icons/16/gtk-media-next-ltr.png           \
+       stock-icons/16/gtk-media-pause.png              \
+       stock-icons/16/gtk-media-play-ltr.png           \
+       stock-icons/16/gtk-media-play-rtl.png           \
+       stock-icons/16/gtk-media-previous-ltr.png       \
+       stock-icons/16/gtk-media-record.png             \
+       stock-icons/16/gtk-media-rewind-ltr.png         \
+       stock-icons/16/gtk-media-stop.png               \
+       stock-icons/16/gtk-missing-image.png            \
+       stock-icons/16/gtk-network.png                  \
+       stock-icons/16/gtk-new.png                      \
+       stock-icons/16/gtk-open.png                     \
+       stock-icons/16/gtk-paste.png                    \
+       stock-icons/16/gtk-preferences.png              \
+       stock-icons/16/gtk-print.png                    \
+       stock-icons/16/gtk-print-preview.png            \
+       stock-icons/16/gtk-properties.png               \
+       stock-icons/16/gtk-quit.png                     \
+       stock-icons/16/gtk-redo-ltr.png                 \
+       stock-icons/16/gtk-redo-rtl.png                 \
+       stock-icons/16/gtk-refresh.png                  \
+       stock-icons/16/gtk-remove.png                   \
+       stock-icons/16/gtk-revert-to-saved-ltr.png      \
+       stock-icons/16/gtk-revert-to-saved-rtl.png      \
+       stock-icons/16/gtk-save-as.png                  \
+       stock-icons/16/gtk-select-all.png               \
+       stock-icons/16/gtk-select-font.png              \
+       stock-icons/16/gtk-sort-ascending.png           \
+       stock-icons/16/gtk-sort-descending.png          \
+       stock-icons/16/gtk-spell-check.png              \
+       stock-icons/16/gtk-stop.png                     \
+       stock-icons/16/gtk-strikethrough.png            \
+       stock-icons/16/gtk-font.png                     \
+       stock-icons/16/gtk-undelete-ltr.png             \
+       stock-icons/16/gtk-undelete-rtl.png             \
+       stock-icons/16/gtk-underline.png                \
+       stock-icons/16/gtk-undo-ltr.png                 \
+       stock-icons/16/gtk-undo-rtl.png                 \
+       stock-icons/16/gtk-unindent-ltr.png             \
+       stock-icons/16/gtk-unindent-rtl.png             \
+       stock-icons/16/gtk-zoom-100.png                 \
+       stock-icons/16/gtk-zoom-fit.png                 \
+       stock-icons/16/gtk-zoom-in.png                  \
+       stock-icons/16/gtk-zoom-out.png                 \
+       stock-icons/16/gtk-italic.png                   \
+       stock-icons/16/gtk-bold.png                     \
+       stock-icons/20/gtk-apply.png                    \
+       stock-icons/20/gtk-cancel.png                   \
+       stock-icons/20/gtk-close.png                    \
+       stock-icons/20/gtk-no.png                       \
+       stock-icons/20/gtk-ok.png                       \
+       stock-icons/20/gtk-yes.png                      \
+       stock-icons/24/gtk-about.png                    \
+       stock-icons/24/gtk-add.png                      \
+       stock-icons/24/gtk-bold.png                     \
+       stock-icons/24/gtk-cdrom.png                    \
+       stock-icons/24/gtk-clear.png                    \
+       stock-icons/24/gtk-close.png                    \
+       stock-icons/24/gtk-color-picker.png             \
+       stock-icons/24/gtk-connect.png                  \
+       stock-icons/24/gtk-convert.png                  \
+       stock-icons/24/gtk-copy.png                     \
+       stock-icons/24/gtk-cut.png                      \
+       stock-icons/24/gtk-directory.png                \
+       stock-icons/24/gtk-disconnect.png               \
+       stock-icons/24/gtk-edit.png                     \
+       stock-icons/24/gtk-execute.png                  \
+       stock-icons/24/gtk-file.png                     \
+       stock-icons/24/gtk-find-and-replace.png         \
+       stock-icons/24/gtk-find.png                     \
+       stock-icons/24/gtk-font.png                     \
+       stock-icons/24/gtk-fullscreen.png               \
+       stock-icons/24/gtk-go-back-ltr.png              \
+       stock-icons/24/gtk-goto-top.png                 \
+       stock-icons/24/gtk-go-down.png                  \
+       stock-icons/24/gtk-goto-bottom.png              \
+       stock-icons/24/gtk-goto-first-ltr.png           \
+       stock-icons/24/gtk-goto-last-ltr.png            \
+       stock-icons/24/gtk-go-up.png                    \
+       stock-icons/24/gtk-harddisk.png                 \
+       stock-icons/24/gtk-help.png                     \
+       stock-icons/24/gtk-home.png                     \
+       stock-icons/24/gtk-indent-ltr.png               \
+       stock-icons/24/gtk-indent-rtl.png               \
+       stock-icons/24/gtk-index.png                    \
+       stock-icons/24/gtk-info.png                     \
+       stock-icons/24/gtk-italic.png                   \
+       stock-icons/24/gtk-jump-to-ltr.png              \
+       stock-icons/24/gtk-jump-to-rtl.png              \
+       stock-icons/24/gtk-justify-center.png           \
+       stock-icons/24/gtk-justify-fill.png             \
+       stock-icons/24/gtk-justify-left.png             \
+       stock-icons/24/gtk-justify-right.png            \
+       stock-icons/24/gtk-leave-fullscreen.png         \
+       stock-icons/24/gtk-media-forward-ltr.png        \
+       stock-icons/24/gtk-media-next-ltr.png           \
+       stock-icons/24/gtk-media-pause.png              \
+       stock-icons/24/gtk-media-play-ltr.png           \
+       stock-icons/24/gtk-media-play-rtl.png           \
+       stock-icons/24/gtk-media-previous-ltr.png       \
+       stock-icons/24/gtk-media-record.png             \
+       stock-icons/24/gtk-media-rewind-ltr.png         \
+       stock-icons/24/gtk-media-stop.png               \
+       stock-icons/24/gtk-missing-image.png            \
+       stock-icons/24/gtk-network.png                  \
+       stock-icons/24/gtk-new.png                      \
+       stock-icons/24/gtk-open.png                     \
+       stock-icons/24/gtk-orientation-reverse-landscape.png \
+       stock-icons/24/gtk-orientation-landscape.png    \
+       stock-icons/24/gtk-orientation-portrait.png     \
+       stock-icons/24/gtk-paste.png                    \
+       stock-icons/24/gtk-preferences.png              \
+       stock-icons/24/gtk-print.png                    \
+       stock-icons/24/gtk-print-preview.png            \
+       stock-icons/24/gtk-properties.png               \
+       stock-icons/24/gtk-quit.png                     \
+       stock-icons/24/gtk-redo-ltr.png                 \
+       stock-icons/24/gtk-redo-rtl.png                 \
+       stock-icons/24/gtk-refresh.png                  \
+       stock-icons/24/gtk-remove.png                   \
+       stock-icons/24/gtk-revert-to-saved-ltr.png      \
+       stock-icons/24/gtk-revert-to-saved-rtl.png      \
+       stock-icons/24/gtk-select-font.png              \
+       stock-icons/24/gtk-save-as.png                  \
+       stock-icons/24/gtk-floppy.png                   \
+       stock-icons/24/gtk-select-all.png               \
+       stock-icons/24/gtk-select-color.png             \
+       stock-icons/24/gtk-sort-ascending.png           \
+       stock-icons/24/gtk-sort-descending.png          \
+       stock-icons/24/gtk-spell-check.png              \
+       stock-icons/24/gtk-stop.png                     \
+       stock-icons/24/gtk-strikethrough.png            \
+       stock-icons/24/gtk-delete.png                   \
+       stock-icons/24/gtk-undelete-ltr.png             \
+       stock-icons/24/gtk-undelete-rtl.png             \
+       stock-icons/24/gtk-underline.png                \
+       stock-icons/24/gtk-undo-ltr.png                 \
+       stock-icons/24/gtk-undo-rtl.png                 \
+       stock-icons/24/gtk-unindent-ltr.png             \
+       stock-icons/24/gtk-unindent-rtl.png             \
+       stock-icons/24/gtk-zoom-100.png                 \
+       stock-icons/24/gtk-zoom-fit.png                 \
+       stock-icons/24/gtk-zoom-in.png                  \
+       stock-icons/24/gtk-zoom-out.png                 \
+       stock-icons/24/gtk-go-forward-ltr.png           \
+       stock-icons/32/gtk-dnd-multiple.png             \
+       stock-icons/32/gtk-dnd.png                      \
+       stock-icons/48/gtk-dialog-authentication.png    \
+       stock-icons/48/gtk-dialog-error.png             \
+       stock-icons/48/gtk-dialog-info.png              \
+       stock-icons/48/gtk-dialog-question.png          \
+       stock-icons/48/gtk-dialog-warning.png
+
+GENERATED_ICONS = \
+       stock-icons/16/gtk-go-back-rtl.png              \
+       stock-icons/16/gtk-go-forward-rtl.png           \
+       stock-icons/16/gtk-goto-first-rtl.png           \
+       stock-icons/16/gtk-goto-last-rtl.png            \
+       stock-icons/16/gtk-media-forward-rtl.png        \
+       stock-icons/16/gtk-media-next-rtl.png           \
+       stock-icons/16/gtk-media-previous-rtl.png       \
+       stock-icons/16/gtk-media-rewind-rtl.png         \
+       stock-icons/16/gtk-save.png                     \
+       stock-icons/24/gtk-go-back-rtl.png              \
+       stock-icons/24/gtk-go-forward-rtl.png           \
+       stock-icons/24/gtk-goto-first-rtl.png           \
+       stock-icons/24/gtk-goto-last-rtl.png            \
+       stock-icons/24/gtk-media-forward-rtl.png        \
+       stock-icons/24/gtk-media-next-rtl.png           \
+       stock-icons/24/gtk-media-previous-rtl.png       \
+       stock-icons/24/gtk-media-rewind-rtl.png         \
+       stock-icons/24/gtk-save.png
+
+# need to copy the icons so that we can replace the generated ones with
+# symlinks, even in the readonly srcdir case
+stamp-icons: $(STOCK_ICONS)
+       if [ ! -d stock-icons ]; then                                           \
+          cp -R $(srcdir)/stock-icons .;                                       \
+         chmod -R u+w stock-icons;                                             \
+        fi &&                                                                  \
+       for i in 16 24; do                                                      \
+          (cd stock-icons/$$i                                                  \
+          && $(LN_S) -f gtk-go-forward-ltr.png gtk-go-back-rtl.png             \
+          && $(LN_S) -f gtk-go-back-ltr.png gtk-go-forward-rtl.png             \
+          && $(LN_S) -f gtk-goto-last-ltr.png gtk-goto-first-rtl.png           \
+          && $(LN_S) -f gtk-goto-first-ltr.png gtk-goto-last-rtl.png           \
+          && $(LN_S) -f gtk-media-rewind-ltr.png gtk-media-forward-rtl.png     \
+          && $(LN_S) -f gtk-media-previous-ltr.png gtk-media-next-rtl.png      \
+          && $(LN_S) -f gtk-media-next-ltr.png gtk-media-previous-rtl.png      \
+          && $(LN_S) -f gtk-media-forward-ltr.png gtk-media-rewind-rtl.png     \
+          && $(LN_S) -f gtk-floppy.png gtk-save.png)                           \
+       done                                                                    \
+       && touch stamp-icons
+
+gtkbuiltincache.h: @REBUILD@ stamp-icons
+       $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache
+       ./gtk-update-icon-cache --force --ignore-theme-index    \
+          --source builtin_icons stock-icons > gtkbuiltincache.h
+
 EXTRA_DIST +=                   \
+       $(STOCK_ICONS)          \
+       $(GENERATED_ICONS)      \
        line-arrow.xbm          \
        line-wrap.xbm           \
        tree_plus.xbm           \
@@ -718,6 +1096,7 @@ EXTRA_DIST +=                   \
        gtk.def                 \
        gtk-win32.rc            \
        gtk-win32.rc.in         \
+       gtkwin32embed.h         \
        gtkfilesystemwin32.h    \
        gtkfilesystemwin32.c    \
        gtkrc.default           \
@@ -729,4 +1108,3 @@ EXTRA_DIST +=                   \
        abicheck.sh
 
 install-data-local:
-