This repository is meant for DkML contributors.
You can do with following commands in Windows DkML preceding with
with-dkml bash:
make switch
# Optional
make ide
# Only needed if you are changing Opam dependencies.
# Will not work on Windows until Opam Monorepo works on Windows
make duniverse# Will not work on Windows until Opam Monorepo works on Windows
$ opam update
# Optional pins. If you need to test untagged dependencies.
$ opam pin dkml-runtime-common git+https://github.com/diskuv/dkml-runtime-common.git --no-action
$ opam pin dkml-runtime-distribution git+https://github.com/diskuv/dkml-runtime-distribution.git --no-action
$ touch with-dkml.opam
$ make duniverseThe with-dkml project and its dependency dkml-runtimelib have Opam Monorepo files:
with-dkml.opam.lockedduniverse/
The purpose of Opam Monorepo for with-dkml is so that dune.2.9.3+shim.1.0.1 and the other Dune
shims can build with-dkml.exe while building simultaneously building Dune. All we have to do is to check in
duniverse/ and with a slight modification to Dune's opam file we can bundle with-dkml.exe
as a shim.
You can use:
opam install ./dkml-runtimelib.opam ./with-dkml.opam --lockedto install the Opam Monorepo version ofwith-dkmlopam install ./dkml-runtimelib.opam ./with-dkml.opamto install the regular Opam version ofwith-dkmlmake duniverseto update the Dune universeduniverse/
You will need to do the following to build using the Dune universe without any Opam dependencies:
- uncomment
(dirs :standard \ duniverse)in the topleveldune(or temporarily remove the topleveldunefile) and - run
dune build --display=short -p with-dkml,dkml-runtimelib