mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-17 20:06:25 +00:00
22 lines
875 B
Markdown
22 lines
875 B
Markdown
|
# Perfetto Rust wrapper
|
||
|
|
||
|
The following instructions are based on `tools/impl/bindgen-common.sh`
|
||
|
|
||
|
When the Perfetto C API is updated, in order to regenerate the bindings:
|
||
|
|
||
|
1. [Download the bindgen cmdline tool.](https://rust-lang.github.io/rust-bindgen/command-line-usage.html)
|
||
|
1. Run the bindgen command. If you are in crosvm:
|
||
|
```
|
||
|
$ bindgen third_party/perfetto/include/perfetto/tracing/ctrace.h --disable-header-comment --no-layout-tests --no-doc-comments --with-derive-default --size_t-is-usize -o ./perfetto/src/bindings.rs
|
||
|
```
|
||
|
1. Add the following to the top of the new bindings.rs file:
|
||
|
```
|
||
|
#![allow(clippy::missing_safety_doc)]
|
||
|
#![allow(clippy::upper_case_acronyms)]
|
||
|
#![allow(non_upper_case_globals)]
|
||
|
#![allow(non_camel_case_types)]
|
||
|
#![allow(non_snake_case)]
|
||
|
#![allow(dead_code)]
|
||
|
```
|
||
|
1. Finally, add a copyright header to the bindings.
|