Add dune build system
dune is a newer build system for ocaml that tries to unify the different build systems of ocaml by invocation of xkcd 927. Success is imminent, the majority of opam packages now use dune!
Advantages over oasis:
- tight integration with opam, if we ever want to publish cool there
- reportedly much faster than oasis
- doesn't need hacks to detect C code, build documentation or format source code
- can generate
.merlin
files - subjectively, oasis seems unfinished around the edges and breaks when trying to use it in non-standard ways.
Disadvantages:
- Build definition spread out over individual files instead of being in one place (disadvantage status is subjective)
- No built-in concept of
configure
step and flags (but easy workaround)
This is in preparation for making the pgsolver dependency optional and therefore being able to merge the pgsolver branch to master. I hope that this will be easier with dune than with oasis.
Edited by Merlin