Merge "Document changes to soong config string variables" am: 56a6905d86

Original change: https://android-review.googlesource.com/c/platform/build/+/2290344

Change-Id: I760ad49579961037628fde4d0300644aa2f6c188
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot 2022-11-08 05:17:44 +00:00 committed by Automerger Merge Worker
commit ca13cf7375

View file

@ -860,6 +860,39 @@ These are all exported from envsetup.sh, but don't have clear equivalents within
the makefile system. If you need one of them, you'll have to set up your own
version.
## Soong config variables
### Soong config string variables must list all values they can be set to
In order to facilitate the transition to bazel, all soong_config_string_variables
must only be set to a value listed in their `values` property, or an empty string.
It is a build error otherwise.
Example Android.bp:
```
soong_config_string_variable {
name: "my_string_variable",
values: [
"foo",
"bar",
],
}
soong_config_module_type {
name: "my_cc_defaults",
module_type: "cc_defaults",
config_namespace: "my_namespace",
variables: ["my_string_variable"],
properties: [
"shared_libs",
"static_libs",
],
}
```
Product config:
```
$(call soong_config_set,my_namespace,my_string_variable,baz) # Will be an error as baz is not listed in my_string_variable's values.
```
[build/soong/Changes.md]: https://android.googlesource.com/platform/build/soong/+/master/Changes.md
[build/soong/docs/best_practices.md#headers]: https://android.googlesource.com/platform/build/soong/+/master/docs/best_practices.md#headers