-
Notifications
You must be signed in to change notification settings - Fork 632
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
[coqdep] Don't "canonize" files. #16116
base: master
Are you sure you want to change the base?
Conversation
For reference, the canonization tries to solve a hard to solve problem: make can't understand directory traversal properly, so for make Note that make does recognize See mit-plv/coqutil#67 for more info. |
foo/.. and . are not necessarily the same path if foo is a symlink. you have to look beyondthe syntax to know if it is the case. |
Yes, indeed that's not the best example, but this is why canonization is a complex process. (And that's a big problem for submakefiles, dune has to deal with a lot of stuff so composition properly works due to adjusting paths) It is better just to have the invariant that coq_makefile and coqdep don't do that, and just have to share the same path prefix, so we don't even try to understand if |
Can you rebase and fix the CI? |
The "needs: rebase" label was set more than 30 days ago. If the PR is not rebased in 30 days, it will be automatically closed. |
"Canonization" is a fragile (and expensive) process, instead, we require that files passed to coqdep match the layout given in the `-R` / `-Q` options.
530fb83
to
e0986fc
Compare
@coqbot run full ci |
@SkySkimmer last time this PR was run indeed some users did rely on passing incorrect paths to Coq makefile but coqdep fixing them. Maybe we should go ahead and do some overlays, I dunno. |
"Canonization" is a fragile (and expensive) process, instead, we
require that files passed to coqdep match the layout given in the
-R
/
-Q
options.