Document changes to soong config string variables

Bug: 220375749
Test: N/A
Change-Id: Ie7a621eec40488ef63f74d70a91dc5849de2f90a
This commit is contained in:
Cole Faust
2022-11-07 17:07:25 -08:00
parent 94c9b20f1d
commit cb30a801c5

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 the makefile system. If you need one of them, you'll have to set up your own
version. 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/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 [build/soong/docs/best_practices.md#headers]: https://android.googlesource.com/platform/build/soong/+/master/docs/best_practices.md#headers