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 735429 - Cleanup MSVC Project Files Generation
Cleanup MSVC Project Files Generation
Status: RESOLVED FIXED
Product: glib
Classification: Platform
Component: build
unspecified
Other All
: Normal normal
: ---
Assigned To: gtkdev
gtkdev
Depends on:
Blocks:
 
 
Reported: 2014-08-26 05:54 UTC by Fan, Chun-wei
Modified: 2015-09-03 11:15 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
build: Add generic autotools module for generating the MSVC 2008/2010 projects from their respective templates (5.69 KB, patch)
2014-08-26 06:04 UTC, Fan, Chun-wei
none Details | Review
Cleanup and enhance the MSVC project generation by using the common autotools module (70.35 KB, patch)
2014-08-26 06:16 UTC, Fan, Chun-wei
none Details | Review
build: Add generic autotools module for generating the MSVC 2008/2010 projects from their respective templates (take ii) (5.58 KB, patch)
2015-04-30 10:13 UTC, Fan, Chun-wei
committed Details | Review
Cleanup and enhance the MSVC project generation by using the common autotools module (take ii) (59.56 KB, patch)
2015-04-30 10:16 UTC, Fan, Chun-wei
committed Details | Review

Description Fan, Chun-wei 2014-08-26 05:54:17 UTC
Hi,

As it seems that it is more preferable to not add non-autotools external tools to read autotools files, and that the MSVC project file generation items are not that easily maintained in the main Makefile.am's, this bug report is meant to streamline that process, and enhance it a bit.

I will post the patches shortly.

With blessings, thank you!
Comment 1 Fan, Chun-wei 2014-08-26 06:04:11 UTC
Created attachment 284477 [details] [review]
build: Add generic autotools module for generating the MSVC 2008/2010 projects from their respective templates

Hi,

This patch is for adding a common module (which I have also used successfully as-is on Pango[1] and GTK+[2]-any feedback there would be great!) that can be used by various projects to generating the complete MSVC 2008/2010 project files from their respective templates (the 2012/2013 projects are currently copied and updated from the 2010 ones with an autotools script, for records).  As this module is meant to be generic and easy-to-adapt across projects, this is done in a similar manner like the introspection makefile (the $(INTROSPECTION_MAKEFILE)) that is used across many GNOME and GNOME-based projects.

If it is preferable that this module end up in something like gnome-common, please let me know (in particular, how, as I am entirely new to that process).

With blessings, thank you!

[1]: https://bugzilla.gnome.org/show_bug.cgi?id=735039
[2]: https://bugzilla.gnome.org/show_bug.cgi?id=681965
Comment 2 Fan, Chun-wei 2014-08-26 06:16:15 UTC
Created attachment 284478 [details] [review]
Cleanup and enhance the MSVC project generation by using the common autotools module

Hi,

This updates the MSVC project templates and the relevant Makefile.am's so that the common autotools module (attachment 284477 [details] [review]) is used, making those Makefile.am's cleaner.  This also enhances the process a bit, as we can now generate the property sheets used to "install" GLib after the build, so that the headers listing can be kept up-to-date.

With blessings, thank you!
Comment 3 Fan, Chun-wei 2015-04-30 10:13:44 UTC
Created attachment 302637 [details] [review]
build: Add generic autotools module for generating the MSVC 2008/2010 projects from their respective templates (take ii)

Hi,

I have updated the generic module to not invoke the shell when filling in makefile variables, to avoid bashism, as suggested by Behdad during this cleanup in Pango...
Comment 4 Fan, Chun-wei 2015-04-30 10:16:14 UTC
Created attachment 302638 [details] [review]
Cleanup and enhance the MSVC project generation by using the common autotools module (take ii)

Hi,

This updates the MSVC project templates and the relevant Makefile.am's so that the common autotools module (attachment 302637 [details] [review]) is used, making those Makefile.am's cleaner.  This also enhances the process a bit, as we can now generate the property sheets used to "install" GLib after the build, so that the headers listing can be kept up-to-date.

Also, generate the glib-compile-schemas and glib-compile-resources projects, so that they will be kept up-to-date if their source listing change.

With blessings, thank you!
Comment 5 Ignacio Casal Quinteiro (nacho) 2015-09-02 10:33:54 UTC
Review of attachment 302638 [details] [review]:

Does this need to be updated?
Comment 6 Fan, Chun-wei 2015-09-02 11:00:57 UTC
Hi Nacho,

I think this does not have to be updated, aside from the property sheet templates for copying the built files (glib-install.[vs]propsin), where we also need to copy gobject/gobjectnotifyqueue.c, which I accidentally removed from this patch set.  I will double-check again tomorrow though.

With blessings.
Comment 7 Paolo Borelli 2015-09-02 11:02:26 UTC
Fan: if this is uptodate and works I think you should just go ahead and push it: you are the de facto maintainer of the MSVC build and this only impacts that part.

gnome-common is going to be deprecated, my suggestion is to add a note at the top of the Makefile.msvcproj saying that the canonical location for the original copy of the file is glib and that other projects should copy the file from there
Comment 8 Fan, Chun-wei 2015-09-03 11:15:20 UTC
Hi Paolo,

Thanks for the suggestions, I have pushed the patches as:

Attachment 302637 [details]: 700983c (with your suggested note added)
Attachment 302638 [details]: 041e772 (with the fix I mentioned in comment 6)

Additionally, I have removed the static projects that are replaced by those that are generated from the templates in commit 1387a16.

These are checked with 'make -j8 distcheck' and srcdir != builddir.

With blessings, thank you!