After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 731602 - GTK+ 3.13.2 won't build in Windows
GTK+ 3.13.2 won't build in Windows
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: .General
3.13.x
Other Windows
: Normal blocker
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2014-06-13 04:55 UTC by Wesley Chan
Modified: 2014-06-30 02:39 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch to remove defs. (5.61 KB, patch)
2014-06-30 02:29 UTC, Wesley Chan
none Details | Review

Description Wesley Chan 2014-06-13 04:55:19 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.
Comment 1 Matthias Clasen 2014-06-15 02:05:57 UTC
I've added an EXEEXT there now
Comment 2 Wesley Chan 2014-06-30 02:29:37 UTC
Created attachment 279572 [details] [review]
Patch to remove defs.
Comment 3 Wesley Chan 2014-06-30 02:39:01 UTC
(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.