gdk-sys
cargo install gdk-sys

gdk-sys

DEPRECATED, each crate has its own sys folder now.

by gtk-rs

0.10.0 (see all)License:MIT
cargo install gdk-sys
Readme

sys

Autogenerated FFI definitions for various GNOME libraries.

Building

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.

Library versions

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 libgdk3 version 3.12, it sets a number of cfg directives gdk_3_4, gdk_3_6, ..., up togdk_3_12. Correspondingly, the definitions of functions introduced in version x.y carry #[cfg(gdk_x_y)] attributes. (The build script actually contains a complete list of the versions it knows, 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"

Generating

> make

will build the generator in gir and generate the crates using specifications from conf and GIR definitions from gir-files.

Currently gir-files is populated from the gnome-staging ppa. Using a single set of GIR definitions for all platforms and versions is considered good enough at this point.

GitHub Stars

31

LAST COMMIT

2yrs ago

MAINTAINERS

3

CONTRIBUTORS

15

OPEN ISSUES

11

OPEN PRs

3
VersionTagPublished
0.10.0
2yrs ago
0.9.1
3yrs ago
0.9.0
3yrs ago
0.8.0
3yrs ago
No alternatives found
No tutorials found
Add a tutorial