- 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
- Add -fdiagnostics-color so that compiler warnings are colorized. The
way Ninja invokes GCC disables colors by default.
- Move -Wno-psabi up to the arm_gcc_toolchain template so that it
doesn't have to be specified for each arm_gcc_toolchain instance.
- Add -Werror to the strict_warnings config to prevent warnings from
slipping through. Exempt a few warnings that should actually be
warnings.
Change-Id: I8656d6690b488f7b004f15abd7100b62e1945cfd
This change adds two Pigweed modules: pw_preprocessor and pw_unit_test.
The preprocessor module contains header files providing helpful macros
for the C preprocessor. The unit test module contains a starter
implementation of a unit testing framework for Pigweed.
Change-Id: I46e1a4cae1fd8ce36d7840a2e92f8013fb489cde
This change adds Pigweed's first few (incomplete) modules: pw_build,
pw_status, and pw_toolchain. The main scaffolding for Pigweed's GN-based
build system is also included, with a root BUILDCONFIG and BUILD.gn file
defining a top-level modules build target.
Change-Id: I09599443d50696343d6c5b85853cb5cee3ce0026