package dkml-dune-dsl-show

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

dkml-dune-dsl-show index

Library dkml-dune-dsl-show

The entry point of this library is the module: DkmlDuneDslShow.

You use this library by:

  1. applying the DkmlDuneDslShow.I interpreter module to your Dune DSL expression
  2. converting the last step into an executable
  3. run the executable, capturing its results into a "dune.inc" include file
  4. running the "dune.inc" as part of your Dune build

All of that is represented by the following Dune snippet:

(rule
 (target dune_inc.ml)
 (action
  (with-stdout-to
   %{target}
   (echo
    ; YOU: Change "My_dune" to the name of your Dune DSL expression module
    "module M = My_dune.Build (DkmlDuneDslShow.I)
     let () = print_string @@ DkmlDuneDslShow.plain_hum M.res"))))

(executable
 (name dune_inc)
 ; YOU: Change "my_dune" to the name of your Dune DSL file
 (modules dune_inc my_dune)
 (libraries dkml-dune-dsl-show))

(rule
 (alias gendune)
 (action
  (progn
   (with-stdout-to
    dune.gen.inc
    (run ./dune_inc.exe %{dep:dune-parameters.json}))
   (diff? dune.inc dune.gen.inc))))

(include dune.inc)

You will need to change "my_dune" and the corresponding name of the module ("My_dune") in the above snippet.

OCaml

Innovation. Community. Security.