Ensure you have the required dependency:
- GIRepository 2.0, which is part of GLib since version 2.80
You can install it from a package manager (e.g., apt-get install libgirepository-2.0-0
) or build it from source.
Update gir_version
in lib/girepository-1.0/ci.sh
.
main.zig
handles command line options and does some simple dispatch. girepository-2.0.zig
is generated from GIRepository-3.0.typelib
using the generator and core_min.zig
is a minimum file to support it. The logic of generating is in gi-ext.zig
, which abuses zig's formatting.
You are suggested to read in the following order:
-
EnumInfoExt
,FlagsInfoExt
,InterfaceInfoExt
,ObjectInfoExt
,StructInfoExt
andUnionInfoExt
. Simply emit their fields and methods. -
ValueInfoExt
thenConstantInfoExt
. Almost independent. -
TypeInfoExt
. -
ArgInfoExt
andFieldInfoExt
. -
FunctionInfoExt
and its helperCallableInfoExt
. This is relatively complex. -
CallbackInfoExt
,PropertyInfoExt
,RegisteredTypeInfoExt
,SignalInfoExt
andVFuncInfoExt
. Simple but may be confusing if you are not familiar with otherExt
s.
- Ability to export C bindings and GIR files (unlikely to happen in near future, contributions welcomed)