You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The original make has extracted the following targets:
foo.f90
bar.f90
baz.f90
In its build, the user has explicitly excluded baz.f90 with a build.ns-excl statement.
In the current make, the user has written a new source file qux.f90, that requires baz.f90 for the build to work, so he removes exclusion with a new build.ns-excl statement, which should override the original statement.
In a one-stage extract-build, the current build obtains its sources from:
The inherited build - no baz.f90 because it was excluded.
The current extract - no baz.f90 because it is unchanged.
which sees the full source of the inherited extract - has baz.f90.
So, the current build is able to see baz.f90 via the extract step.
However, if we have a extract-mirror, then build in an alternate location, the current build will obtain its sources from:
The inherited build - no baz.f90 because it was excluded.
The source=extract statement - no baz.f90 because it is unchanged.
So, the current build is unable to see baz.f90, and so it fails.
The intention of the current logic is such that the current step only needs to walk one step to obtain the full source tree - by assuming that the immediate predecessors have all the knowledge required.
This assumption clearly does not work well in this case.
The text was updated successfully, but these errors were encountered:
Consider an extract-build with inheritance.
The original make has extracted the following targets:
In its build, the user has explicitly excluded
baz.f90
with abuild.ns-excl
statement.In the current make, the user has written a new source file
qux.f90
, that requiresbaz.f90
for the build to work, so he removes exclusion with a newbuild.ns-excl
statement, which should override the original statement.In a one-stage extract-build, the current build obtains its sources from:
baz.f90
because it was excluded.baz.f90
because it is unchanged.baz.f90
.So, the current build is able to see
baz.f90
via the extract step.However, if we have a extract-mirror, then build in an alternate location, the current build will obtain its sources from:
baz.f90
because it was excluded.source=extract
statement - nobaz.f90
because it is unchanged.So, the current build is unable to see
baz.f90
, and so it fails.The intention of the current logic is such that the current step only needs to walk one step to obtain the full source tree - by assuming that the immediate predecessors have all the knowledge required.
This assumption clearly does not work well in this case.
The text was updated successfully, but these errors were encountered: