crosvm/perfetto
A. Cody Schuffelen 97dff044f8 Replace #[cfg(unix)] with #[cfg(any(target_os = "android", target_os = "linux"))]
Updates are made to source and documentation.

This more accurately represents the currently supported platforms of
Android/Linux and Windows, without unexpectedly including other
unix-like operating systems.

Command to reproduce:
$ find . -type f -not -path '*/\.git/*' | xargs -I {} sed -i 's/cfg(unix)/cfg(any(target_os = "android", target_os = "linux"))/g' {}
$ cargo fmt

md files manually updated to fix line lengths.

Renaming `unix` modules to `linux` will be done in a later CL.

Test: ./tools/dev_container ./tools/presubmit
Bug: b/298269162
Change-Id: I42c1bf0abf80b9a0df25551613910293217c7295
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4909059
Commit-Queue: Cody Schuffelen <schuffelen@google.com>
Reviewed-by: Frederick Mayle <fmayle@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Reviewed-by: Noah Gold <nkgold@google.com>
2023-10-11 00:43:29 +00:00
..
src crosvm: Uprev zerocopy to 0.7.x 2023-10-10 17:34:32 +00:00
build.rs Replace #[cfg(unix)] with #[cfg(any(target_os = "android", target_os = "linux"))] 2023-10-11 00:43:29 +00:00
Cargo.toml crosvm: Uprev zerocopy to 0.7.x 2023-10-10 17:34:32 +00:00
README.md Upstream the perfetto crate. 2023-05-11 18:12:36 +00:00

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.
  2. 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
    
  3. 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)]
    
  4. Finally, add a copyright header to the bindings.