xref: /aosp_15_r20/external/flashrom/bindings/rust/README (revision 0d6140be3aa665ecc836e8907834fcd3e3b018fc)
1*0d6140beSAndroid Build Coastguard Worker-------------------------------------------------------------------------------
2*0d6140beSAndroid Build Coastguard Workerflashrom rust bindings README
3*0d6140beSAndroid Build Coastguard Worker-------------------------------------------------------------------------------
4*0d6140beSAndroid Build Coastguard Worker
5*0d6140beSAndroid Build Coastguard WorkerIncluded within this folder are rust foreign function interface bindings for the
6*0d6140beSAndroid Build Coastguard Workerlibflashrom API. libflashrom-sys is an automatically generated binding built
7*0d6140beSAndroid Build Coastguard Workerfrom the header file by the rust `bindgen` utility. It can be used for 'unsafe'
8*0d6140beSAndroid Build Coastguard Workerraw access to the libflashrom API. libflashrom is a library built on
9*0d6140beSAndroid Build Coastguard Workerlibflashrom-sys, exporting a convential rust API.
10*0d6140beSAndroid Build Coastguard Worker
11*0d6140beSAndroid Build Coastguard WorkerSee the /util/flashrom_tester/flashrom/src/flashromlib.rs file for an example of
12*0d6140beSAndroid Build Coastguard Workerusage.
13*0d6140beSAndroid Build Coastguard Worker
14*0d6140beSAndroid Build Coastguard WorkerBuild Instructions
15*0d6140beSAndroid Build Coastguard Worker------------------
16*0d6140beSAndroid Build Coastguard Worker
17*0d6140beSAndroid Build Coastguard WorkerA rust toolchain is required, rustup is one source for that: https://rustup.rs/
18*0d6140beSAndroid Build Coastguard Worker
19*0d6140beSAndroid Build Coastguard WorkerFrom within child folders of this directory, where the Cargo.toml files live,
20*0d6140beSAndroid Build Coastguard Workerrun:
21*0d6140beSAndroid Build Coastguard Worker
22*0d6140beSAndroid Build Coastguard Worker cargo build
23*0d6140beSAndroid Build Coastguard Worker cargo test
24*0d6140beSAndroid Build Coastguard Worker cargo doc --open
25*0d6140beSAndroid Build Coastguard Worker
26*0d6140beSAndroid Build Coastguard WorkerThe build process uses pkg-config to find the installed version of libflashrom.
27*0d6140beSAndroid Build Coastguard WorkerTo override the desired version you wish to compile against pkg-config can be
28*0d6140beSAndroid Build Coastguard Workertold where to find the desired header and library, for example:
29*0d6140beSAndroid Build Coastguard Worker
30*0d6140beSAndroid Build Coastguard Worker env PKG_CONFIG_PATH=$HOME/src/flashrom/build/install/lib/x86_64-linux-gnu/pkgconfig \
31*0d6140beSAndroid Build Coastguard Worker    LD_LIBRARY_PATH=$HOME/src/flashrom/build/install/lib/x86_64-linux-gnu \
32*0d6140beSAndroid Build Coastguard Worker    cargo test
33