diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2024-03-11 12:20:00 -0700 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2025-04-03 12:27:07 -0700 |
commit | cc815c4bcac055721ae359cbc757f50c10ed54ed (patch) | |
tree | ad5cf05822c0af67cdbaf67ba6edbdbc73291514 /docs/markdown/snippets | |
parent | 11771a8ce6a5767ebf460c5d722a83358d5f83d1 (diff) | |
download | meson-cc815c4bcac055721ae359cbc757f50c10ed54ed.zip meson-cc815c4bcac055721ae359cbc757f50c10ed54ed.tar.gz meson-cc815c4bcac055721ae359cbc757f50c10ed54ed.tar.bz2 |
backend/ninja: fix cross module dependencies
This requires that every Fortran target that uses modules have a full
dependency on the scan target of it's dependencies. This means that for
a three step target `A -> B -> C`, we cannot start compiling any of B
until all of A is linked, and cannot start compiling any of C until
all of A and B is linked.
This fixes various kinds of races, but it serializes the build and makes
it slow. This is the best we can do though, since we don't have any sort
of portable format for telling C what is in A and B, so C can't know
what sources to wait on for it's modules to be fulfilled.
Diffstat (limited to 'docs/markdown/snippets')
0 files changed, 0 insertions, 0 deletions