DeepSpec / InteractionTrees

A Library for Representing Recursive and Impure Programs in Coq
MIT License
204 stars 51 forks source link

Dune build system #181

Closed rgrinberg closed 3 years ago

rgrinberg commented 4 years ago

Experimental port to use dune to build library + tests. The port isn't yet complete, but it's interesting enough for the maintainers to experiment with. If there's interest, I can finish up the port.

Requires dune 2.6+.

cc @ejgallego

Lysxia commented 4 years ago

Thanks @rgrinberg using dune seems especially nice now that you've added support for extraction.

One question: for proof-general/coqide to find the .vo files, is the right way to point _CoqProject to the _build directory?

I can merge this when this is finished.

Lysxia commented 3 years ago

I rebased.

TODO:

Lysxia commented 3 years ago

Thanks again @rgrinberg for initiating this! dune is indeed pretty nice and I'm looking forward to see its Coq support improve further.

ejgallego commented 3 years ago

Glad to hear you found dune coq support useful @Lysxia

  • It seems dune doesn't support Coq 8.9, so I just dropped that version too (the make build still works with it, but not for long)

This was a bug, fixed in master, hopefully it will make it to a 2.8.3 or 2.9 release soon. Sorry for that.

  • For extraction I switched to monolithic extraction only. Modular extraction required me to list all modules, which was very brittle because all it takes is one dependency adding one import to break the build.

I'm sure we can improve that, and other work on tooling seems to finally be progressing in Coq so we can actually have some hope for a better integration. Please feel free to submit a feature request to Dune's bug tracker.

  • I don't know whether or how dune supports building documentation for Coq projects, that's the main reason for still maintaining the make build for now.

Not yet but it is a top priority; Coq upstream needs it for the standard library so we can remove another bit of make stuff there.

Lysxia commented 3 years ago

Heh, 2.8.3 came out an hour ago. Thanks for the info @ejgallego !

ejgallego commented 3 years ago

Thanks a lot @rgrinberg for the release! @clarus , I'm pinging you here and hopefully dune 2.8.3 should fix all the problems you had in coq.io with 8.9, let me know in Zulip if that is not the case.

clarus commented 3 years ago

@ejgallego OK thanks!