-
Notifications
You must be signed in to change notification settings - Fork 27
[build] Fix missing deps in dune rule for All.v file #201
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
For overlays rocq-prover/rocq#20962 and rocq-prover/rocq#20917 We still keep our stdlib overlay due to rocq-prover/stdlib#201
For overlays rocq-prover/rocq#20962 and rocq-prover/rocq#20917 We still keep our stdlib overlay due to rocq-prover/stdlib#201
For overlays rocq-prover/rocq#20962 and rocq-prover/rocq#20917 We still keep our stdlib overlay due to rocq-prover/stdlib#201
For overlays rocq-prover/rocq#20962 and rocq-prover/rocq#20917 We still keep our stdlib overlay due to rocq-prover/stdlib#201
IIUC, this means default dune build will skip All.v? I don't have any strong opinion against that but other may have one (Cc @andres-erbsen for instance) Disclaimer: I still don't really understand the issue here and the interaction with rocq-core (for me Stdlib obviously depends on rocq-core and I fail to see how this can be an issue) so maybe you shouldn't listen too much to me. |
Could we avoid needing Prelude.vo when running the script? It doesn't seem like a fundamental need. |
I also don't understand the details here. I do see value in having a fine-grained parallel build, but I am not sure it's worth excluding All.v to achieve that. Based on my current understanding, I can imagine only merging
My reading: due to current technical limitations (of dune? of coq-core dune rules?) we cannot have All.v depend on coqdep without depending on the entire package. Why is that, and is there an issue for it?
I am not sure what you mean - could files in stdlib still build in parallel?
this might just be fine? what is the difference in critical-path build time? Thank you for looking after our build, |
Per #106 (comment), an alternatice solution might be to
Or alternatively, only have the unsorted one.
|
e307464
to
57d773e
Compare
57d773e
to
2447669
Compare
b331e3c
to
6ee8cc8
Compare
This fixes a bug for composed builds introduced in rocq-prover#167. Re-submission of rocq-prover#188, which was merged and reverted. As the rule stands, dune will try to generate the All.v file before both `rocq` and `Corelib.Init.Prelude.vo` have been built, which are both needed for the script. Unfortunately, given the way rocq and prelude work, we need to depend on the full `rocq-core` package, so things are in the expected places before the generation of `All.v`. This would linearize the stdlib build: we cannot run `coqdep` now for the `Stdlib` until the whole `rocq-core` package is built. We could mitigate this by excluding `All.v` from the list of modules in the `Stdlib` coq.theory file (done in the patch), however, this won't install / build `All.vo`, so we should decide what the desired tradeoff is here.
bab78a2
to
c9d4a4e
Compare
c9d4a4e
to
c4906ba
Compare
This fixes a bug for composed builds introduced in #167.
Re-submission of #188, which was merged and reverted.
As the rule stands, dune will try to generate the All.v file before both
rocq
andCorelib.Init.Prelude.vo
have been built, which are both needed for the script.Unfortunately, given the way rocq and prelude work, we need to depend on the full
rocq-core
package, so things are in the expected places before the generation ofAll.v
.This would linearize the stdlib build: we cannot run
coqdep
now for theStdlib
until the wholerocq-core
package is built.We could mitigate this by excluding
All.v
from the list of modules in theStdlib
coq.theory file (done in the patch), however, this won't install / buildAll.vo
, so we should decide what the desired tradeoff is here.