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 693531 - [PATCH] Make gobject-introspection on Windows work
[PATCH] Make gobject-introspection on Windows work
Status: RESOLVED FIXED
Product: gobject-introspection
Classification: Platform
Component: general
2.35.x
Other Windows
: Normal normal
: ---
Assigned To: gobject-introspection Maintainer(s)
gobject-introspection Maintainer(s)
: 704756 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2013-02-10 16:09 UTC by jojelino
Modified: 2018-01-25 14:08 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
proposed patch (11.40 KB, patch)
2013-02-10 16:09 UTC, jojelino
none Details | Review

Description jojelino 2013-02-10 16:09:37 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].
Comment 1 André Klapper 2013-02-10 16:23:13 UTC
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.
Comment 2 Emmanuele Bassi (:ebassi) 2013-08-26 17:20:53 UTC
*** Bug 704756 has been marked as a duplicate of this bug. ***
Comment 3 André Klapper 2015-02-07 17:21:36 UTC
[Mass-moving gobject-introspection tickets to its own Bugzilla product - see bug 708029. Mass-filter your bugmail for this message: introspection20150207 ]
Comment 4 Emmanuele Bassi (:ebassi) 2018-01-25 14:08:39 UTC
As far as I know, gobject-introspection works on Windows, these days — both with MSVC and with MSYS2.