Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3736374d authored by Cole Faust's avatar Cole Faust
Browse files

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
parent a5530711
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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):
+1 −0
Original line number Diff line number Diff line
@@ -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:")
+2 −1
Original line number Diff line number Diff line
@@ -144,7 +144,8 @@ assert_eq(
            "v2": "def"
        },
        "NS2": {
            "v3": "xyz"
            "v3": "xyz",
            "v4": "xyz"
        }
    },
    {k:v for k, v in sorted(ns.items()) }