Fix whitespace in soong_config_set calls
In make, soong_config_set uses an $(eval) to set it's value, expanding the value of the soong config variable _before_ evaluating the value. Because of this, make will strip trailing whitespace like it does on regular assignments. Make rbcrun match this behavior. Test: ./out/rbcrun ./build/make/tests/run.rbc Change-Id: I907e85cdf50f6fac54331c0d1044f0d53bec22ed
This commit is contained in:
parent
a5530711fb
commit
3736374dfe
3 changed files with 7 additions and 1 deletions
|
@ -394,6 +394,10 @@ def _soong_config_namespace(g, nsname):
|
|||
def _soong_config_set(g, nsname, var, value):
|
||||
"""Assigns the value to the variable in the namespace."""
|
||||
_soong_config_namespace(g, nsname)
|
||||
if type(value) == "string":
|
||||
# Trim right spaces, because in make the variable is set in an $(eval),
|
||||
# which will ignore trailing spaces.
|
||||
value = value.rstrip(" ")
|
||||
g[_soong_config_namespaces_key][nsname][var]=value
|
||||
|
||||
def _soong_config_append(g, nsname, var, value):
|
||||
|
|
|
@ -54,6 +54,7 @@ def init(g, handle):
|
|||
rblf.soong_config_append(g, "NS1", "v2", "def")
|
||||
rblf.soong_config_set(g, "NS2", "v3", "abc")
|
||||
rblf.soong_config_set(g, "NS2", "v3", "xyz")
|
||||
rblf.soong_config_set(g, "NS2", "v4", "xyz ")
|
||||
|
||||
rblf.mkdist_for_goals(g, "goal", "dir1/file1:out1 dir1/file2:out2")
|
||||
rblf.mkdist_for_goals(g, "goal", "dir2/file2:")
|
||||
|
|
|
@ -144,7 +144,8 @@ assert_eq(
|
|||
"v2": "def"
|
||||
},
|
||||
"NS2": {
|
||||
"v3": "xyz"
|
||||
"v3": "xyz",
|
||||
"v4": "xyz"
|
||||
}
|
||||
},
|
||||
{k:v for k, v in sorted(ns.items()) }
|
||||
|
|
Loading…
Reference in a new issue