Add soong_config_get

Having a function to get soong config variables
makes it easier to convert to starlark.

Bug: 201700692
Test: m RBC_PRODUCT_CONFIG=1 RBC_BOARD_CONFIG=1 nothing and check output files
Change-Id: I8627555df10d3f66f6154c00be9f0565076f1f94
This commit is contained in:
Cole Faust
2021-11-08 12:12:45 -08:00
parent 2f1bd70c9c
commit 70a886c7ce
4 changed files with 19 additions and 2 deletions

View File

@@ -304,7 +304,7 @@ $(eval SOONG_CONFIG_$(strip $1)_$(strip $2):=$3)
endef
# soong_config_append appends to the value of the variable in the given Soong
# config namespace. If the varabile does not exist, it will be defined. If the
# config namespace. If the variable does not exist, it will be defined. If the
# namespace does not exist, it will be defined.
# $1 is the namespace, $2 is the variable name, $3 is the value
define soong_config_append
@@ -312,6 +312,14 @@ $(call soong_config_define_internal,$1,$2) \
$(eval SOONG_CONFIG_$(strip $1)_$(strip $2):=$(SOONG_CONFIG_$(strip $1)_$(strip $2)) $3)
endef
# soong_config_append gets to the value of the variable in the given Soong
# config namespace. If the namespace or variables does not exist, an
# empty string will be returned.
# $1 is the namespace, $2 is the variable name
define soong_config_get
$(SOONG_CONFIG_$(strip $1)_$(strip $2))
endef
# Set the extensions used for various packages
COMMON_PACKAGE_SUFFIX := .zip
COMMON_JAVA_PACKAGE_SUFFIX := .jar

View File

@@ -321,6 +321,11 @@ def _soong_config_append(g, nsname, var, value):
ns[var] += " " + value
def _soong_config_get(g, nsname, var):
"""Gets to the value of the variable in the namespace."""
return g.get(_soong_config_namespaces_key, {}).get(nsname, {}).get(var, None)
def _abspath(path):
"""Provided for compatibility, to be removed later."""
return path
@@ -644,6 +649,7 @@ rblf = struct(
soong_config_namespace = _soong_config_namespace,
soong_config_append = _soong_config_append,
soong_config_set = _soong_config_set,
soong_config_get = _soong_config_get,
abspath = _abspath,
addprefix = _addprefix,
addsuffix = _addsuffix,

View File

@@ -61,7 +61,7 @@ else
apex_test_module := art-check-release-apex-gen-fakebin
endif
ifeq (true,$(SOONG_CONFIG_art_module_source_build)
ifeq (true,$(call soong_config_get,art_module,source_build))
PRODUCT_HOST_PACKAGES += $(apex_test_module)
endif

View File

@@ -94,3 +94,6 @@ assert_eq(
assert_eq("S", globals["PLATFORM_VERSION"])
assert_eq(30, globals["PLATFORM_SDK_VERSION"])
assert_eq("xyz", rblf.soong_config_get(globals, "NS2", "v3"))
assert_eq(None, rblf.soong_config_get(globals, "NS2", "nonexistant_var"))