0
0
mirror of https://github.com/mongodb/mongo.git synced 2024-11-30 00:56:44 +01:00

SERVER-48348 Do not sort dwo files in ahead of object files during Ninja generation

This commit is contained in:
Andrew Morrow 2020-05-21 09:05:22 -04:00 committed by Evergreen Agent
parent da5f391885
commit 18cbf0d581

View File

@ -650,7 +650,16 @@ class NinjaState:
# use for the "real" builder and multiple phony targets that
# match the file names of the remaining outputs. This way any
# build can depend on any output from any build.
build["outputs"].sort()
#
# We assume that the first listed output is the 'key'
# output and is stably presented to us by SCons. For
# instance if -gsplit-dwarf is in play and we are
# producing foo.o and foo.dwo, we expect that outputs[0]
# from SCons will be the foo.o file and not the dwo
# file. If instead we just sorted the whole outputs array,
# we would find that the dwo file becomes the
# first_output, and this breaks, for instance, header
# dependency scanning.
if rule is not None and (rule.get("deps") or rule.get("rspfile")):
first_output, remaining_outputs = (
build["outputs"][0],
@ -659,7 +668,7 @@ class NinjaState:
if remaining_outputs:
ninja.build(
outputs=remaining_outputs, rule="phony", implicit=first_output,
outputs=sorted(remaining_outputs), rule="phony", implicit=first_output,
)
build["outputs"] = first_output