]> Pileus Git - ~andy/gtk/blobdiff - gtk/makefile.msc.in
workaround for bug #137496, the real fix would involve just another small
[~andy/gtk] / gtk / makefile.msc.in
index cec02d5c459128546eca61d23886990704cc4cc4..59d578f03fb3e764fb95eaac6464d15e0bd6008e 100644 (file)
@@ -5,7 +5,7 @@
 ## how to install for yourself.
 
 TOP = ..\..
-!INCLUDE $(TOP)/build/win32/make.msc
+!INCLUDE $(TOP)/glib/build/win32/make.msc
 
 ################################################################
 
@@ -17,6 +17,7 @@ GDK_PIXBUF_VER = @GDK_PIXBUF_MAJOR@.@GDK_PIXBUF_MINOR@
 GDK_LIBS = ../gdk/gdk-win32-$(GTK_VER).lib
 GTK_LIBS = gtk-win32-$(GTK_VER).lib
 GDK_PIXBUF_LIBS = ../gdk-pixbuf/gdk_pixbuf-$(GDK_PIXBUF_VER).lib
+GTK_BINARY_VERSION = @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@LT_CURRENT@
 
 # Perl and awk are needed to generate some source files.
 # These generated source files are distribuyted with the Win32 GTk+ source
@@ -24,12 +25,17 @@ GDK_PIXBUF_LIBS = ../gdk-pixbuf/gdk_pixbuf-$(GDK_PIXBUF_VER).lib
 PERL = perl
 AWK = gawk
 
-INCLUDES = -I . -I .. -I ../gdk -I ../gdk-pixbuf 
-DEPCFLAGS = $(PANGO_CFLAGS) $(GLIB_CFLAGS) $(LIBICONV_CFLAGS) $(INTL_CFLAGS) $(ATK_CFLAGS)
+INCLUDES = -FImsvc_recommended_pragmas.h -I . -I .. -I ../gdk -I ../gdk-pixbuf
+DEPCFLAGS = $(PANGO_CFLAGS) $(GLIB_CFLAGS) $(LIBICONV_CFLAGS) \
+               $(INTL_CFLAGS) $(ATK_CFLAGS)
 LDFLAGS = $(ATK_LIBS) /link /machine:ix86 $(LINKDEBUG)
 # Some files use near as an identifier
 # Don't define GTK_COMPILATION here, because it's for gtk-x.x.dll only
-DEFINES = -DG_ENABLE_DEBUG -DGTK_DISABLE_COMPAT_H -DG_LOG_DOMAIN=\"Gtk\" -Dnear=xxnear -DGTK_VERSION=\"$(GTK_VER)\"
+DEFINES = $(G_DEBUGGING) -DGTK_DISABLE_COMPAT_H -DG_LOG_DOMAIN=\"Gtk\" -Dnear=xxnear \
+       -DPANGO_ENABLE_BACKEND \
+       -DGTK_VERSION=\"$(GTK_VER)\" -DGTK_BINARY_VERSION=\"$(GTK_BINARY_VERSION)\" \
+       -DGTK_HOST=\"win32\" \
+       -DGTK_FILE_SYSTEM_ENABLE_UNSUPPORTED
 
 TOUCH = copy makefile.msc+nul
 
@@ -42,15 +48,19 @@ all :                                               \
        ..\config.h                             \
        generated                               \
        gtk-stocks-icons                        \
-       gtk-win32-$(GTK_VER).dll                \
-       gtk-win32-$(GTK_VER)s.lib
+       libgtk-win32-$(GTK_VER)-0.dll           \
+       gtk-query-immodules-$(GTK_VER).exe \
+#      gtk-win32-$(GTK_VER)s.lib \
+#      gtk-x11-$(GTK_VER).dll
 
 gtk_OBJECTS =                                  \
        fnmatch.obj                             \
-#      gdk-pixbuf-loader.obj                   \
        gtkaccelgroup.obj                       \
        gtkaccellabel.obj                       \
+       gtkaccelmap.obj \
        gtkaccessible.obj \
