zetanumbers / vitasdk-sys

vitasdk bindings to be used in rust

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

vitasdk-sys

docs.rs Crates.io License: MIT

This crate exports bindings to functions available in vitasdk and statically links to its stubs libraries based on enabled features. Their official docs are here and the bindings are automatically generated from vitasdk's vita-headers repository. Which features required for which functions can be found on https://docs.rs/vitasdk-sys.

There's an example on how to use this crate at examples/std-hello-world.

To be able to use it, you need vitasdk available and the environment variable VITASDK set to its location. e.g.:

$ export VITASDK=/opt/vitasdk

You also need bindgen's requirements, which may already be on your system.

Manually updating the submodule

Updating

To update the headers, we have a job that runs on GitHub Actions yearly or on demand that will create a PR. If you want to update manually, you can follow these steps:

Manually

Clone the repository with submodules (the C headers):

$ git clone --recurse-submodules https://github.com/pheki/vitasdk-sys.git

If the repository is already cloned, update the submodules with:

$ git submodule update --init --recursive

To update the headers, go to the vita-headers submodule and update by the usual means:

$ cd vita-headers
$ git pull
$ cd ..

Run cargo run -p vitasdk-sys-build-util -- stub-libs --as-features and replace stub lib features in vitasdk-sys Cargo.toml with outputed ones.

Versioning

Usual semver rules apply for this crate, but note that there may be differences between the version of the headers used to generate the bindings and the vitasdk version installed on your machine.

Credits

License

This crate (library) is distributed under terms of MIT license or Apache License (Version 2.0), at your option. See LICENSE-MIT and LICENSE-APACHE for terms.

About

vitasdk bindings to be used in rust

License:Other


Languages

Language:Rust 99.8%Language:C 0.2%