| 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()
|
|
|