| # 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. |