Index: tools/gn/ninja_bundle_data_target_writer.cc |
diff --git a/tools/gn/ninja_bundle_data_target_writer.cc b/tools/gn/ninja_bundle_data_target_writer.cc |
index 67b5a10e15b4273ed334ab2d1435b75f101e265e..26bfefbd4328cc8d04f27335bede23b68fa9cfee 100644 |
--- a/tools/gn/ninja_bundle_data_target_writer.cc |
+++ b/tools/gn/ninja_bundle_data_target_writer.cc |
@@ -5,6 +5,8 @@ |
#include "tools/gn/ninja_bundle_data_target_writer.h" |
#include "tools/gn/output_file.h" |
+#include "tools/gn/settings.h" |
+#include "tools/gn/target.h" |
NinjaBundleDataTargetWriter::NinjaBundleDataTargetWriter(const Target* target, |
std::ostream& out) |
@@ -13,7 +15,20 @@ NinjaBundleDataTargetWriter::NinjaBundleDataTargetWriter(const Target* target, |
NinjaBundleDataTargetWriter::~NinjaBundleDataTargetWriter() {} |
void NinjaBundleDataTargetWriter::Run() { |
- std::vector<OutputFile> files; |
- files.push_back(WriteInputDepsStampAndGetDep(std::vector<const Target*>())); |
- WriteStampForTarget(files, std::vector<OutputFile>()); |
+ std::vector<OutputFile> output_files; |
+ for (const SourceFile& source_file : target_->sources()) { |
+ output_files.push_back( |
+ OutputFile(settings_->build_settings(), source_file)); |
+ } |
+ |
+ std::vector<const Target*> extra_hard_deps; |
+ OutputFile input_dep = WriteInputDepsStampAndGetDep(extra_hard_deps); |
+ if (!input_dep.value().empty()) |
+ output_files.push_back(input_dep); |
+ |
+ std::vector<OutputFile> order_only_deps; |
+ for (const auto& pair : target_->data_deps()) |
+ order_only_deps.push_back(pair.ptr->dependency_output_file()); |
+ |
+ WriteStampForTarget(output_files, order_only_deps); |
} |