Autogenerated FFI definitions for various GNOME libraries.
This repository contains the "sys" crates – FFI definitions intended for use in the actual bindings (e.g. gtk).
Each crate expects the development files of the respective library to be installed on the system.
The installed library version is detected via
pkg-config in the build
script, which controls conditional compilation so only the functions
availiable in that library version are visible.
For instance, if the
gdk-sys crate's build script detects
3.12, it sets a number of
gdk_3_6, ..., up to
Correspondingly, the definitions of functions introduced
(The build script actually contains a complete list of the versions
3.4 doesn't have any special meaning, it's just the first
in that list in that crate).
The build script passes that set of directives on to its dependencies, so
a depenendent crate's build script will see
env::var("DEP_GDK_CFG").unwrap() == "gdk_3_4 gdk_3_6 gdk_3_8 gdk_3_10 gdk_3_12"
gir-files is populated from the
Using a single set of GIR definitions for all platforms and versions
is considered good enough at this point.