mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-27 15:12:36 +02:00
bindings/rust: Document the rust bindings
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>
This commit is contained in:
parent
401d9bfa71
commit
66b34f8ba3
9
README
9
README
@ -39,7 +39,8 @@ page.
|
|||||||
it with bzip2.
|
it with bzip2.
|
||||||
|
|
||||||
The snapshot tarballs are the result of 'make tarball' and require no
|
The snapshot tarballs are the result of 'make tarball' and require no
|
||||||
further processing.
|
further processing. Some git files (for example the rust bindings) are omitted
|
||||||
|
from the tarball, as controlled by the .gitattributes files.
|
||||||
|
|
||||||
|
|
||||||
Build Instructions
|
Build Instructions
|
||||||
@ -164,6 +165,12 @@ If you are using clang and if you want to enable only one driver, you may hit an
|
|||||||
overzealous compiler warning from clang. Compile with "make WARNERROR=no" to
|
overzealous compiler warning from clang. Compile with "make WARNERROR=no" to
|
||||||
force it to continue and enjoy.
|
force it to continue and enjoy.
|
||||||
|
|
||||||
|
Bindings:
|
||||||
|
|
||||||
|
Foreign function interface bindings for the rust language are included in the
|
||||||
|
bindings folder. These are not compiled as part of the normal build process.
|
||||||
|
See the readme under bindings/rust for more information.
|
||||||
|
|
||||||
Installation
|
Installation
|
||||||
------------
|
------------
|
||||||
|
|
||||||
|
32
bindings/rust/README
Normal file
32
bindings/rust/README
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
-------------------------------------------------------------------------------
|
||||||
|
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
|
Loading…
x
Reference in New Issue
Block a user