commit | 7102baaf65d652857823f63c58c19f7dbb158592 | [log] [tgz] |
---|---|---|
author | Daniel Zheng <zhengdaniel@google.com> | Thu Feb 22 13:25:28 2024 -0800 |
committer | Daniel Zheng <zhengdaniel@google.com> | Tue Mar 05 12:01:05 2024 -0800 |
tree | b43f00649509485e24aa896112944ff95a80139f | |
parent | 474afa8f06e297924c7fe03e47ce8d6e7c703024 [diff] |
Turn on V3 cow On all api levels shipping higher than 34 (pixel 8), we want to enable v3 cow version of the cow format We need to make this change in product_config.mk since PRODUCT variables have special interactions with inherit-product. PRODUCT_SHIPPING_API_LEVEL is defined in device.mk and is unavailable to the parent makefile (PRODUCT vars are cleared at the beginning of makefiles?). Having the fallback vabc_cow_version in this file allows us to avoid the hack below (we would have to modify each device.mk to add a temporary variable) alternate solution: We have to create a new variable SHIPPING_API_LEVEL that is a duplicate of PRODUCT_SHIPPING_API_LEVEL. This is a hack to workaround the inheritance flow (since vabc_features.mk -> android_t_baseline.mk -> device.mk).This hack allows this variable to be seen by the parent .mk file Bug: 313962438 Test: u->v upgrade path for pixel 8. v->u dowgrade path for pixel 8 Change-Id: I6e1480e461c20a2fb07c5339828df0e6f6c0f9ec
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.