coq-program-verification-template icon indicating copy to clipboard operation
coq-program-verification-template copied to clipboard

`Make all` vs `dune build` approach

Open zunction opened this issue 3 years ago • 0 comments

I'm a relatively new user in using both make and dune to manage by coq projects. With this program verification template it has enabled me to make use of the makefile setup to nicely maintain my library with make all generating the .vo, .vos, .vok files. My understanding is that .vo files generated from compiling is needed to if I want to call upon my library.

Here is my struggle, in my exploration of dune build to compile my .v files, only .vo files are generated and when I try to import my library (I use emacs) in another .v file, it says it is unable to locate library (also it seems that I need to prefix my original library name with the declared name in the dune file). It is also unclear how to map what I have in Makefile to its 'equivalent' in dune.

So my questions are:

  • how would a Makefile be mapped to dune and dune-project?
  • what is the difference in in the output when we run make all compared to dune build? It seems to be the output of the latter is a folder with many nested directories.
  • how do I resolve the error which says it is unable to locate the library?

Many thanks

zunction avatar Apr 27 '21 12:04 zunction