]> Pileus Git - ~andy/gtk/blobdiff - gtk/Makefile.am
Make 3.0 parallel-installable to 2.x
[~andy/gtk] / gtk / Makefile.am
index ee48eae742da18253277753ca70fdda6501ebf4d..2a0093e1d87519fc48d1b1b7eaa4dc7906d44ae8 100644 (file)
@@ -1,25 +1,38 @@
 # Makefile.am for gtk+/gtk
 include $(top_srcdir)/Makefile.decl
+-include $(INTROSPECTION_MAKEFILE)
+INTROSPECTION_GIRS =
+INTROSPECTION_SCANNER_ARGS = \
+       --add-include-path=../gdk-pixbuf \
+       --add-include-path=../gdk
+INTROSPECTION_COMPILER_ARGS = \
+       --includedir=$(srcdir) \
+    --includedir=. \
+    --includedir=../gdk-pixbuf \
+    --includedir=../gdk
 
-xdgmimedir =
-
-if OS_UNIX
-xdgmimedir += xdgmime
 if USE_QUARTZ
-GTK_PRINT_PREVIEW_COMMAND="/Applications/Preview.app/Contents/MacOS/Preview %f"
+GTK_PRINT_PREVIEW_COMMAND="open -a /Applications/Preview.app %f"
 else
 GTK_PRINT_PREVIEW_COMMAND="evince --unlink-tempfile --preview --print-settings %s %f"
 endif
-endif
 
-SUBDIRS = theme-bits $(xdgmimedir) . tests
-DIST_SUBDIRS=theme-bits xdgmime tests
+SUBDIRS = theme-bits . tests
+DIST_SUBDIRS=theme-bits tests
 
+if HAVE_PAPI_CUPS
+GTK_PRINT_BACKENDS=file,papi,cups
+else
 if HAVE_CUPS
 GTK_PRINT_BACKENDS=file,cups
 else
+if HAVE_PAPI
+GTK_PRINT_BACKENDS=file,papi
+else
 GTK_PRINT_BACKENDS=file,lpr
 endif
+endif
+endif
 
 INCLUDES =                                             \
        -DG_LOG_DOMAIN=\"Gtk\"                          \
@@ -38,8 +51,8 @@ INCLUDES =                                            \
        -I$(top_srcdir) -I../gdk                        \
        -I$(top_srcdir)/gdk                             \
        -I$(top_srcdir)/gdk-pixbuf -I../gdk-pixbuf      \
-       -DGDK_PIXBUF_DISABLE_DEPRECATED                 \
        -DGDK_DISABLE_DEPRECATED                        \
+       -DGTK_DISABLE_DEPRECATED                        \
        -DGTK_FILE_SYSTEM_ENABLE_UNSUPPORTED            \
        -DGTK_PRINT_BACKEND_ENABLE_UNSUPPORTED          \
        $(GTK_DEBUG_FLAGS)                              \
@@ -55,7 +68,7 @@ endif
 
 if OS_WIN32
 gtk_def = gtk.def
-gtk_win32_symbols = -export-symbols gtk.def
+gtk_win32_symbols = -export-symbols $(srcdir)/gtk.def
 
 gtk_win32_res = gtk-win32-res.o
 gtk_win32_res_ldflag = -Wl,gtk-win32-res.o
@@ -64,9 +77,9 @@ gtk-win32-res.o : gtk-win32.rc
        $(WINDRES) gtk-win32.rc $@
 
 install-def-file: gtk.def
-       $(INSTALL) gtk.def $(DESTDIR)$(libdir)/gtk-win32-2.0.def
+       $(INSTALL) $(srcdir)/gtk.def $(DESTDIR)$(libdir)/gtk-win32-3.0.def
 uninstall-def-file:
-       -rm $(DESTDIR)$(libdir)/gtk-win32-2.0.def
+       -rm $(DESTDIR)$(libdir)/gtk-win32-3.0.def
 else
 install-def-file:
 uninstall-def-file:
@@ -76,7 +89,7 @@ if MS_LIB_AVAILABLE
 noinst_DATA = gtk-win32-$(GTK_API_VERSION).lib
 
 gtk-win32-$(GTK_API_VERSION).lib: libgtk-win32-$(GTK_API_VERSION).la gtk.def
-       lib -name:libgtk-win32-$(GTK_API_VERSION)-@LT_CURRENT_MINUS_AGE@.dll -def:gtk.def -out:$@
+       lib -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgtk-win32-$(GTK_API_VERSION)-@LT_CURRENT_MINUS_AGE@.dll -def:gtk.def -out:$@
 
 install-ms-lib:
        $(INSTALL) gtk-win32-$(GTK_API_VERSION).lib $(DESTDIR)$(libdir)
@@ -88,8 +101,10 @@ install-ms-lib:
 uninstall-ms-lib:
 endif
 
+# This places the generated .def file in srcdir, since it is expected to be there.
+# (The one from a tarball is)
 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