+       gtkaction.obj   \
+       gtkactiongroup.obj      \
        gtkadjustment.obj                       \
        gtkalignment.obj                        \
        gtkarrow.obj                            \
@@ -61,18 +71,25 @@ gtk_OBJECTS =                                       \
        gtkbox.obj                              \
        gtkbutton.obj                           \
        gtkcalendar.obj                         \
+       gtkcelleditable.obj                     \
+       gtkcelllayout.obj                       \
        gtkcellrenderer.obj                     \
        gtkcellrenderertext.obj                 \
-       gtkcellrenderertextpixbuf.obj           \
        gtkcellrenderertoggle.obj               \
        gtkcellrendererpixbuf.obj               \
+       gtkcellrendererseptext.obj              \
+       gtkcellview.obj         \
+       gtkcellviewmenuitem.obj \
        gtkcheckbutton.obj                      \
        gtkcheckmenuitem.obj                    \
        gtkclipboard.obj                        \
        gtkclist.obj                            \
+       gtkcolorbutton.obj                              \
        gtkcolorsel.obj                         \
        gtkcolorseldialog.obj                   \
        gtkcombo.obj                            \
+       gtkcombobox.obj                 \
+       gtkcomboboxentry.obj            \
        gtkcontainer.obj                        \
        gtkctree.obj                            \
        gtkcurve.obj                            \
@@ -81,10 +98,24 @@ gtk_OBJECTS =                                       \
        gtkdrawingarea.obj                      \
        gtkeditable.obj                         \
        gtkentry.obj                            \
+       gtkentrycompletion.obj          \
        gtkeventbox.obj                         \
+       gtkexpander.obj                 \
+       gtkfilechooser.obj                      \
+       gtkfilechooserdefault.obj                       \
+       gtkfilechooserdialog.obj                        \
+       gtkfilechooserembed.obj         \
+       gtkfilechooserentry.obj                 \
+       gtkfilechooserutils.obj                 \
+       gtkfilechooserwidget.obj                        \
+       gtkfilefilter.obj                       \
        gtkfilesel.obj                          \
+       gtkfilesystem.obj                               \
+       gtkfilesystemmodel.obj                          \
+       gtkfilesystemwin32.obj                          \
        gtkfixed.obj                            \
        gtkfontsel.obj                          \
+       gtkfontbutton.obj                               \
        gtkframe.obj                            \
        gtkgamma.obj                            \
        gtkgc.obj                               \
@@ -98,6 +129,8 @@ gtk_OBJECTS =                                        \
        gtkhseparator.obj                       \
        gtkhsv.obj                              \
        gtkiconfactory.obj                      \
+       gtkicontheme.obj                        \
+       gtkiconthemeparser.obj                  \
        gtkimage.obj                            \
        gtkimagemenuitem.obj    \
        gtkimcontext.obj                        \
@@ -108,12 +141,15 @@ gtk_OBJECTS =                                     \
        gtkinvisible.obj                        \
        gtkitem.obj                             \
        gtkitemfactory.obj                      \
+       gtkkeyhash.obj  \
        gtklabel.obj                            \
        gtklayout.obj                           \
        gtklist.obj                             \
        gtklistitem.obj                         \
        gtkliststore.obj                                \
        gtkmain.obj                             \
+       gtkmarshalers.obj               \
+       gtkmarshal.obj          \
        gtkmenu.obj                             \
        gtkmenubar.obj                          \
        gtkmenuitem.obj                         \
@@ -124,14 +160,16 @@ gtk_OBJECTS =                                     \
        gtkobject.obj                           \
        gtkoldeditable.obj                      \
        gtkoptionmenu.obj                       \
-#      gtkpacker.obj                           \
        gtkpaned.obj                            \
+       gtkpathbar.obj                          \
        gtkpixmap.obj                           \
-       gtkplug.obj                             \
+#      gtkplug.obj                             \
        gtkpreview.obj                          \
        gtkprogress.obj                         \
        gtkprogressbar.obj                      \
+       gtkradioaction.obj                      \
        gtkradiobutton.obj                      \
