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 692255 - Win32/MSVC: Add support to build introspection files on Windows
Win32/MSVC: Add support to build introspection files on Windows
Status: RESOLVED OBSOLETE
Product: pango
Classification: Platform
Component: win32
unspecified
Other Windows
: Normal normal
: ---
Assigned To: gtk-win32 maintainers
pango-maint
Depends on:
Blocks:
 
 
Reported: 2013-01-22 06:18 UTC by Fan, Chun-wei
Modified: 2017-06-19 04:35 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Windows .bat to generate the .gir/.typelib files for Pango and PangoCairo (8.17 KB, patch)
2013-01-22 06:25 UTC, Fan, Chun-wei
none Details | Review
Create filelist files during 'make dist' for building introspection files (6.54 KB, patch)
2013-01-22 06:33 UTC, Fan, Chun-wei
none Details | Review
Add support for MSVC builds to build the introspection files (take ii) (31.35 KB, patch)
2013-02-20 06:29 UTC, Fan, Chun-wei
none Details | Review

Description Fan, Chun-wei 2013-01-22 06:18:59 UTC
Hi,

I have come up with a patchset to enable one to build introspection files for Pango/PangoCairo on Windows without using a shell (such as MSYS), as support to build and use G-I has landed there since 1.35.2.

I will split the patchset into 2 parts.
Comment 1 Fan, Chun-wei 2013-01-22 06:25:52 UTC
Created attachment 234070 [details] [review]
Windows .bat to generate the .gir/.typelib files for Pango and PangoCairo

Hi,

This is the Windows .bat file that one may use to generate .gir/.typelib files for Pango and PangoCairo, which does not require the use of a shell such as MSYS.  As I had trouble getting the latest FontConfig release (which is currently required for Pango AFAIK) to run well on Windows, I am currently not supporting building the .gir/.typelib files for PangoFT2 (nor PangoCairo with PangoFT2 support).

This makes use of the recently-added --filelist option to G-I's scannermain.py (along with other Win32/MSVC support in there), so this is meant for G-I 1.35.2 an d later.
Comment 2 Fan, Chun-wei 2013-01-22 06:33:29 UTC
Created attachment 234072 [details] [review]
Create filelist files during 'make dist' for building introspection files

Hi,

For the .bat file in the previous comment to work, filelist files (containing header and source files to parse during the build of introspection files) for Pango and PangoCairo need to be present in $(srcroot)/build/win32.

This adds a centralized autotools file, build/Makefile-gifilelist.am, which is be included by pango/Makefile.am to create the necessary filelist file(s) in $(srcroot)/build/win32.  As we have Pango, PangoFT2, PangoCairo all under $(srcroot)/pango, autogen.sh is updated to clone build/Makefile-gifilelist.am, so that it and its clones can be used by pango/Makefile.am (via build/gir-filelist.mak) to create the various filelist files as necessary.

With blessings, thank you!
Comment 3 Fan, Chun-wei 2013-02-20 06:29:12 UTC
Created attachment 236896 [details] [review]
Add support for MSVC builds to build the introspection files (take ii)

Hi,

It seems that adding stuff into the autotools files is probably too much hassle for this job, and could add maintenance concerns.  I thought probably it would be a good idea to make use of some Python Regex stuff to read from the autotools files and create the filelist (for giscanner) on the fly (especially as since _giscanner is itself a Python 2.x module, we could use a bit more of Python here).

This adds an improved version of the Windows .bat script to build the introspection files, integrated as an optional build component of the Visual C++ builds of Pango.

With blessings, thank you!
Comment 4 Fan, Chun-wei 2017-06-19 04:35:18 UTC
Hi,

Closing as obsolete as there are now scripts in the build system that will handle the introspection builds via NMake (and via Meson).

With blessings, thank you!