Add a tool for generating amalgamated builds

This patch adds tools/gen_amalgamated, which can take a number of GN
targets and produce an "amalgamated" header and source file pair. These
can be more easily incorporated to various build systems where GN isn't
readily available.

We also fix a few naming collisions that prevented the amalgamated build
from succeeding.

Test:
  $ (cd buildtools/protobuf; ./configure && make)
  $ tools/gen_amalgamated --build

Example output: https://drive.google.com/open?id=12HPn02Cscv5-eCW9MSoNpfNjS2y0pgSv

Change-Id: Idb894713e8283d5ee2dc46c5eb7bbb291e4185ba
6 files changed
tree: 04706a9886341a9818140548d285c5683b190c82
  1. build_overrides/
  2. buildtools/
  3. debian/
  4. docs/
  5. gn/
  6. include/
  7. infra/
  8. protos/
  9. src/
  10. test/
  11. tools/
  12. ui/
  13. .clang-format
  14. .gitignore
  15. .gn
  16. .travis.yml
  17. Android.bp
  18. Android.bp.extras
  19. BUILD
  20. BUILD.extras
  21. BUILD.gn
  22. codereview.settings
  23. heapprofd.rc
  24. MODULE_LICENSE_APACHE2
  25. NOTICE
  26. OWNERS
  27. perfetto.rc
  28. PRESUBMIT.py
  29. README.chromium
  30. README.md
  31. TEST_MAPPING
README.md

Perfetto - Performance instrumentation and tracing

Perfetto is an open-source project for performance instrumentation and tracing of Linux/Android/Chrome platforms and user-space apps.

See www.perfetto.dev for docs.

Bugs

  • For bugs affecting Android or the tracing internals use the internal bug tracker (go/perfetto-bugs).
  • For bugs affecting Chrome use http://crbug.com, Component:Speed>Tracing label:Perfetto.