+       (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') > $(srcdir)/gtk.def
 
 gtkalias.h: gtk.symbols
          $(PERL) $(srcdir)/makegtkalias.pl < $(srcdir)/gtk.symbols > gtkalias.h
@@ -107,17 +122,13 @@ if OS_LINUX
 TESTS += abicheck.sh pltcheck.sh
 endif
 
-libgtkincludedir = $(includedir)/gtk-2.0/gtk
+libgtkincludedir = $(includedir)/gtk-3.0/gtk
 libadd =                                                               \
        $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la  \
        $(top_builddir)/gdk/$(gdktargetlib)                             \
        $(GTK_DEP_LIBS)
 deps =
 
-if OS_UNIX
-libadd += xdgmime/libxdgmime.la
-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
@@ -155,6 +166,8 @@ gtk_public_h_sources =          \
        gtkaccessible.h         \
        gtkaction.h             \
        gtkactiongroup.h        \
+       gtkaccelgroupprivate.h  \
+       gtkactivatable.h        \
        gtkadjustment.h         \
        gtkalignment.h          \
        gtkarrow.h              \
@@ -176,6 +189,7 @@ gtk_public_h_sources =          \
        gtkcellrendererpixbuf.h \
        gtkcellrendererprogress.h \
        gtkcellrendererspin.h   \
+       gtkcellrendererspinner.h\
        gtkcellrenderertext.h   \
        gtkcellrenderertoggle.h \
        gtkcellview.h           \
@@ -188,17 +202,18 @@ gtk_public_h_sources =          \
        gtkcombobox.h           \
        gtkcomboboxentry.h      \
        gtkcontainer.h          \
-       gtkcurve.h              \
        gtkdebug.h              \
        gtkdialog.h             \
        gtkdnd.h                \
        gtkdrawingarea.h        \
        gtkeditable.h           \
        gtkentry.h              \
+       gtkentrybuffer.h        \
        gtkentrycompletion.h    \
        gtkenums.h              \
        gtkeventbox.h           \
        gtkexpander.h           \
+       gtkextendedlayout.h     \
        gtkfilechooser.h        \
        gtkfilechooserbutton.h  \
        gtkfilechooserdialog.h  \
@@ -208,7 +223,6 @@ gtk_public_h_sources =          \
        gtkfontbutton.h         \
        gtkfontsel.h            \
        gtkframe.h              \
-       gtkgamma.h              \
        gtkgc.h                 \
        gtkhandlebox.h          \
        gtkhbbox.h              \
@@ -218,6 +232,7 @@ gtk_public_h_sources =          \
        gtkhscale.h             \
        gtkhscrollbar.h         \
        gtkhseparator.h         \
+       gtkhsv.h                \
        gtkiconfactory.h        \
        gtkicontheme.h          \
        gtkiconview.h           \
@@ -227,7 +242,7 @@ gtk_public_h_sources =          \
        gtkimcontextsimple.h    \
        gtkimmodule.h           \
        gtkimmulticontext.h     \
-       gtkinputdialog.h        \
+       gtkinfobar.h            \
        gtkinvisible.h          \
        gtkitem.h               \
        gtklabel.h              \
@@ -246,6 +261,8 @@ gtk_public_h_sources =          \
        gtkmountoperation.h     \
        gtknotebook.h           \
        gtkobject.h             \
+       gtkoffscreenwindow.h    \
+       gtkorientable.h         \
        gtkpagesetup.h          \
        gtkpaned.h              \
        gtkpapersize.h          \
@@ -278,10 +295,12 @@ gtk_public_h_sources =          \
        gtkseparator.h          \
        gtkseparatormenuitem.h  \
        gtkseparatortoolitem.h  \
+       gtkshow.h               \
        gtksettings.h           \
        gtksizegroup.h          \
        gtksocket.h             \
        gtkspinbutton.h         \
+       gtkspinner.h            \
        gtkstatusbar.h          \
        gtkstatusicon.h         \
        gtkstock.h              \
@@ -304,6 +323,8 @@ gtk_public_h_sources =          \
        gtktoolbar.h            \
        gtktoolbutton.h         \
        gtktoolitem.h           \
+       gtktoolitemgroup.h      \
+       gtktoolpalette.h        \
        gtktoolshell.h          \
        gtktooltip.h            \
        gtktreednd.h            \
@@ -334,38 +355,37 @@ gtk_unix_print_public_h_sources =    \
        gtkpagesetupunixdialog.h        \
        gtkprintunixdialog.h            \
        gtkprinter.h                    \
-       gtkprintjob.h
+       gtkprintjob.h                   \
+       gtkunixprint.h
 endif
 
 # Installed header files without compatibility guarantees
 # that are not included in gtk/gtk.h
 gtk_semi_private_h_sources =    \
-       gtktextlayout.h         \
-       gtkfilesystem.h
+       gtktextlayout.h
 
 # GTK+ header files that don't get installed
 gtk_private_h_sources =                \
        gtkquery.h              \
        gtksearchengine.h       \
-       gtksearchenginebeagle.h \
-       gtksearchenginetracker.h\
        gtksearchenginesimple.h \
        gtkdndcursors.h         \
        gtkentryprivate.h       \
        gtkbuilderprivate.h     \
+       gtkcustompaperunixdialog.h\
        gtkfilechooserdefault.h \
        gtkfilechooserembed.h   \
        gtkfilechooserentry.h   \
        gtkfilechooserprivate.h \
        gtkfilechoosersettings.h \
        gtkfilechooserutils.h   \
+       gtkfilesystem.h         \
        gtkfilesystemmodel.h    \
-       gtkfilesystemunix.h     \
-       gtkhsv.h                \
        gtkiconcache.h          \
        gtkintl.h               \
        gtkkeyhash.h            \
        gtkmnemonichash.h       \
+       gtkmountoperationprivate.h \
        gtkpathbar.h            \
        gtkplugprivate.h        \
        gtkprintoperation-private.h\
@@ -386,16 +406,16 @@ gtk_private_h_sources =           \
        gtktextutil.h           \
        gtkthemes.h             \
        gtktoggleactionprivate.h\
+       gtktoolpaletteprivate.h \
        gtktreedatalist.h       \
        gtktreeprivate.h        \
-       gtkwindow-decorate.h
+       gtkwindow-decorate.h    \
+       $(gtk_clipboard_dnd_h_sources)
 
 # GTK+ C sources to build the library from
 gtk_base_c_sources =            \
        gtkquery.c              \
        gtksearchengine.c       \
-       gtksearchenginebeagle.c \
-       gtksearchenginetracker.c\
        gtksearchenginesimple.c \
        fnmatch.c               \
        gtkaboutdialog.c        \
@@ -405,6 +425,7 @@ gtk_base_c_sources =            \
        gtkaccessible.c         \
        gtkaction.c             \
        gtkactiongroup.c        \
+       gtkactivatable.c        \
        gtkadjustment.c         \
        gtkalignment.c          \
        gtkarrow.c              \
@@ -427,6 +448,7 @@ gtk_base_c_sources =            \
        gtkcellrendererpixbuf.c \
        gtkcellrendererprogress.c \
        gtkcellrendererspin.c   \
+       gtkcellrendererspinner.c\
        gtkcellrenderertext.c   \
        gtkcellrenderertoggle.c \
        gtkcellview.c           \
@@ -438,14 +460,15 @@ gtk_base_c_sources =            \
        gtkcombobox.c           \
        gtkcomboboxentry.c      \
        gtkcontainer.c          \
-       gtkcurve.c              \
        gtkdialog.c             \
        gtkdrawingarea.c        \
        gtkeditable.c           \
        gtkentry.c              \
+       gtkentrybuffer.c        \
        gtkentrycompletion.c    \
        gtkeventbox.c           \
        gtkexpander.c           \
+       gtkextendedlayout.c     \
        gtkfilechooser.c        \
        gtkfilechooserbutton.c  \
        gtkfilechooserdefault.c \
@@ -462,7 +485,6 @@ gtk_base_c_sources =            \
        gtkfontbutton.c         \
        gtkfontsel.c            \
        gtkframe.c              \
-       gtkgamma.c              \
        gtkgc.c                 \
        gtkhandlebox.c          \
        gtkhbbox.c              \
@@ -484,7 +506,7 @@ gtk_base_c_sources =            \
        gtkimcontextsimple.c    \
        gtkimmodule.c           \
        gtkimmulticontext.c     \
-       gtkinputdialog.c        \
+       gtkinfobar.c            \
        gtkinvisible.c          \
        gtkitem.c               \
        gtkkeyhash.c            \
@@ -493,7 +515,6 @@ gtk_base_c_sources =            \
        gtklinkbutton.c         \
        gtkliststore.c          \
        gtkmain.c               \
-       gtkmarshal.c            \
        gtkmarshalers.c         \
        gtkmenu.c               \
        gtkmenubar.c            \
@@ -507,6 +528,8 @@ gtk_base_c_sources =            \
        gtkmountoperation.c     \
        gtknotebook.c           \
        gtkobject.c             \
+       gtkoffscreenwindow.c    \
+       gtkorientable.c         \
        gtkpagesetup.c          \
        gtkpaned.c              \
        gtkpapersize.c          \
@@ -545,8 +568,10 @@ gtk_base_c_sources =            \
        gtkseparatortoolitem.c  \
        gtksettings.c           \
        gtksizegroup.c          \
+       gtkshow.c               \
        gtksocket.c             \
        gtkspinbutton.c         \
+       gtkspinner.c            \
        gtkstatusbar.c          \
        gtkstatusicon.c         \
        gtkstock.c              \
@@ -576,6 +601,8 @@ gtk_base_c_sources =            \
        gtktoolbar.c            \
        gtktoolbutton.c         \
        gtktoolitem.c           \
+       gtktoolitemgroup.c              \
+       gtktoolpalette.c        \
        gtktoolshell.c          \
        gtktooltip.c            \
        gtktreedatalist.c       \
@@ -605,55 +632,17 @@ gtk_base_c_sources =            \
        gtkwindow.c             \
        $(gtk_clipboard_dnd_c_sources)
 
-# Broken
-gtk_public_h_sources += \
-       gtktext.h               \
-       gtktree.h               \
-       gtktreeitem.h
-gtk_base_c_sources += \
-       gtktext.c               \
-       gtktree.c               \
-       gtktreeitem.c
-
 # Deprecated
 gtk_public_h_sources += \
-       gtkclist.h              \
-       gtkcombo.h              \
-       gtkctree.h              \
-       gtkfilesel.h            \
-       gtkitemfactory.h        \
-       gtklist.h               \
-       gtklistitem.h           \
-       gtkoldeditable.h        \
-       gtkoptionmenu.h         \
-       gtkpixmap.h             \
-       gtkpreview.h            \
-       gtkprogress.h           \
-       gtksignal.h             \
-       gtktipsquery.h          \
-       gtktooltips.h
+       gtkprogress.h
 gtk_base_c_sources += \
-       gtkclist.c              \
-       gtkcombo.c              \
-       gtkctree.c              \
-       gtkfilesel.c            \
-       gtkitemfactory.c        \
-       gtklist.c               \
-       gtklistitem.c           \
-       gtkoldeditable.c        \
-       gtkoptionmenu.c         \
-       gtkpixmap.c             \
-       gtkpreview.c            \
-       gtkprogress.c           \
-       gtksignal.c             \
-       gtktipsquery.c          \
-       gtktooltips.c
+       gtkprogress.c
 
 gtk_c_sources = $(gtk_base_c_sources)
 gtk_all_c_sources = $(gtk_base_c_sources)
 
 gtk_os_unix_c_sources = \
-       gtkfilesystemunix.c             \
+       gtkcustompaperunixdialog.c      \
        gtkpagesetupunixdialog.c        \
        gtkprinter.c                    \
        gtkprinteroption.c              \
@@ -662,27 +651,29 @@ gtk_os_unix_c_sources = \
        gtkprintjob.c                   \
        gtkprintoperation-unix.c        \
        gtkprintunixdialog.c            \
-        gtkprintbackend.c
+        gtkprintbackend.c              \
+       gtksearchenginebeagle.c         \
+       gtksearchenginetracker.c
 gtk_all_c_sources += $(gtk_os_unix_c_sources)
 if OS_UNIX
 gtk_private_h_sources += \
-       gtkfilesystemunix.h             \
        gtkiconcachevalidator.h         \
        gtkprintbackend.h               \
        gtkprinter-private.h            \
        gtkprinteroption.h              \
        gtkprinteroptionset.h           \
-       gtkprinteroptionwidget.h
+       gtkprinteroptionwidget.h        \
+       gtksearchenginebeagle.h         \
+       gtksearchenginetracker.h
 gtk_c_sources += $(gtk_os_unix_c_sources)
 endif
 
 gtk_os_win32_c_sources = \
-       gtkfilesystemwin32.c            \
        gtkprint-win32.c                \
        gtkprintoperation-win32.c
 gtk_all_c_sources += $(gtk_os_win32_c_sources)
 if OS_WIN32
-gtk_private_h_sources += gtkfilesystemwin32.h gtkprint-win32.h
+gtk_private_h_sources += gtkprint-win32.h
 gtk_c_sources += $(gtk_os_win32_c_sources)
 endif
 
@@ -690,19 +681,23 @@ gtk_use_x11_c_sources = \
        gtkplug-x11.c   \
        gtksocket-x11.c \
        gtkxembed.c     \
-       gtktrayicon-x11.c
+       gtktrayicon-x11.c \
+       gtkmountoperation-x11.c
 gtk_use_win32_c_sources = \
        gtkplug-win32.c   \
        gtksocket-win32.c \
        gtkwin32embed.c   \
-       gtkwin32embedwidget.c
+       gtkwin32embedwidget.c \
+       gtkmountoperation-stub.c
 gtk_use_quartz_c_sources =     \
        gtksearchenginequartz.c \
        gtkplug-stub.c          \
-       gtksocket-stub.c
+       gtksocket-stub.c        \
+       gtkmountoperation-stub.c
 gtk_use_stub_c_sources = \
        gtkplug-stub.c   \
-       gtksocket-stub.c
+       gtksocket-stub.c \
+       gtkmountoperation-stub.c
 gtk_all_c_sources += $(gtk_use_x11_c_sources) $(gtk_use_win32_c_sources) $(gtk_use_quartz_c_sources) $(gtk_use_stub_c_sources)
 if USE_X11
 gtk_private_h_sources += gtkxembed.h gtktrayicon.h xembed.h
@@ -723,12 +718,14 @@ 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 = gtkclipboard-quartz.c gtkdnd-quartz.c gtkquartz.c
+gtk_clipboard_dnd_h_sources = 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 = 
+gtk_clipboard_dnd_c_sources_CFLAGS =
 endif
+EXTRA_DIST += gtkquartz.h
 
 # we use our own built_sources variable rules to avoid automake's
 # BUILT_SOURCES oddities
@@ -738,27 +735,25 @@ endif
 
 # built sources that get installed with the header files
 gtk_built_public_sources =                     \
-       gtkmarshal.h                            \
        gtktypebuiltins.h
 
 # built headers that don't get installed
 gtk_built_private_headers =                    \
        gtkalias.h                              \
        gtkmarshalers.h                         \
-       gtkbuiltincache.h
+       gtkbuiltincache.h                       \
+       gtkimcontextsimpleseqs.h
 
 gtk_built_sources =                            \
        gtkaliasdef.c                           \
        gtktypebuiltins.c                       \
        gtktypefuncs.c                          \
        gtkmarshalers.c                         \
-       gtkmarshal.c                            \
        ${gtk_built_private_headers}            \
        ${gtk_built_public_sources}
 
 stamp_files =                                  \
        stamp-gtkmarshalers.h                   \
-       stamp-gtkmarshal.h                      \
        stamp-gtktypebuiltins.h                 \
        stamp-icons
 
@@ -772,13 +767,12 @@ gtk_extra_sources =                               \
        gtkstatusicon-quartz.c                  \
        gtk.symbols                             \
        gtkversion.h.in                         \
-       gtkmarshalers.list                      \
-       gtkmarshal.list
+       gtkmarshalers.list
 
 #
 # setup GTK+ sources and their dependencies
 #
-MAINTAINERCLEANFILES = $(gtk_built_sources) $(stamp_files) $(GENERATED_ICONS)
+MAINTAINERCLEANFILES = $(gtk_built_sources) $(stamp_files) $(GENERATED_ICONS) stock-icons/icon-theme.cache
 EXTRA_HEADERS =
 EXTRA_DIST += $(gtk_private_h_sources) $(gtk_extra_sources)
 EXTRA_DIST += $(gtk_built_sources)
@@ -812,24 +806,6 @@ gtkmarshalers.c: @REBUILD@ gtkmarshalers.list
        && cp xgen-gmlc gtkmarshalers.c \
        && rm -f xgen-gmlc
 
-gtkmarshal.h: stamp-gtkmarshal.h
-       @true
-stamp-gtkmarshal.h: @REBUILD@ gtkmarshal.list
-       echo "#ifndef GTK_DISABLE_DEPRECATED" > xgen-gmh                                        \
-        && $(GLIB_GENMARSHAL) --prefix=gtk_marshal $(srcdir)/gtkmarshal.list --header >> xgen-gmh \
-       && echo "#endif /* GTK_DISABLE_DEPRECATED */" >> xgen-gmh \
-       && (cmp -s xgen-gmh gtkmarshal.h || cp xgen-gmh gtkmarshal.h) \
-       && rm -f xgen-gmh \
-       && echo timestamp > $(@F)
-gtkmarshal.c: @REBUILD@ gtkmarshal.list
-       (echo "#include \"gtkmarshal.h\""; \
-        echo "#include \"gtkalias.h\""; \
-        $(GLIB_GENMARSHAL) --prefix=gtk_marshal $(srcdir)/gtkmarshal.list --body; \
-        echo "#define __gtk_marshal_MARSHAL_C__"; \
-        echo "#include \"gtkaliasdef.c\"") >> 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) gtktypebuiltins.h.template
@@ -847,8 +823,7 @@ gtktypebuiltins.c: @REBUILD@ $(gtk_public_h_sources) gtktypebuiltins.c.template
 gtktypefuncs.c: @REBUILD@ $(top_srcdir)/gtk/*.h $(top_srcdir)/gdk/*.h Makefile
        echo '#include <gtk/gtk.h>' > xgen-gtfsrc.c && \
          ${CPP} $(DEFS) $(INCLUDES) -DGTK_ENABLE_BROKEN $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) xgen-gtfsrc.c | \
-         egrep '\<g[td]k_[a-zA-Z0-9_]+_get_type\>' | \
-         sed -e 's/.*\(\<g[td]k_[a-zA-Z0-9_]\+_get_type\>\).*/\1/' | \
+         grep -o '\bg[td]k_[a-zA-Z0-9_]*_get_type\b' | \
          sort | uniq | \
          sed '{ s/^/*tp++ = /; s/$$/();/; }' > xgen-gtf \
        && cp xgen-gtf $@ && rm -f xgen-gtf
@@ -857,55 +832,78 @@ gtktestutils.c: gtktypefuncs.c
 # target platform:
 lib_LTLIBRARIES = $(gtktargetlib)
 
-gtkincludedir = $(includedir)/gtk-2.0/gtk
+gtkincludedir = $(includedir)/gtk-3.0/gtk
 gtkinclude_HEADERS = $(gtk_public_h_sources) $(gtk_semi_private_h_sources) $(gtk_built_public_sources) gtkversion.h
 
-gtkunixprintincludedir = $(includedir)/gtk-unix-print-2.0/gtk
+gtkunixprintincludedir = $(includedir)/gtk-3.0/unix-print/gtk
 gtkunixprintinclude_HEADERS = $(gtk_unix_print_public_h_sources)
 
-libgtk_x11_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_3_0_la_SOURCES = $(gtk_c_sources)
+libgtk_win32_3_0_la_SOURCES = $(gtk_c_sources)
+libgtk_quartz_3_0_la_SOURCES = $(gtk_c_sources)
+libgtk_directfb_3_0_la_SOURCES = $(gtk_c_sources)
 
-libgtk_x11_2_0_la_LDFLAGS = $(libtool_opts)
-libgtk_win32_2_0_la_LDFLAGS = $(libtool_opts) -Wl,-luuid
-libgtk_quartz_2_0_la_LDFLAGS = $(libtool_opts)
-libgtk_directfb_2_0_la_LDFLAGS = $(libtool_opts)
+libgtk_x11_3_0_la_LDFLAGS = $(libtool_opts)
+libgtk_win32_3_0_la_LDFLAGS = $(libtool_opts) -Wl,-luuid
+libgtk_quartz_3_0_la_LDFLAGS = $(libtool_opts)
+libgtk_directfb_3_0_la_LDFLAGS = $(libtool_opts)
 
-libgtk_x11_2_0_la_LIBADD = $(libadd)
-libgtk_win32_2_0_la_LIBADD = $(libadd) -lole32 -lgdi32 -lcomdlg32 -lwinspool -lcomctl32
-libgtk_quartz_2_0_la_LIBADD = $(libadd)
-libgtk_directfb_2_0_la_LIBADD = $(libadd)
+libgtk_x11_3_0_la_LIBADD = $(libadd)
+libgtk_win32_3_0_la_LIBADD = $(libadd) -lole32 -lgdi32 -lcomdlg32 -lwinspool -lcomctl32
+libgtk_quartz_3_0_la_LIBADD = $(libadd)
+libgtk_directfb_3_0_la_LIBADD = $(libadd)
 
-libgtk_x11_2_0_la_DEPENDENCIES = $(deps)
-libgtk_win32_2_0_la_DEPENDENCIES = $(gtk_def) $(gtk_win32_res) $(deps)
-libgtk_quartz_2_0_la_DEPENDENCIES = $(deps)
-libgtk_directfb_2_0_la_DEPENDENCIES = $(deps)
+libgtk_x11_3_0_la_DEPENDENCIES = $(deps)
+libgtk_win32_3_0_la_DEPENDENCIES = $(gtk_def) $(gtk_win32_res) $(deps)
+libgtk_quartz_3_0_la_DEPENDENCIES = $(deps)
+libgtk_directfb_3_0_la_DEPENDENCIES = $(deps)
 
 if USE_WIN32
 libgtk_target_ldflags = $(gtk_win32_res_ldflag) $(gtk_win32_symbols)
 endif
-EXTRA_LTLIBRARIES = libgtk-x11-2.0.la libgtk-win32-2.0.la libgtk-quartz-2.0.la libgtk-directfb-2.0.la
+EXTRA_LTLIBRARIES = libgtk-x11-3.0.la libgtk-win32-3.0.la libgtk-quartz-3.0.la libgtk-directfb-3.0.la
 
-install-exec-hook: 
+install-exec-hook:
 if DISABLE_EXPLICIT_DEPS
        $(SHELL) $(top_srcdir)/sanitize-la.sh $(DESTDIR)$(libdir)/$(gtktargetlib)
 endif
 
+if USE_QUARTZ
+install-mac-key-theme:
+       $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Mac/gtk-3.0-key
+       $(INSTALL_DATA) $(srcdir)/gtkrc.key.mac $(DESTDIR)$(datadir)/themes/Mac/gtk-3.0-key/gtkrc
+uninstall-mac-key-theme:
+       rm -f $(DESTDIR)$(datadir)/themes/Mac/gtk-3.0-key/gtkrc
+else
+install-mac-key-theme:
+uninstall-mac-key-theme:
+endif
+
+dist-hook: ../build/win32/vs9/gtk.vcproj
+
+../build/win32/vs9/gtk.vcproj: ../build/win32/vs9/gtk.vcprojin
+       for F in $(gtk_base_c_sources) $(gtk_os_win32_c_sources) $(gtk_use_win32_c_sources); do \
+               case $$F in \
+               *.c) echo '   <File RelativePath="..\..\..\gtk\'$$F'" />' \
+                    ;; \
+               esac; \
+       done >libgtk.sourcefiles
+       $(CPP) -P - <$(top_srcdir)/build/win32/vs9/gtk.vcprojin >$@
+       rm libgtk.sourcefiles
+
 # Install a RC file for the default GTK+ theme, and key themes
-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-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
+install-data-local: install-ms-lib install-def-file install-mac-key-theme
+       $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Raleigh/gtk-3.0
+       $(INSTALL_DATA) $(srcdir)/gtkrc.default $(DESTDIR)$(datadir)/themes/Raleigh/gtk-3.0/gtkrc
+       $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk-3.0-key
+       $(INSTALL_DATA) $(srcdir)/gtkrc.key.default $(DESTDIR)$(datadir)/themes/Default/gtk-3.0-key/gtkrc
+       $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Emacs/gtk-3.0-key
+       $(INSTALL_DATA) $(srcdir)/gtkrc.key.emacs $(DESTDIR)$(datadir)/themes/Emacs/gtk-3.0-key/gtkrc
+
+uninstall-local: uninstall-ms-lib uninstall-def-file uninstall-mac-key-theme
+       rm -f $(DESTDIR)$(datadir)/themes/Raleigh/gtk-3.0/gtkrc
+       rm -f $(DESTDIR)$(datadir)/themes/Default/gtk-3.0-key/gtkrc
+       rm -f $(DESTDIR)$(datadir)/themes/Emacs/gtk-3.0-key/gtkrc
 
 # if srcdir!=builddir, clean out maintainer-clean files from builddir
 # this allows dist to pass.
@@ -921,24 +919,90 @@ TEST_DEPS = $(DEPS) gtk.immodules
 LDADDS =                                                               \
        $(gtktargetlib)                                                 \
        $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la  \
-       $(top_builddir)/gdk/$(gdktargetlib)
+       $(top_builddir)/gdk/$(gdktargetlib)                             \
+       $(GTK_DEP_LIBS)
+
+if HAVE_INTROSPECTION
+introspection_files = \
+    $(gtkinclude_HEADERS) \
+    $(gtk_all_c_sources) \
+    gtktypebuiltins.h \
+    gtktypebuiltins.c
+
+Gtk-3.0.gir: $(INTROSPECTION_SCANNER) $(gtktargetlib) $(top_builddir)/gdk/Gdk-3.0.gir Makefile
+Gtk_3_0_gir_SCANNERFLAGS = --strip-prefix=Gtk
+Gtk_3_0_gir_INCLUDES = Atk-1.0 Gdk-3.0
+Gtk_3_0_gir_CFLAGS = \
+               $(INCLUDES) \
+               -UGDK_DISABLE_DEPRECATED \
+               -UGTK_DISABLE_DEPRECATED \
+               -DGTK_TEXT_USE_INTERNAL_UNSUPPORTED_API
+Gtk_3_0_gir_LIBS = $(gtktargetlib)
+Gtk_3_0_gir_FILES = $(addprefix $(srcdir)/, $(introspection_files))
+INTROSPECTION_GIRS += Gtk-3.0.gir
+
+girdir = $(datadir)/gir-1.0
+dist_gir_DATA = $(INTROSPECTION_GIRS)
+
+typelibsdir = $(libdir)/girepository-1.0
+typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
+
+CLEANFILES += $(dist_gir_DATA) $(typelibs_DATA)
+endif
 
 #
 # Installed tools
 #
 bin_PROGRAMS = \
-       gtk-query-immodules-2.0 \
-       gtk-update-icon-cache
-bin_SCRIPTS = gtk-builder-convert
+       gtk-query-immodules-3.0 \
+       gtk-update-icon-cache-3.0
+
+bin_SCRIPTS = gtk-builder-convert-3.0
 
-gtk_query_immodules_2_0_DEPENDENCIES = $(DEPS)
-gtk_query_immodules_2_0_LDADD = $(LDADDS)
+if OS_WIN32
 
-gtk_query_immodules_2_0_SOURCES = queryimmodules.c
+# Workaround for UAC silliness: programs with "update" in their name
+# are believed to be installers and require elevated privileges to be
+# used... Use a manifest file to tell Windows that
+# gtk-update-icon-cache.exe doesn't require any special privileges.
+
+GTK_UPDATE_ICON_CACHE_MANIFEST = gtk-update-icon-cache.exe.manifest
+
+bin_SCRIPTS += \
+       $(GTK_UPDATE_ICON_CACHE_MANIFEST)
+
+gtk-update-icon-cache.exe.manifest:
+       (echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' ; \
+        echo '<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">' ; \
+        echo '  <assemblyIdentity version="1.0.0.0"' ; \
+        echo '     processorArchitecture="'$(EXE_MANIFEST_ARCHITECTURE)'"' ; \
+        echo '     name="gtk-update-icon-cache.exe"' ; \
+        echo '     type="win32"/>' ; \
+        echo '  <!-- Identify the application security requirements. -->' ; \
+        echo '  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">' ; \
+        echo '    <security>' ; \
+        echo '      <requestedPrivileges>' ; \
+        echo '        <requestedExecutionLevel' ; \
+        echo '          level="asInvoker"' ; \
+        echo '          uiAccess="false"/>' ; \
+        echo '        </requestedPrivileges>' ; \
+        echo '       </security>' ; \
+        echo '  </trustInfo>' ; \
+        echo '</assembly>' ) >$@
+
+endif
 
-gtk_update_icon_cache_LDADD = $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la
+gtk_query_immodules_3_0_DEPENDENCIES = $(DEPS)
+gtk_query_immodules_3_0_LDADD = $(LDADDS)
 
-gtk_update_icon_cache_SOURCES = \
+gtk_query_immodules_3_0_SOURCES = queryimmodules.c
+
+gtk_update_icon_cache_3_0_LDADD = \
+       $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
+       $(GDK_PIXBUF_DEP_LIBS)
+
+
+gtk_update_icon_cache_3_0_SOURCES = \
        updateiconcache.c 
 
 .PHONY: files test test-debug
@@ -1007,7 +1071,11 @@ STOCK_ICONS = \
        stock-icons/16/gtk-paste.png                    \
        stock-icons/16/gtk-preferences.png              \
        stock-icons/16/gtk-print.png                    \
+       stock-icons/16/gtk-print-error.png              \
+       stock-icons/16/gtk-print-paused.png             \
        stock-icons/16/gtk-print-preview.png            \
+       stock-icons/16/gtk-print-report.png             \
+       stock-icons/16/gtk-print-warning.png            \
        stock-icons/16/gtk-properties.png               \
        stock-icons/16/gtk-quit.png                     \
        stock-icons/16/gtk-redo-ltr.png                 \
@@ -1045,6 +1113,10 @@ STOCK_ICONS = \
        stock-icons/20/gtk-no.png                       \
        stock-icons/20/gtk-ok.png                       \
        stock-icons/20/gtk-yes.png                      \
+       stock-icons/24/audio-volume-high.png            \
+       stock-icons/24/audio-volume-low.png             \
+       stock-icons/24/audio-volume-medium.png          \
+       stock-icons/24/audio-volume-muted.png           \
        stock-icons/24/document-open-recent.png         \
        stock-icons/24/gtk-about.png                    \
        stock-icons/24/gtk-add.png                      \
@@ -1109,7 +1181,11 @@ STOCK_ICONS = \
        stock-icons/24/gtk-paste.png                    \
        stock-icons/24/gtk-preferences.png              \
        stock-icons/24/gtk-print.png                    \
+       stock-icons/24/gtk-print-error.png              \
+       stock-icons/24/gtk-print-paused.png             \
        stock-icons/24/gtk-print-preview.png            \
+       stock-icons/24/gtk-print-report.png             \
+       stock-icons/24/gtk-print-warning.png            \
        stock-icons/24/gtk-properties.png               \
        stock-icons/24/gtk-quit.png                     \
        stock-icons/24/gtk-redo-ltr.png                 \
@@ -1159,6 +1235,12 @@ GENERATED_ICONS = \
        stock-icons/16/gtk-media-previous-rtl.png       \
        stock-icons/16/gtk-media-rewind-rtl.png         \
        stock-icons/16/gtk-save.png                     \
+       stock-icons/16/drive-harddisk.png               \
+       stock-icons/16/folder.png                       \
+       stock-icons/16/folder-remote.png                \
+       stock-icons/16/user-home.png                    \
+       stock-icons/16/user-desktop.png                 \
+       stock-icons/16/text-x-generic.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           \
@@ -1167,7 +1249,13 @@ GENERATED_ICONS = \
        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
+       stock-icons/24/gtk-save.png                     \
+       stock-icons/24/drive-harddisk.png               \
+       stock-icons/24/folder.png                       \
+       stock-icons/24/folder-remote.png                \
+       stock-icons/24/user-home.png                    \
+       stock-icons/24/user-desktop.png                 \
+       stock-icons/24/text-x-generic.png
 
 # need to copy the icons so that we can replace the generated ones with
 # symlinks, even in the readonly srcdir case
@@ -1200,8 +1288,20 @@ stamp-icons: $(STOCK_ICONS)
           && $(RM) gtk-media-rewind-rtl.png                            \
           && $(LN_S) gtk-media-forward-ltr.png gtk-media-rewind-rtl.png\
           && $(RM) gtk-save.png                                        \
-          && $(LN_S) gtk-floppy.png gtk-save.png)                      \
-       done                                                            \
+          && $(LN_S) gtk-floppy.png gtk-save.png                       \
+          && $(RM) drive-harddisk.png                                  \
+          && $(LN_S) gtk-harddisk.png drive-harddisk.png               \
+          && $(RM) folder.png                                          \
+          && $(LN_S) gtk-directory.png folder.png                      \
+          && $(RM) folder-remote.png                                   \
+          && $(LN_S) gtk-directory.png folder-remote.png               \
+          && $(RM) user-home.png                                       \
+          && $(LN_S) gtk-directory.png user-home.png                   \
+          && $(RM) user-desktop.png                                    \
+          && $(LN_S) gtk-directory.png user-desktop.png                \
+          && $(RM) text-x-generic.png                                  \
+          && $(LN_S) gtk-file.png text-x-generic.png                   \
+       ) done                                                          \
        && touch stamp-icons
 
 if CROSS_COMPILING
@@ -1209,11 +1309,11 @@ gtk_update_icon_cache_program = $(GTK_UPDATE_ICON_CACHE)
 else
 gtk_update_icon_cache_program =                                                        \
        GDK_PIXBUF_MODULE_FILE=$(top_builddir)/gdk-pixbuf/gdk-pixbuf.loaders    \
-          ./gtk-update-icon-cache
+          ./gtk-update-icon-cache-3.0
 endif
 
 gtkbuiltincache.h: @REBUILD@ stamp-icons
-       $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT)
+       $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache-3.0$(EXEEXT) $(GTK_UPDATE_ICON_CACHE_MANIFEST)
        $(gtk_update_icon_cache_program) --force --ignore-theme-index           \
           --source builtin_icons stock-icons > gtkbuiltincache.h.tmp &&        \
        mv gtkbuiltincache.h.tmp gtkbuiltincache.h
@@ -1234,14 +1334,13 @@ EXTRA_DIST +=                   \
        gtkwin32embed.h         \
        gtkwin32embedwidget.h   \
        gtkwin32embedwidget.c   \
-       gtkfilesystemwin32.h    \
-       gtkfilesystemwin32.c    \
        gtkprint-win32.h        \
        gtkprint-win32.c        \
        gtksearchenginequartz.h \
        gtkrc.default           \
        gtkrc.key.default       \
        gtkrc.key.emacs         \
+       gtkrc.key.mac           \
        makefile.msc            \
        makefile.msc.in         \
        makegtkalias.pl         \
@@ -1253,3 +1352,5 @@ EXTRA_DIST +=                   \
 
 
 install-data-local:
+
+-include $(top_srcdir)/git.mk