5 ms·
Before people get too up-in-arms about that being XML, that is just the first step in the GObject Introspection compilation. The second step builds a .typelib
by audidude 4y ago
Before people get too up-in-arms about that being XML, that is just the first step in the GObject Introspection compilation.
The second step builds a .typelib file which is a mmap()'able data-structure used at runtime by dynamic languages. It's smaller as it doesn't contain things like function/class documentation.
Additionally, the language bindings tend to use the GIRepository base structure which handles loading those mmap()'able data structures with an C API on-top of it.
- deleted 4y ago[deleted]
- deleted 4y ago[deleted]
- kazinator 4y agoBefore people get too up in arms about a C API accessing some binary blobs, rest assured there is XML you could process instead.
- jmercouris 4y agoWell, actually not everything possible via CFFI is possible via GIR. I've run into some issues before. I cannot recall what exactly, but it was a showstopper for me :-(.
- paines 4y agoCrosscompatiblity? IIRC the same concept was used for some exo-lisp gtk bindings, IIRC fennel, and I couldn't get it work for the life of it under M1 macs....