Chromium Code Reviews| Index: tools/gn/ninja_build_writer.cc |
| diff --git a/tools/gn/ninja_build_writer.cc b/tools/gn/ninja_build_writer.cc |
| index 50638fbb7876819438dea2b6dbe659779da72731..67c2c87781814adf176e3bbe77d06a8903c6456c 100644 |
| --- a/tools/gn/ninja_build_writer.cc |
| +++ b/tools/gn/ninja_build_writer.cc |
| @@ -194,13 +194,18 @@ void NinjaBuildWriter::WriteNinjaRules() { |
| dep_out_ << "build.ninja:"; |
| std::vector<base::FilePath> input_files; |
| g_scheduler->input_file_manager()->GetAllPhysicalInputFileNames(&input_files); |
| - for (const auto& input_file : input_files) |
| - dep_out_ << " " << FilePathToUTF8(input_file); |
| + |
| + // Put the files into a set so that the output is sorted and hence |
|
M-A Ruel
2015/12/07 00:20:16
Why not just std::sort(input_files.begin(), input_
Zachary Forman
2015/12/07 03:18:17
Interestingly, the two vectors seem to contain a n
|
| + // deterministic. |
| + std::set<base::FilePath> file_set(input_files.begin(), input_files.end()); |
| // Other files read by the build. |
| - std::vector<base::FilePath> other_files = g_scheduler->GetGenDependencies(); |
| - for (const auto& other_file : other_files) |
| - dep_out_ << " " << FilePathToUTF8(other_file); |
| + input_files = g_scheduler->GetGenDependencies(); |
| + |
| + file_set.insert(input_files.begin(), input_files.end()); |
| + |
| + for (const auto& input_file : file_set) |
| + dep_out_ << " " << FilePathToUTF8(input_file); |
| out_ << std::endl; |
| } |