Add support for llvm-based sanitizers.

Adds initial support for Asan/Lsan/Msan/Tsan for unbundled builds.
This CL also introduced a build_all_configs.py script to ease
local debugging, allowing to build several build configs in one go
and makes some minor improvements to the unbundled build files.

Change-Id: I7c374ffc00c55907e0e8b291b2e7e6140697c290
19 files changed
tree: ec62c76cfe730f9fa3f0ce0422768aaa0091f735
  1. build/
  2. buildtools/
  3. libtracing/
  4. .clang-format
  5. .gitignore
  6. .gn
  7. BUILD.gn
  8. codereview.settings
  9. README.md
README.md

Perfetto - Open-source building blocks for the full performance lifecycle of Google client platforms

Docs

See go/perfetto-one-pager

Building from a standalone checkout

If you are a chromium developer and have depot_tools installed you can avoid the build/ prefix below and just use gn/ninja from depot_tools.

  • Run build/install-build-deps to install third-party build deps (NDK etc)
  • Run build/gn args out/android to generate build files and enter in the editor:
    target_os = "android"  # or "linux" for local testing
    target_cpu = "arm"  # or "arm64"
    is_debug = true  # or false for release
    
  • Run build/ninja -C out/android all

Building from the Android tree

TODO. The plan is to autogenerate the Android.bp build files from the master GN build files (or temporarily maintain both until we can autogenerate them). Will come in next CLs.