a963b94cde
This allows using select statements with it. Bug: 323382414 Test: m nothing --no-skip-soong-tests Change-Id: I6f3efaaa3d82505e38a91ee4ba0e18e404360191 Merged-In: If355d24506e3f117d27b21442a6c02bca3402dc7
28 lines
940 B
Go
28 lines
940 B
Go
package android
|
|
|
|
import "github.com/google/blueprint/proptools"
|
|
|
|
// CreateSelectOsToBool is a utility function that makes it easy to create a
|
|
// Configurable property value that maps from os to a bool. Use an empty string
|
|
// to indicate a "default" case.
|
|
func CreateSelectOsToBool(cases map[string]*bool) proptools.Configurable[bool] {
|
|
var resultCases []proptools.ConfigurableCase[bool]
|
|
for pattern, value := range cases {
|
|
if pattern == "" {
|
|
resultCases = append(resultCases, proptools.NewConfigurableCase(
|
|
[]proptools.ConfigurablePattern{proptools.NewDefaultConfigurablePattern()},
|
|
value,
|
|
))
|
|
} else {
|
|
resultCases = append(resultCases, proptools.NewConfigurableCase(
|
|
[]proptools.ConfigurablePattern{proptools.NewStringConfigurablePattern(pattern)},
|
|
value,
|
|
))
|
|
}
|
|
}
|
|
|
|
return proptools.NewConfigurable(
|
|
[]proptools.ConfigurableCondition{proptools.NewConfigurableCondition("os", nil)},
|
|
resultCases,
|
|
)
|
|
}
|