Add trdata.naix as a dependency of compiler for scr_seq binaries #332
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This hardens the dependency between the compiling generator for binaries packed into
scr_seq.narc
andtrdata.naix
(which is generated during packing fortrdata.narc
).The bug is apparent in the following snippet of
build.ninja
from a failure archive:This can be read in human terms as
scripts_route_230
being built by a custom command applied toscripts_route_230.s
with header dependencies against the files thereafter (which means that any change to those files will flagscripts_route_230
as dirty and in-need of rebuild. Notably missing istrdata.naix
, which is used by some script files, such asscripts_pastoria_gym.s
.Because
ninja
builds files as immediately as it deems that it is able to, this sometimes resulted in the compilation generator for these binaries being kickstarted beforetrdata.narc
could be packed, which naturally results in a compilation error. The root of the bug is here:This declares a dependency against
trdata.narc
on the packing procedure forscr_seq.narc
. Notably, this does not propagate the dependency into the generators, which are independent. Instead, that dependency must be declared on the generator itself.