This fixes the macOS host build by adding a bloaty config. However, the
bloaty config isn't quite right; followup work will be needed to decide
if it makes sense to have Mach-O bloat reports.
Change-Id: I4148c85d73a1b8dbd02b1772688259dbe59e950e
This change introduces the pw_dumb_io module, a module intended for
pigweed testing and bringup. pw_dumb_io includes a facade, and a backend
implementation using stdio (pw_dumb_io_stdio).
Change-Id: I5d9ca3c256c7e7c6d60cc07292aaead808a7f3dd
This change adds a size reporting module named pw_bloat. The module
uses Bloaty McBloatface to generate size report cards for binaries. It
provides a GN template which defines an action to perform a size diff
on a group of binary targets.
Example output:
simple_bloat
────────────
┌────────────────┬──────────────┬────────┬───────┬───────┐
│ Label │ Segment │ Before │ Delta │ After │
├════════════════┼══════════════┼════════┼═══════┼═══════┤
│ Add a loop │ EXAMPLE CODE │ 429 │ +32 │ 461 │
│ │ EXAMPLE RAM │ 576 │ +8 │ 584 │
├────────────────┼──────────────┼────────┼───────┼───────┤
│ Add a function │ EXAMPLE CODE │ 429 │ +16 │ 445 │
│ │ EXAMPLE RAM │ 576 │ +8 │ 584 │
└────────────────┴──────────────┴────────┴───────┴───────┘
Change-Id: I14b3d383ec450bc6d017bf5d0111e266b0a3c368
- Move pw_unit_test_create_run_targets to pw_vars_default.gni so that
targets can set it.
- Keep the default false, but set it to true for the host targets.
Change-Id: Ia1af584642d0dd4d16b801b2ee4a8bb1a78c286e
- Update host_clang to work on Linux: switch to -Map and --gc-sections
options
- Make pw_target_toolchain a build arg for Linux and macOS targets.
Default to gcc on Linux, clang on macOS.
- Rename x86_linux_gcc to host_gcc.
Change-Id: I72eef9ba9398a331f6567b68ad404092186eb15b
This adds a generic host_clang toolchain, targeting hosts running Mac and
Linux to start, and likely Windows later.
For now, on Mac the default toolchain is set to host_clang_og
Change-Id: Iea457c61586930d509439c6616574c9a74919433
This change defines the build target system used by Pigweed, where the
build is configured using per-target globals imported from a target .gni
file. A single build arg specifying the path to the target file replaces
the previous args.
A default build variables file is provided in the Pigweed root. This
file defines and documents all of the build variables used by Pigweed.
A top-level targets directory is added to define the targets used by
Pigweed developers. Currently, only a "host" target is added, which
configures the build for a development system based on the host OS.
Change-Id: Ie62b8d41e5789bfe7fffe20462160142c79076c4