GNOME Bugzilla – Bug 692255
Win32/MSVC: Add support to build introspection files on Windows
Last modified: 2017-06-19 04:35:18 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.
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.
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!
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!
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!