GNOME Bugzilla – Bug 693531
[PATCH] Make gobject-introspection on Windows work
Last modified: 2018-01-25 14:08:39 UTC
Created attachment 235625 [details] [review] proposed patch I have struggled to workaround many issues encountered during operation so that gobject-introspection on windows can work. the following are some of them. Also i had to handle typedef(a.k.a Alias in G.I.) to inter-operate cairo with GI. and for babl having typedef named babl which is not prefix, this patch includes workaround for that. also i had to modify source-scanner to confirm that there is missing filename that is supposed to processed in source-scanner. Please review this patch. * Makefile-giscanner.am: Add explicit dependency to PYTHON_LIBS for {lib,_}giscanner_la * giscanner/annotationparser.py: Split lines correctly when the parser encountered \r preceeded by \n * giscanner/gdumpparser.py (_pair_boxed_type): Handle typedef'ed alias. * giscanner/girparser.py (_parse_boxed): Handle function node in Boxed type. * giscanner/giscannermodule.c (GISourceScanner): Increase # of method. (pygi_source_scanner_get_ignored_filenames): Define. (_PyGISourceScanner_methods): Insert method entry. * giscanner/scannerlexer.l: Recognize __{inline,restrict}__. * giscanner/sourcescanner.h (_GISourceScanner): Add ignored_filaname_table. * giscanner/sourcescanner.c (gi_source_scanner_new): Use it. (gi_source_scanner_free): Ditto. (gi_source_scanner_add_symbol): Insert the ignored filename to table. * giscanner/sourcescanner.py (SourceScanner.get_ignored_filenames): Define. * giscanner/transformer.py (_split_c_string_for_namespace_matches): Disallow zero-length name. * giscanner/utils.py (_libtool_pat): Accept dlname with relative path. (_extract_dlname_field): Raise exception when dlname not found. * m4/python.m4: Trim [\r\n].
Thanks for the patch and for tracking this down! The patch might need splitting up into logical entities (we usually don't accept a huge patch that changes lots of different problems as it's hard to identify later which bart might have caused problems), plus these separate patches need a more verbose summary what is fixed and why and how.
*** Bug 704756 has been marked as a duplicate of this bug. ***
[Mass-moving gobject-introspection tickets to its own Bugzilla product - see bug 708029. Mass-filter your bugmail for this message: introspection20150207 ]
As far as I know, gobject-introspection works on Windows, these days — both with MSVC and with MSYS2.