+       gtkradiotoolbutton.obj                  \
        gtkradiomenuitem.obj                    \
        gtkrange.obj                            \
        gtkrbtree.obj   \
@@ -143,10 +181,11 @@ gtk_OBJECTS =                                     \
        gtkselection.obj                        \
        gtkseparator.obj                        \
        gtkseparatormenuitem.obj \
+       gtkseparatortoolitem.obj \
        gtksettings.obj \
        gtksignal.obj                           \
        gtksizegroup.obj \
-       gtksocket.obj                           \
+#      gtksocket.obj                           \
        gtkspinbutton.obj                       \
        gtkstyle.obj                            \
        gtkstatusbar.obj                        \
@@ -165,18 +204,23 @@ gtk_OBJECTS =                                     \
        gtktexttag.obj                          \
        gtktexttagtable.obj                     \
        gtktexttypes.obj                        \
+       gtktextutil.obj \
        gtktextview.obj                         \
        gtkthemes.obj                           \
        gtktipsquery.obj                        \
+       gtktoggleaction.obj                     \
        gtktogglebutton.obj                     \
+       gtktoggletoolbutton.obj                 \
        gtktoolbar.obj                          \
+       gtktoolbutton.obj                               \
+       gtktoolitem.obj                         \
        gtktooltips.obj                         \
        gtktree.obj                             \
        gtktreedatalist.obj     \
        gtktreednd.obj                          \
        gtktreeitem.obj                         \
        gtktreemodel.obj                        \
-#      gtktreemodelsimple.obj                  \
+       gtktreemodelfilter.obj                  \
        gtktreemodelsort.obj                    \
        gtktreeselection.obj                    \
        gtktreesortable.obj \
@@ -184,6 +228,8 @@ gtk_OBJECTS =                                       \
        gtktreeview.obj                 \
        gtktreeviewcolumn.obj                   \
        gtktypeutils.obj                        \
+       gtktypebuiltins.obj \
+       gtkuimanager.obj        \
        gtkvbbox.obj                            \
        gtkvbox.obj                             \
        gtkviewport.obj                         \
@@ -201,42 +247,57 @@ gtk_public_h_sources =            \
        gtk.h                   \
        gtkaccelgroup.h         \
        gtkaccellabel.h         \
+       gtkaccelmap.h           \
        gtkaccessible.h \
+       gtkaction.h             \
+       gtkactiongroup.h        \
        gtkadjustment.h         \
        gtkalignment.h          \
        gtkarrow.h              \
        gtkaspectframe.h        \
+       gtkbbox.h               \
        gtkbin.h                \
        gtkbindings.h           \
-       gtkbbox.h               \
        gtkbox.h                \
        gtkbutton.h             \
        gtkcalendar.h           \
+       gtkcelleditable.h       \
+       gtkcelllayout.h         \
+       gtkcellrenderer.h       \
+       gtkcellrendererpixbuf.h \
+       gtkcellrenderertext.h   \
+       gtkcellrenderertoggle.h \
        gtkcheckbutton.h        \
        gtkcheckmenuitem.h      \
+       gtkclipboard.h          \
        gtkclist.h              \
        gtkclipboard.h          \
+       gtkcolorbutton.h        \
        gtkcolorsel.h           \
        gtkcolorseldialog.h     \
        gtkcombo.h              \
+       gtkcombobox.h           \
+       gtkcomboboxentry.h      \
        gtkcontainer.h          \
        gtkctree.h              \
        gtkcurve.h              \
-       gtkcellrenderer.h       \
-       gtkcellrenderertext.h   \
-       gtkcellrenderertextpixbuf.h     \
-       gtkcellrenderertoggle.h \
-       gtkcellrendererpixbuf.h \
        gtkdebug.h              \
        gtkdialog.h             \
        gtkdnd.h                \
        gtkdrawingarea.h        \
        gtkeditable.h           \
        gtkentry.h              \
+       gtkentrycompletion.h    \
        gtkenums.h              \
        gtkeventbox.h           \
+       gtkexpander.h           \
+       gtkfilechooser.h        \
+       gtkfilechooserdialog.h  \
+       gtkfilechooserwidget.h  \
+       gtkfilefilter.h         \
        gtkfilesel.h            \
        gtkfixed.h              \
+       gtkfontbutton.h         \
        gtkfontsel.h            \
        gtkframe.h              \
        gtkgamma.h              \
@@ -251,8 +312,11 @@ gtk_public_h_sources =             \
        gtkhseparator.h         \
        gtkhsv.h                \
        gtkiconfactory.h        \
+       gtkicontheme.h          \
        gtkimage.h              \
+       gtkimagemenuitem.h      \
        gtkimcontext.h          \
+       gtkimcontextsimple.h    \
        gtkimmodule.h           \
        gtkimmulticontext.h     \
        gtkinputdialog.h        \
@@ -265,6 +329,7 @@ gtk_public_h_sources =              \
        gtklistitem.h           \
        gtkliststore.h          \
        gtkmain.h               \
+       gtkmarshal.h    \
        gtkmenu.h               \
        gtkmenubar.h            \
        gtkmenuitem.h           \
@@ -272,20 +337,20 @@ gtk_public_h_sources =            \
        gtkmessagedialog.h      \
        gtkmisc.h               \
        gtknotebook.h           \
-       gtkoldeditable.h        \
        gtkobject.h             \
+       gtkoldeditable.h        \
        gtkoptionmenu.h         \
-#      gtkpacker.h             \
        gtkpaned.h              \
-#      gdk-pixbuf-loader.h     \
        gtkpixmap.h             \
        gtkplug.h               \
        gtkpreview.h            \
        gtkprivate.h            \
        gtkprogress.h           \
        gtkprogressbar.h        \
+       gtkradioaction.h        \
        gtkradiobutton.h        \
        gtkradiomenuitem.h      \
+       gtkradiotoolbutton.h    \
        gtkrange.h              \
        gtkrc.h                 \
        gtkruler.h              \
@@ -294,15 +359,20 @@ gtk_public_h_sources =            \
        gtkscrolledwindow.h     \
        gtkselection.h          \
        gtkseparator.h          \
+       gtkseparatormenuitem.h  \
+       gtkseparatortoolitem.h  \
+       gtksettings.h           \
+       gtksignal.h             \
        gtksizegroup.h  \
        gtksignal.h             \
        gtksocket.h             \
        gtkspinbutton.h         \
-       gtkstyle.h              \
        gtkstatusbar.h          \
        gtkstock.h              \
+       gtkstyle.h              \
        gtktable.h              \
        gtktearoffmenuitem.h    \
+       gtktext.h               \
        gtktextbuffer.h         \
        gtktextchild.h          \
        gtktextdisplay.h        \
@@ -312,15 +382,19 @@ gtk_public_h_sources =            \
        gtktexttag.h            \
        gtktexttagtable.h       \
        gtktextview.h           \
-       gtktext.h               \
        gtktipsquery.h          \
+       gtktoggleaction.h       \
        gtktogglebutton.h       \
+       gtktoggletoolbutton.h   \
        gtktoolbar.h            \
+       gtktoolbutton.h         \
+       gtktoolitem.h           \
        gtktooltips.h           \
        gtktree.h               \
+       gtktreednd.h            \
        gtktreeitem.h           \
        gtktreemodel.h          \
-#      gtktreemodelsimple.h    \
+       gtktreemodelfilter.h    \
        gtktreemodelsort.h      \
        gtktreeselection.h      \
        gtktreesortable.h       \
@@ -328,6 +402,7 @@ gtk_public_h_sources =              \
        gtktreeview.h           \
        gtktreeviewcolumn.h     \
        gtktypeutils.h          \
+       gtkuimanager.h  \
        gtkvbbox.h              \
        gtkvbox.h               \
        gtkviewport.h           \
@@ -341,16 +416,15 @@ gtk_public_h_sources =            \
 
 # these aren't use here, but listed for reference
 gtk_extra_sources = \
