Comments (8)
Yes, that'd be fine. Tho relative paths and fixing your emacs setup seems like a much better solution to me.
from coqutil.
According to the documentation of the compilation-directory-matcher
variable, its default value should work... except that it doesn't, and I can't figure out why. Absolute paths look like a much more stable solution to me, so I changed _CoqProject
to be autogenerated with absolute paths.
from coqutil.
I am not expert, but I think the right fix is to teach your compilation buffer about submake and update current-directory accordingly. That's more robust, but indeed, nested makefiles are a pain.
from coqutil.
Note how today, the .d dependency file doesn't contain absolute paths due to this hack, so it is not relocatable in the way you'd expect.
from coqutil.
Note that I understand how this is a pain, and I'd suggest setting compilation-search-path
in the right way for your project.
Another choice that could work is that you use absolute paths in _CoqProject
for the directory in -R
.
I'm willing to be convinced otherwise, but I'm afraid there is a lot of fragile path magic that could would have to do to support a different path scheme in _CoqProject
and in the input for coq_makefile
.
What do you think?
from coqutil.
Another choice is to set your compilation-directory-matcher
properly.
from coqutil.
In our other makefiles, eg here:
we autogenerate _CoqProject
so that it contains absolute paths. Would that solve the issue?
from coqutil.
That's weird ... Maybe you can open an issue in the Coq repos for coq_makefile?
Thanks for the fix, I will document the coq_makefile constraints.
Dune-based Coq modes actually understand composition better, so coqc is called from the base directory and emacs compilation buffer does work without the change directory hackery.
from coqutil.
Related Issues (20)
- make is very noisy even when there is nothing to be done HOT 2
- Can `word.unsigned_sru
- coqutil.Map.SortedListString.map cannot be extracted HOT 5
- There is no validate target, and if there were one, it would fail
- It would be better if coqutil used no axioms HOT 5
- LittleEndian.combine should not inline tuple.to_list HOT 3
- Compatibility with older versions of Coq HOT 3
- eradicating LittleEndian.combine HOT 2
- Build fails on 8.11 HOT 10
- Merging fiat-crypto utilities into coqutil? HOT 2
- hooking `word` into `lia` HOT 1
- please update `tested` branch HOT 4
- Please stop emailing me when tested fails to update HOT 1
- coqutil.Z.bitblast not found in 8.13 HOT 3
- Please pick the version you prefer for Coq 8.16 in Coq Platform 2022.09 HOT 6
- Please pick the version you prefer for Coq 8.17 in Coq Platform 2023.03 HOT 2
- Please pick the version you prefer for Coq 8.18 in Coq Platform 2023.10 HOT 4
- it should be possible to `sudo make install` even when the `sudo` account doesn't have `coq_makefile` in `PATH` HOT 7
- Please create a tag for Coq 8.19 in Coq Platform 2024.01
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from coqutil.