commit | 3cfbcf538417fab94f4975b5709d69c35a7876cd | [log] [tgz] |
---|---|---|
author | Dennis Shen <dzshen@google.com> | Mon Jul 17 14:57:23 2023 +0000 |
committer | Dennis Shen <dzshen@google.com> | Tue Jul 18 20:14:46 2023 +0000 |
tree | f5d13e27aee191951659df963987e7228b4114ec | |
parent | 01332169f33075f43a90795f8dbddb06e3c474b7 [diff] |
aconfig: Rust codegen 2nd iteration Introduce rust codegen 2nd iteration with unit test support. The design is described in detail in the design doc (go/aconfig_rust_codegen). The general idea is to generate different code with the same signature for production and test build targets, just like java/c/cpp codegen. We will have a FlagProvider struct that has flag methods implementation. This flag provider instance can then be used in injection pattern. In additon, we also generate top level functions that wraps around flag provider call so it can be used in static function style. Things to be decided later: should we just generate one set of code, and use cfg! as compile time marco to compile the right code for the right targets. Bug: b/279483360 Test: atest aconfig.test Change-Id: Ic75cedbd0d27b5242014c3ac7fc80692d2ab4589
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.