Index: pylib/gyp/generator/ninja.py |
diff --git a/pylib/gyp/generator/ninja.py b/pylib/gyp/generator/ninja.py |
index b13affe0a172392ae115201874d5f44223b38c38..96cadc9eeefc898a5c18941b32179d38908d728b 100644 |
--- a/pylib/gyp/generator/ninja.py |
+++ b/pylib/gyp/generator/ninja.py |
@@ -656,6 +656,7 @@ class NinjaWriter(object): |
for var in special_locals: |
if '${%s}' % var in argument: |
needed_variables.add(var) |
+ needed_variables = sorted(needed_variables) |
def cygwin_munge(path): |
# pylint: disable=cell-var-from-loop |
@@ -729,6 +730,7 @@ class NinjaWriter(object): |
# WriteNewNinjaRule uses unique_name for creating an rsp file on win. |
extra_bindings.append(('unique_name', |
hashlib.md5(outputs[0]).hexdigest())) |
+ |
self.ninja.build(outputs, rule_name, self.GypPathToNinja(source), |
implicit=inputs, |
order_only=prebuild, |
@@ -1252,10 +1254,11 @@ class NinjaWriter(object): |
if len(solibs): |
- extra_bindings.append(('solibs', gyp.common.EncodePOSIXShellList(solibs))) |
+ extra_bindings.append(('solibs', |
+ gyp.common.EncodePOSIXShellList(sorted(solibs)))) |
ninja_file.build(output, command + command_suffix, link_deps, |
- implicit=list(implicit_deps), |
+ implicit=sorted(implicit_deps), |
order_only=list(order_deps), |
variables=extra_bindings) |
return linked_binary |
@@ -1901,7 +1904,7 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params, |
configs, generator_flags) |
cl_paths = gyp.msvs_emulation.GenerateEnvironmentFiles( |
toplevel_build, generator_flags, shared_system_includes, OpenOutput) |
- for arch, path in cl_paths.iteritems(): |
+ for arch, path in sorted(cl_paths.iteritems()): |
if clang_cl: |
# If we have selected clang-cl, use that instead. |
path = clang_cl |
@@ -2337,7 +2340,7 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params, |
# able to run actions and build libraries by their short name. |
master_ninja.newline() |
master_ninja.comment('Short names for targets.') |
- for short_name in target_short_names: |
+ for short_name in sorted(target_short_names): |
master_ninja.build(short_name, 'phony', [x.FinalOutput() for x in |
target_short_names[short_name]]) |
@@ -2353,7 +2356,7 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params, |
if all_outputs: |
master_ninja.newline() |
- master_ninja.build('all', 'phony', list(all_outputs)) |
+ master_ninja.build('all', 'phony', sorted(all_outputs)) |
master_ninja.default(generator_flags.get('default_target', 'all')) |
master_ninja_file.close() |