Despite meson officially "supporting" Rust it does support working with
Cargo (Rust package manager and build system) so we need to have
a bit of custom system for using it. `cargo-output.py` to build and copy
the output files (static archive and depfile) to the expected location
by meson. And `cargo-rustc-static-libs.py` to get the common linker args
for a bar-bone std rust program (ie without dependencies).
Those two scripts would potentially be removed if meson and/or cargo
became more flexible and/or intelligent.
This adds a -Drust feature option to the meson build system, which aims
to enable pure Rust modules.
This option will check for the presence of cargo (Rust package manager
and build system) and give a warning about the experimental nature of
the Rust modules.
This option is disabled by default.