Index: tools/gn/ninja_action_target_writer.cc |
diff --git a/tools/gn/ninja_action_target_writer.cc b/tools/gn/ninja_action_target_writer.cc |
index 7f14e74660e4d7ca1ef2b4a493fde850da3eda43..6a632e789e32f7f0f24c69dc9f89c8d75a7f5b6c 100644 |
--- a/tools/gn/ninja_action_target_writer.cc |
+++ b/tools/gn/ninja_action_target_writer.cc |
@@ -23,7 +23,8 @@ NinjaActionTargetWriter::~NinjaActionTargetWriter() { |
} |
void NinjaActionTargetWriter::Run() { |
- FileTemplate args_template(target_->action_values().args()); |
+ FileTemplate args_template(target_->settings(), |
+ target_->action_values().args()); |
std::string custom_rule_name = WriteRuleDefinition(args_template); |
// Collect our deps to pass as "extra hard dependencies" for input deps. This |
@@ -136,14 +137,11 @@ std::string NinjaActionTargetWriter::WriteRuleDefinition( |
void NinjaActionTargetWriter::WriteArgsSubstitutions( |
const SourceFile& source, |
const FileTemplate& args_template) { |
- std::ostringstream source_file_stream; |
- path_output_no_escaping_.WriteFile(source_file_stream, source); |
- |
EscapeOptions template_escape_options; |
template_escape_options.mode = ESCAPE_NINJA_COMMAND; |
args_template.WriteNinjaVariablesForSubstitution( |
- out_, source_file_stream.str(), template_escape_options); |
+ out_, target_->settings(), source, template_escape_options); |
} |
void NinjaActionTargetWriter::WriteSourceRules( |
@@ -208,7 +206,7 @@ void NinjaActionTargetWriter::WriteOutputFilesForBuildLine( |
const SourceFile& source, |
std::vector<OutputFile>* output_files) { |
std::vector<std::string> output_template_result; |
- output_template.ApplyString(source.value(), &output_template_result); |
+ output_template.Apply(source, &output_template_result); |
for (size_t out_i = 0; out_i < output_template_result.size(); out_i++) { |
OutputFile output_path(output_template_result[out_i]); |
output_files->push_back(output_path); |
@@ -219,7 +217,7 @@ void NinjaActionTargetWriter::WriteOutputFilesForBuildLine( |
void NinjaActionTargetWriter::WriteDepfile(const SourceFile& source) { |
std::vector<std::string> result; |
- GetDepfileTemplate().ApplyString(source.value(), &result); |
+ GetDepfileTemplate().Apply(source, &result); |
path_output_.WriteFile(out_, OutputFile(result[0])); |
} |
@@ -229,5 +227,5 @@ FileTemplate NinjaActionTargetWriter::GetDepfileTemplate() const { |
RemovePrefix(target_->action_values().depfile().value(), |
settings_->build_settings()->build_dir().value()); |
template_args.push_back(depfile_relative_to_build_dir); |
- return FileTemplate(template_args); |
+ return FileTemplate(settings_, template_args); |
} |