-       gtkcompat.h             \
-       maketypes.awk           \
-       makeenums.h             \
+       gtkversion.h            \
        gtk-boxed.defs          \
        gtkmarshal.list         \
 
 ..\config.h : ..\config.h.win32
        copy ..\config.h.win32 ..\config.h
 
-GENERATED = gtk.defs gtktypebuiltins.h gtktypebuiltins_vars.c gtktypebuiltins_ids.c gtktypebuiltins_evals.c gtkmarshal.h gtkmarshal.c
+# Removed: gtk.defs 
+GENERATED = gtktypebuiltins.h gtktypebuiltins.c gtkmarshal.h gtkmarshal.c gtkmarshalers.h gtkmarshalers.c
 
 #
 # Generated source files:
@@ -358,29 +432,51 @@ GENERATED = gtk.defs gtktypebuiltins.h gtktypebuiltins_vars.c gtktypebuiltins_id
 generated : $(GENERATED)
        $(TOUCH) generated
 
-gtk.defs : makeenums.pl gtk-boxed.defs $(gtk_public_h_sources) makefile.msc
-       $(PERL) makeenums.pl defs $(gtk_public_h_sources) >gd.tmp
-       copy gd.tmp+gtk-boxed.defs gtk.defs
-       @erase gd.tmp
+gtk.defs : $(gtk_public_h_sources) makefile.msc
+       $(PERL) $(GLIB)\gobject\glib-mkenums \
+               --comments ";; @comment@" \
+               --fprod "; enumerations from \"@filename@\"\n " \
+               --vhead "(define-@type@ @EnumName@" \
+               --vprod "   (@valuenick@ @VALUENAME@)" \
+               --vtail ")" \
+               $(gtk_public_h_sources) > xgen-gdef
+       copy xgen-gdef gtk.defs
 
 # generate type identifier header (GTK_TYPE_WIDGET_FLAGS)
-gtktypebuiltins.h: gtk.defs maketypes.awk
-       $(AWK) -f maketypes.awk gtk.defs macros >gtktypebuiltins.h
+# use 'echo' to work around 'command line too long'
+gtktypebuiltins.h: $(gtk_public_h_sources) makefile.msc
+       echo #ifndef __GTK_TYPE_BUILTINS_H__ > gtktypebuiltins.h
+       echo #define __GTK_TYPE_BUILTINS_H__ >> gtktypebuiltins.h
+       echo #include "glib-object.h" >> gtktypebuiltins.h
+       echo G_BEGIN_DECLS >> gtktypebuiltins.h
+       $(PERL) $(GLIB)\gobject\glib-mkenums \
+               --fprod "/* enumerations from \"@filename@\" */\n" \
+               --vhead "GType @enum_name@_get_type (void);\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) >> gtktypebuiltins.h
 
-# generate type identifier variables (GTK_TYPE_WIDGET_FLAGS)
-gtktypebuiltins_vars.c: gtk.defs maketypes.awk
-       $(AWK) -f maketypes.awk gtk.defs variables >gtktypebuiltins_vars.c
+gtktypebuiltins.c: $(gtk_public_h_sources) makefile.msc
+       $(PERL) $(GLIB)\gobject\glib-mkenums \
+               --fhead "#define GTK_ENABLE_BROKEN\n#include \"gtk.h\"\n#include \"gtkprivate.h\"" \
+               --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" \
+               $(gtk_public_h_sources) > xgen-gtbc
+       copy xgen-gtbc gtktypebuiltins.c
 
-# generate type entries for type-id registration
-gtktypebuiltins_ids.c: gtk.defs maketypes.awk
-       $(AWK) -f maketypes.awk gtk.defs entries >gtktypebuiltins_ids.c
+# private marshalers
+gtkmarshalers.h : gtkmarshalers.list
+       $(GLIB)\gobject\glib-genmarshal --prefix=_gtk_marshal gtkmarshalers.list --header >>gtkmarshalers.h
 
