Support ints in select() expressions
Both for the type of the condition, and the type of the property.
Bug: 355539748
Test: soong tests
Change-Id: Ia84ea9f9f43a4c44a96415aad06c9c3981bf217c
diff --git a/android/module.go b/android/module.go
index a3fe837..45a20a0 100644
--- a/android/module.go
+++ b/android/module.go
@@ -22,6 +22,7 @@
"reflect"
"slices"
"sort"
+ "strconv"
"strings"
"github.com/google/blueprint"
@@ -2688,6 +2689,13 @@
return proptools.ConfigurableValueString(v)
case "bool":
return proptools.ConfigurableValueBool(v == "true")
+ case "int":
+ i, err := strconv.ParseInt(v, 10, 64)
+ if err != nil {
+ ctx.OtherModulePropertyErrorf(m, property, "integer soong_config_variable was not an int: %q", v)
+ return proptools.ConfigurableValueUndefined()
+ }
+ return proptools.ConfigurableValueInt(i)
case "string_list":
return proptools.ConfigurableValueStringList(strings.Split(v, " "))
default: