GNOME Bugzilla – Bug 731602
GTK+ 3.13.2 won't build in Windows
Last modified: 2014-06-30 02:39:01 UTC
OK. I've asked this question once before in the mailing list. But it has been rejected. The Makefile in GTK+ 3.13.2 has a problem, breaking the build in Windows. To be short, here is the patch to fix it. --- gtk+-3.13.2/util/Makefile.in +++ gtk+-3.13.2/util/Makefile.in @@ -715,13 +715,13 @@ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am -extract-strings: $(extract_strings_sources) +extract-strings$(EXEEXT): $(extract_strings_sources) @rm -f extract-strings $(AM_V_CCLD)$(CC_FOR_BUILD) $(extract_strings_cppflags) $(CPPFLAGS_FOR_BUILD) $(extract_strings_cflags) $(CFLAGS_FOR_BUILD) $^ $(LDFLAGS_FOR_BUILD) $(extract_strings_ldadd) $(LIBS_FOR_BUILD) -o $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: As mentioned above, the extension "exe" is missing. It won't build at all. So I suppose it's a bug of blockers, isn't it? Please fix it. Thank you very much.
I've added an EXEEXT there now
Created attachment 279572 [details] [review] Patch to remove defs.
(In reply to comment #1) > I've added an EXEEXT there now Thank you very much, Matthias! One more request. I saw you edited gdk/Makefile.am, removing *.def. That makes me enable to build gdk without editing the Makefile (I used to edit it before compiling or it won't build) with MinGW-w64. Also, the "gtk.def" in Makefile.am of gtk/ needed to be removed. But it's still there. Can you do me a favor, remove it? Thanks again! This is the patch file I was using for 3.13.2 (patch for Makefiles.in). ------------------------------------------------------------------------- --- gtk+-3.13.2/gtk/Makefile.in +++ gtk+-3.13.2/gtk/Makefile.in @@ -114,13 +114,13 @@ @USE_WIN32_TRUE@am__append_12 = $(gtk_use_win32_private_h_sources) @USE_QUARTZ_TRUE@am__append_13 = $(gtk_use_quartz_c_sources) @USE_QUARTZ_TRUE@am__append_14 = $(gtk_use_quartz_private_h_sources) @USE_QUARTZ_FALSE@@USE_WIN32_FALSE@@USE_X11_FALSE@am__append_15 = $(gtk_use_stub_c_sources) @USE_WIN32_TRUE@am__append_16 = -lole32 -lgdi32 -lcomdlg32 -lwinspool -lcomctl32 @USE_WIN32_TRUE@am__append_17 = -Wl,-luuid -@USE_WIN32_TRUE@am__append_18 = $(gtk_def) $(gtk_win32_res) $(deps) +@USE_WIN32_TRUE@am__append_18 = $(gtk_win32_res) $(deps) # And include the regular ones: @HAVE_INTROSPECTION_TRUE@@USE_QUARTZ_TRUE@am__append_19 = \ @HAVE_INTROSPECTION_TRUE@@USE_QUARTZ_TRUE@ gtkclipboard.c \ @HAVE_INTROSPECTION_TRUE@@USE_QUARTZ_TRUE@ gtkdnd.c @@ -1170,13 +1170,13 @@ $(GDK_HIDDEN_VISIBILITY_CFLAGS) \ $(GTK_DEP_CFLAGS) \ $(INCLUDED_IMMODULE_DEFINE) @PLATFORM_WIN32_TRUE@no_undefined = -no-undefined @OS_WIN32_TRUE@gtk_def = gtk.def -@OS_WIN32_TRUE@gtk_win32_symbols = -export-symbols $(srcdir)/gtk.def +@OS_WIN32_TRUE@gtk_win32_symbols = @OS_WIN32_TRUE@gtk_win32_res = gtk-win32-res.o @OS_WIN32_TRUE@gtk_win32_res_ldflag = -Wl,gtk-win32-res.o @MS_LIB_AVAILABLE_TRUE@noinst_DATA = gtk-win32-$(GTK_API_VERSION).lib libgtkincludedir = $(includedir)/gtk-3.0/gtk libadd = $(top_builddir)/gdk/libgdk-3.la \ $(top_builddir)/gtk/inspector/libgtkinspector.la \ @@ -6925,19 +6925,19 @@ esac; \ done >libgtk.vs10.sourcefiles.filters $(CPP) -P - <$(top_srcdir)/build/win32/vs10/gtk.vcxproj.filtersin >$@ rm libgtk.vs10.sourcefiles.filters # Install a RC file for the default GTK+ theme, and key themes -install-data-local: install-ms-lib install-def-file install-mac-key-theme +install-data-local: install-ms-lib install-mac-key-theme $(MKDIR_P) $(DESTDIR)$(datadir)/themes/Default/gtk-3.0 $(INSTALL_DATA) $(srcdir)/gtk-keys.css.default $(DESTDIR)$(datadir)/themes/Default/gtk-3.0/gtk-keys.css $(MKDIR_P) $(DESTDIR)$(datadir)/themes/Emacs/gtk-3.0 $(INSTALL_DATA) $(srcdir)/gtk-keys.css.emacs $(DESTDIR)$(datadir)/themes/Emacs/gtk-3.0/gtk-keys.css -uninstall-local: uninstall-ms-lib uninstall-def-file uninstall-mac-key-theme +uninstall-local: uninstall-ms-lib uninstall-mac-key-theme rm -f $(DESTDIR)$(datadir)/themes/Raleigh/gtk-3.0/gtk.css rm -f $(DESTDIR)$(datadir)/themes/Default/gtk-3.0/gtk-keys.css rm -f $(DESTDIR)$(datadir)/themes/Emacs/gtk-3.0/gtk-keys.css # if srcdir!=builddir, clean out maintainer-clean files from builddir # this allows dist to pass.