-# generate enum value arrays
-gtktypebuiltins_evals.c: makeenums.pl gtk.defs
-       $(PERL) makeenums.pl arrays $(gtk_public_h_sources) $(gdk_headers) >gtktypebuiltins_evals.c
+gtkmarshalers.c : gtkmarshalers.list
+       $(GLIB)\gobject\glib-genmarshal --prefix=_gtk_marshal gtkmarshalers.list --body >gtkmarshalers.c
 
+# public, deprecated marshalers
 gtkmarshal.h : gtkmarshal.list
-       $(GLIB)\gobject\glib-genmarshal --prefix=gtk_marshal gtkmarshal.list --header >gtkmarshal.h
+       echo #ifndef GTK_DISABLE_DEPRECATED >gtkmarshal.h
+       $(GLIB)\gobject\glib-genmarshal --prefix=gtk_marshal gtkmarshal.list --header >>gtkmarshal.h
+       echo #endif /* GTK_DISABLE_DEPRECATED */ >>gtkmarshal.h
 
 gtkmarshal.c : gtkmarshal.list
        $(GLIB)\gobject\glib-genmarshal --prefix=gtk_marshal gtkmarshal.list --body >gtkmarshal.c
@@ -388,15 +484,27 @@ gtkmarshal.c : gtkmarshal.list
 gtksignal.obj : gtksignal.c gtkmarshal.c gtkmarshal.h
        $(CC) $(CFLAGS) -GD -c -DGTK_COMPILATION -DG_LOG_DOMAIN=\"Gtk\" gtksignal.c
 
+gtk-win32.res : gtk-win32.rc
+       rc -DBUILDNUMBER=0 -r -fo gtk-win32.res gtk-win32.rc
+
 #
 # Linking:
 #
-gtk-win32-$(GTK_VER).dll : $(gtk_OBJECTS) gtk.def
-       $(CC) $(CFLAGS) -LD -Fm -Fegtk-win32-$(GTK_VER).dll $(gtk_OBJECTS) $(GDK_LIBS) $(GDK_PIXBUF_LIBS) $(PANGO_LIBS) $(INTL_LIBS) $(GLIB_LIBS) gdi32.lib user32.lib advapi32.lib $(LDFLAGS) /def:gtk.def
+libgtk-win32-$(GTK_VER)-0.dll : $(gtk_OBJECTS) gtk.def gtk-win32.res
+       $(CC) $(CFLAGS) -LD -Fm -Fe$@ $(gtk_OBJECTS) gtk.res \
+       $(GDK_LIBS) $(GDK_PIXBUF_LIBS) $(PANGO_LIBS) $(INTL_LIBS) $(GLIB_LIBS) \
+       gdi32.lib user32.lib advapi32.lib wsock32.lib shell32.lib \
+       $(LDFLAGS) /implib:gtk-win32-$(GTK_VER).lib /def:gtk.def
 
 gtk-win32-$(GTK_VER)s.lib : $(gtk_OBJECTS)
        lib /out:gtk-win32-$(GTK_VER)s.lib $(gtk_OBJECTS)
 
+gtk-query-immodules-$(GTK_VER).exe : queryimmodules.obj
+       $(CC) $(CFLAGS) -Fe$@ queryimmodules.obj $(GTK_LIBS) $(GLIB_LIBS) $(PANGO_LIBS) $(LDFLAGS)
+
+gtk-x11-$(GTK_VER).dll : $(gtk_OBJECTS) gtk.def
+       $(CC) $(CFLAGS) -LD -Fm -Fegtk-x11-$(GTK_VER).dll $(gtk_OBJECTS) ../gdk/gdk-x11-$(GTK_VER).lib $(GDK_PIXBUF_LIBS) $(PANGO_LIBS) $(INTL_LIBS) $(GLIB_LIBS) gdi32.lib user32.lib advapi32.lib $(LDFLAGS) /def:gtk.def
+
 # General rule for compiling the objects into the DLL
 .c.obj :
        $(CC) $(CFLAGS) -GD -c -DGTK_COMPILATION -DG_LOG_DOMAIN=\"Gtk\" $<