ocaml-libvirt is currently built using manually written makefiles, and an autoconf script to detect libvirt (using pkg-config). While this seems OK, it has a lot of downsides: - all the OCaml rules are manually written - there is some form of duplication in the OCaml rules - the bytecode vs native build is fragile Initially named jhbuild, dune is a native OCaml build system which plans to eventually replace the others (omake, oasis, ocamlbuild), with a growing user base in the OCaml community. This is a very simple patch adding support for dune. The idea is to replace the current autoconf+makefile build system, which can be removed more or less easily. I'd prefer to not maintain two build systems at once, so this patch is also a way to start a discussion about the proposed approach. Things not yet done (pending the discussion): - rewrite/simplify the release bits, currently interwonen in the makefiles - update the documentation - update libvirt-ci - remove the autoconf+makefile build system Pino Toscano (1): Add dune build system .gitignore | 3 +++ dune | 18 +++++++++++++ dune-project | 1 + dune.inc | 22 ++++++++++++++++ examples/dune | 50 ++++++++++++++++++++++++++++++++++++ libvirt/discover.ml | 40 +++++++++++++++++++++++++++++ libvirt/dune | 57 ++++++++++++++++++++++++++++++++++++++++++ libvirt/dune-project | 2 ++ libvirt/mllibvirt.opam | 33 ++++++++++++++++++++++++ 9 files changed, 226 insertions(+) create mode 100644 dune create mode 100644 dune-project create mode 100644 dune.inc create mode 100644 examples/dune create mode 100644 libvirt/discover.ml create mode 100644 libvirt/dune create mode 100644 libvirt/dune-project create mode 100644 libvirt/mllibvirt.opam -- 2.25.2