summaryrefslogtreecommitdiff
path: root/site_scons
diff options
context:
space:
mode:
Diffstat (limited to 'site_scons')
-rw-r--r--site_scons/site_tools/ninja.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/site_scons/site_tools/ninja.py b/site_scons/site_tools/ninja.py
index a3326907c87..7e2d61ecb6a 100644
--- a/site_scons/site_tools/ninja.py
+++ b/site_scons/site_tools/ninja.py
@@ -843,6 +843,11 @@ def gen_get_response_file_command(env, rule, tool, tool_is_dynamic=False):
raise Exception("Could not find tool {} in {} generated from {}".format(tool, cmd_list, get_comstr(env, action, targets, sources)))
cmd, rsp_content = cmd_list[:tool_idx], cmd_list[tool_idx:]
+
+ # Some commands may have a need to pass a literal $ to a tool
+ # like ld (think $ORIGIN). We need to protect that $ from
+ # Ninja by using $$.
+ rsp_content = " ".join(rsp_content).replace('$', '$$')
variables = {"rspc": rsp_content}
variables[rule] = cmd
if use_command_env: