]> Pileus Git - ~andy/gtk/blobdiff - gtk/Makefile.am
If major.minor of required and available glib versions are the same, add
[~andy/gtk] / gtk / Makefile.am
index 39ff01b9df534bf110df57507b4a7b6ff0bd8b32..961c55cfd9e0f5f1b984f8d096ea519fecf4a74f 100644 (file)
@@ -1,6 +1,6 @@
 # Makefile.am for gtk+/gtk
 
-SUBDIRS=stock-icons theme-bits
+SUBDIRS=theme-bits
 
 if OS_UNIX
 SUBDIRS += xdgmime
@@ -22,7 +22,6 @@ INCLUDES =                                            \
        -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                        \
@@ -40,18 +39,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
@@ -70,6 +70,18 @@ install-ms-lib:
 uninstall-ms-lib:
 endif
 
+gtk.def: gtk.symbols
+       (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
+         $(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_LINUX
+TESTS = abicheck.sh
+endif
+
 # libtool stuff: set version and export symbols for resolving
 # since automake doesn't support conditionalized libsomething_la_LDFLAGS
 # we use the general approach here
@@ -98,6 +110,7 @@ libtool_opts =                                                       \
 # by configure)
 gtk_public_h_sources =          \
        gtk.h                   \
+       gtkaboutdialog.h        \
        gtkaccelgroup.h         \
        gtkaccellabel.h         \
        gtkaccelmap.h           \
@@ -108,6 +121,7 @@ gtk_public_h_sources =          \
        gtkalignment.h          \
        gtkarrow.h              \
        gtkaspectframe.h        \
+       gtkassistant.h          \
        gtkbbox.h               \
        gtkbin.h                \
        gtkbindings.h           \
@@ -117,9 +131,13 @@ gtk_public_h_sources =          \
        gtkcelleditable.h       \
        gtkcelllayout.h         \
        gtkcellrenderer.h       \
+       gtkcellrendereraccel.h  \
+       gtkcellrenderercombo.h  \
        gtkcellrendererpixbuf.h \
+       gtkcellrendererprogress.h \
        gtkcellrenderertext.h   \
        gtkcellrenderertoggle.h \
+       gtkcellview.h           \
        gtkcheckbutton.h        \
        gtkcheckmenuitem.h      \
        gtkclipboard.h          \
@@ -145,6 +163,7 @@ gtk_public_h_sources =          \
        gtkeventbox.h           \
        gtkexpander.h           \
        gtkfilechooser.h        \
+       gtkfilechooserbutton.h  \
        gtkfilechooserdialog.h  \
        gtkfilechooserwidget.h  \
        gtkfilefilter.h         \
@@ -165,6 +184,7 @@ gtk_public_h_sources =          \
        gtkhseparator.h         \
        gtkiconfactory.h        \
        gtkicontheme.h          \
+       gtkiconview.h           \
        gtkimage.h              \
        gtkimagemenuitem.h      \
        gtkimcontext.h          \
@@ -177,6 +197,7 @@ gtk_public_h_sources =          \
        gtkitemfactory.h        \
        gtklabel.h              \
        gtklayout.h             \
+       gtklinkbutton.h         \
        gtklist.h               \
        gtklistitem.h           \
        gtkliststore.h          \
@@ -185,8 +206,10 @@ gtk_public_h_sources =          \
        gtkmenubar.h            \
        gtkmenuitem.h           \
        gtkmenushell.h          \
+       gtkmenutoolbutton.h     \
        gtkmessagedialog.h      \
        gtkmisc.h               \
+       gtkmodules.h            \
        gtknotebook.h           \
        gtkobject.h             \
        gtkoldeditable.h        \
@@ -218,6 +241,7 @@ gtk_public_h_sources =          \
        gtksocket.h             \
        gtkspinbutton.h         \
        gtkstatusbar.h          \
+       gtkstatusicon.h         \
        gtkstock.h              \
        gtkstyle.h              \
        gtktable.h              \
@@ -270,20 +294,24 @@ gtk_semi_private_h_sources =    \
        gtkfilesystem.h
 
 # GTK+ header files that don't get installed
-gtk_private_h_sources =         \
-       gtkcellrendererseptext.h\
-       gtkcellview.h           \
-       gtkcellviewmenuitem.h   \
+gtk_private_h_sources =                \
+       gtkdndcursors.h         \
        gtkentryprivate.h       \
+       gtkfilechooserembed.h   \
        gtkfilechooserentry.h   \
        gtkfilechooserdefault.h \
        gtkfilechooserprivate.h \
        gtkfilechooserutils.h   \
        gtkfilesystemunix.h     \
        gtkfilesystemmodel.h    \
-       gtkrbtree.h             \
+       gtkiconcache.h          \
+       gtkpathbar.h            \
+       gtkplugprivate.h        \
+       gtkrbtree.h             \
+       gtksequence.h           \
+       gtksocketprivate.h      \
        gtktextbtree.h          \
-       gtktextchildprivate.h   \
+       gtktextchildprivate.h   \
        gtktextsegment.h        \
        gtktexttypes.h          \
        gtktextutil.h           \
@@ -299,6 +327,7 @@ gtk_private_h_sources =         \
 # GTK+ C sources to build the library from
 gtk_c_sources =                 \
        fnmatch.c               \
+       gtkaboutdialog.c        \
        gtkaccelgroup.c         \
        gtkaccellabel.c         \
        gtkaccelmap.c           \
@@ -309,6 +338,7 @@ gtk_c_sources =                 \
        gtkalignment.c          \
        gtkarrow.c              \
        gtkaspectframe.c        \
+       gtkassistant.c          \
        gtkbbox.c               \
        gtkbin.c                \
        gtkbindings.c           \
@@ -318,12 +348,13 @@ gtk_c_sources =                 \
        gtkcelleditable.c       \
        gtkcelllayout.c         \
        gtkcellrenderer.c       \
+       gtkcellrendereraccel.c  \
+       gtkcellrenderercombo.c  \
        gtkcellrendererpixbuf.c \
-       gtkcellrendererseptext.c\
+       gtkcellrendererprogress.c \
        gtkcellrenderertext.c   \
        gtkcellrenderertoggle.c \
        gtkcellview.c           \
-       gtkcellviewmenuitem.c   \
        gtkcheckbutton.c        \
        gtkcheckmenuitem.c      \
        gtkclipboard.c          \
@@ -346,7 +377,9 @@ gtk_c_sources =                 \
        gtkeventbox.c           \
        gtkexpander.c           \
        gtkfilechooser.c        \
+       gtkfilechooserbutton.c  \
        gtkfilechooserdialog.c  \
+       gtkfilechooserembed.c   \
        gtkfilechooserentry.c   \
        gtkfilechooserdefault.c \
        gtkfilechooserutils.c   \
@@ -372,9 +405,9 @@ gtk_c_sources =                 \
        gtkhsv.c                \
        gtkhsv.h                \
        gtkiconfactory.c        \
+       gtkiconcache.c          \
        gtkicontheme.c          \
-       gtkiconthemeparser.c    \
-       gtkiconthemeparser.h    \
+       gtkiconview.c           \
        gtkimage.c              \
        gtkimagemenuitem.c      \
        gtkimcontext.c          \
@@ -390,6 +423,7 @@ gtk_c_sources =                 \
        gtkkeyhash.h            \
        gtklabel.c              \
        gtklayout.c             \
+       gtklinkbutton.c         \
        gtklist.c               \
        gtklistitem.c           \
        gtkliststore.c          \
@@ -400,14 +434,20 @@ 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         \
        gtkpaned.c              \
+       gtkpathbar.c            \
        gtkpixmap.c             \
+       gtkplug.c               \
        gtkpreview.c            \
        gtkprogress.c           \
        gtkprogressbar.c        \
@@ -422,6 +462,7 @@ gtk_c_sources =                 \
        gtkscale.c              \
        gtkscrollbar.c          \
        gtkscrolledwindow.c     \
+       gtksequence.c           \
        gtkselection.c          \
        gtkseparator.c          \
        gtkseparatormenuitem.c  \
@@ -429,8 +470,10 @@ gtk_c_sources =                 \
        gtksettings.c           \
        gtksignal.c             \
        gtksizegroup.c          \
+       gtksocket.c             \
        gtkspinbutton.c         \
        gtkstatusbar.c          \
+       gtkstatusicon.c         \
        gtkstock.c              \
        gtkstyle.c              \
        gtktable.c              \
@@ -498,11 +541,21 @@ gtk_private_h_sources += gtkfilesystemwin32.h
 gtk_c_sources +=         gtkfilesystemwin32.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
 
 # we use our own built_sources variable rules to avoid automake's
 # BUILT_SOURCES oddities
@@ -515,11 +568,14 @@ gtk_built_public_sources =                        \
        gtkmarshal.h                            \
        gtktypebuiltins.h
 
+# built sources that don't get installed
 gtk_built_private_headers =                    \
-       gtkmarshalers.h
+       gtkalias.h                              \
+       gtkmarshalers.h                         \
+       gtkbuiltincache.h
 
-# built sources that don't get installed
 gtk_built_sources =                            \
+       gtkaliasdef.c                           \
        gtktypebuiltins.c                       \
        gtkmarshalers.c                         \
        gtkmarshalers.h                         \
@@ -536,6 +592,7 @@ stamp_files =                                       \
 # 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 =                            \
+       gtk.symbols                             \
        gtkversion.h.in                         \
        gtkmarshalers.list                      \
        gtkmarshal.list
@@ -570,7 +627,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
 
@@ -584,29 +641,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 \"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
@@ -617,23 +675,26 @@ 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)
+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_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_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
+libgtk_win32_2_0_la_DEPENDENCIES = $(gtk_def) $(gtk_win32_res)
+libgtk_quartz_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
 
 install-exec-hook: 
 if DISABLE_EXPLICIT_DEPS
@@ -641,16 +702,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
 
@@ -673,13 +734,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:
@@ -687,7 +752,250 @@ 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-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
+
+stamp-icons: $(STOCK_ICONS)
+       for i in 16 24; do                                                      \
+          (cd $(srcdir)/stock-icons/$$i                                        \
+          && rm -f gtk-go-back-rtl.png                                         \
+          && $(LN_S) gtk-go-forward-ltr.png gtk-go-back-rtl.png                \
+          && rm -f gtk-go-forward-rtl.png                                      \
+          && $(LN_S) gtk-go-back-ltr.png gtk-go-forward-rtl.png                \
+          && rm -f gtk-goto-first-rtl.png                                      \
+          && $(LN_S) gtk-goto-last-ltr.png gtk-goto-first-rtl.png              \
+          && rm -f gtk-goto-last-rtl.png                                       \
+          && $(LN_S) gtk-goto-first-ltr.png gtk-goto-last-rtl.png              \
+          && rm -f gtk-media-forward-rtl.png                                   \
+          && $(LN_S) gtk-media-rewind-ltr.png gtk-media-forward-rtl.png        \
+          && rm -f gtk-media-next-rtl.png                                      \
+          && $(LN_S) gtk-media-previous-ltr.png gtk-media-next-rtl.png         \
+          && rm -f gtk-media-previous-rtl.png                                  \
+          && $(LN_S) gtk-media-next-ltr.png gtk-media-previous-rtl.png         \
+          && rm -f gtk-media-rewind-rtl.png                                    \
+          && $(LN_S) gtk-media-forward-ltr.png gtk-media-rewind-rtl.png        \
+          && rm -f gtk-save.png                                                \
+          && $(LN_S) gtk-floppy.png gtk-save.png)                              \
+       done                                                                    \
+       && touch stamp-icons
+
+gtkbuiltincache.h: @REBUILD@ gtk-update-icon-cache$(EXEEXT) stamp-icons
+       ./gtk-update-icon-cache --force --ignore-theme-index    \
+          --source builtin_icons stock-icons > gtkbuiltincache.h
+
+MAINTAINERCLEANFILES += stamp-icons
+
 EXTRA_DIST +=                   \
+       $(STOCK_ICONS)          \
+       $(GENERATED_ICONS)      \
        line-arrow.xbm          \
        line-wrap.xbm           \
        tree_plus.xbm           \
@@ -697,13 +1005,15 @@ EXTRA_DIST +=                   \
        gtk.def                 \
        gtk-win32.rc            \
        gtk-win32.rc.in         \
+       gtkwin32embed.h         \
        gtkfilesystemwin32.h    \
        gtkfilesystemwin32.c    \
        gtkrc.default           \
        gtkrc.key.default       \
        gtkrc.key.emacs         \
        makefile.msc            \
-       makefile.msc.in
+       makefile.msc.in         \
+       makegtkalias.pl         \
+       abicheck.sh
 
 install-data-local:
-