mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-26 22:52:34 +02:00

Add an explanation of the two rust libraries, and instructions for building. Note that the bindings are not included in the tarball. BUG=None BRANCH=None TEST=None Change-Id: I05b1b5821554f8faee7728f899d51b6e8e9bf5be Signed-off-by: Evan Benn <evanbenn@chromium.org> Reviewed-on: https://review.coreboot.org/c/flashrom/+/66618 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
------------------------------------------------------------------------------- flashrom rust bindings README ------------------------------------------------------------------------------- Included within this folder are rust foreign function interface bindings for the libflashrom API. libflashrom-sys is an automatically generated binding built from the header file by the rust `bindgen` utility. It can be used for 'unsafe' raw access to the libflashrom API. libflashrom is a library built on libflashrom-sys, exporting a convential rust API. See the /util/flashrom_tester/flashrom/src/flashromlib.rs file for an example of usage. Build Instructions ------------------ A rust toolchain is required, rustup is one source for that: https://rustup.rs/ From within child folders of this directory, where the Cargo.toml files live, run: cargo build cargo test cargo doc --open The build process uses pkg-config to find the installed version of libflashrom. To override the desired version you wish to compile against pkg-config can be told where to find the desired header and library, for example: env PKG_CONFIG_PATH=$HOME/src/flashrom/build/install/lib/x86_64-linux-gnu/pkgconfig \ LD_LIBRARY_PATH=$HOME/src/flashrom/build/install/lib/x86_64-linux-gnu \ cargo test