mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-05 10:38:08 +01:00
fe32c3f5c5
Currently, the introspection data for GLib and its sub-libraries is generated by gobject-introspection, to avoid the cyclic dependency between the two projects. Since gobject-introspection is generally available on installed systems, we can check for its presence, and generate the introspection data directly from GLib. This does introduce a cyclic dependency, which is why it's possible to build GLib without introspection, then build gobject-introspection, and finally rebuild GLib. By having introspection data available during the GLib build, we can do things like generating documentation; validating newly added API; and close the loop between adding new API and it becoming available to non-C consumers of the C ABI (i.e. language bindings).