Mentions légales du service

Skip to content

Switch to dune

Nicolás Ojeda Bär requested to merge switch_to_dune into master

As discussed, this merge request implements the switch of the build system to dune (version >= 2.0 is required). Apart from the switch of build system there are some actual changes to the codebase:

  • Removed dependency on ocamlfind. The flag --sugest-ocamlfind is deprecated and prints false unconditionally.
  • Most demos were duplicated between ocamlbuild and dune versions. The ocamlbuild versions were removed or switched to dune, as needed.
  • The Installation.libdir variable (which is only used for the --suggest-menhirLib flag) is deduced from the location of the executable (as $BINDIR/../lib), so it does not have to be set by a "configure" step. This is useful so that this flag works even if menhir is not installed but being built out of the current dune workspace.
  • Files version.ml, StaticVersion.ml and StaticVersion.mli are now generated by the build system. The version is taken from the dune-project file. This version is updated when preparing a release.
  • The library menhirLib is now installed under the name menhir.lib, but with an ocamlfind "proxy" menhirLib -> menhir.lib for backwards compatibility. Same for menhirSdk and menhir.sdk.
  • I tried to maintain the same semantics for the various Makefile targets, but there may be slight differences.
  • As it is not currently possible to set the -noassert flag on a per-file basis with dune, I added an explicit "debug" flag to LRijkstra{,Core} to toggle the assertions.
  • The demos are no longer installed: dune does not have an easy way to install a directory of sources. We could work around this restriction if this is crucial.
Edited by Nicolás Ojeda Bär

Merge request reports