cpp codegen iteration 2, based on discussions with three internal teams that use c++. Refer to the design doc "aconfig c++ codegen" for detailed design. At a high level, we generate two sets of code artifacts with the same signatured api: one for production that without any local flag override capability, one for unit test that allows local flag overrides. It supports static methods style interface as well as injection pattern. Refer to the test points in the codegen_cpp.rs for examples of generated code. for production target codegen: aconfig create-cpp-lib --cache <cache> --out <out dir> for test target codegen: aconfig create-cpp-lib --cache <cache> --out <out dir> --mode test Bug: b/279483801 Test: atest aconfig.test Change-Id: I92fefb9623d5435525339a74f57bbd36d0afef08
Android Make Build System
This is the Makefile-based portion of the Android Build System.
For documentation on how to run a build, see Usage.txt
For a list of behavioral changes useful for Android.mk writers see Changes.md
For an outdated reference on Android.mk files, see build-system.html. Our Android.mk files look similar, but are entirely different from the Android.mk files used by the NDK build system. When searching for documentation elsewhere, ensure that it is for the platform build system -- most are not.
This Makefile-based system is in the process of being replaced with Soong, a new build system written in Go. During the transition, all of these makefiles are read by Kati, and generate a ninja file instead of being executed directly. That's combined with a ninja file read by Soong so that the build graph of the two systems can be combined and run as one.