env¶
The env stanza allows one to modify the environment. The syntax is as
follows:
(env
(<profile1> <settings1>)
(<profile2> <settings2>)
...
(<profilen> <settingsn>))
The first form (<profile> <settings>) that corresponds to the selected build
profile will be used to modify the environment in this directory. You can use
_ to match any build profile.
Fields supported in <settings> are:
any OCaml flags field. See OCaml Flags for more details.
(link_flags <flags>)specifies flags to OCaml when linking an executable. See executables stanza.(c_flags <flags>)and(cxx_flags <flags>)specify compilation flags for C and C++ stubs, respectively. See library for more details.(env-vars (<var1> <val1>) .. (<varN> <valN>))will add the corresponding variables to the environment where the build commands are executed and are used bydune exec.(menhir_flags <flags>))specifies flags for Menhir stanzas. This flag was replaced by the(menhir)field (see below) starting in version 3.0 of the Menhir extension.(menhir (flags <flags>) (explain <blang expression>))specifies the Menhir settings. See menhir for more details. This field was introduced in version 3.0 of the Menhir extension.(js_of_ocaml (flags <flags>)(build_runtime <flags>)(link_flags <flags>))specifiesjs_of_ocamlflags. See js_of_ocaml for more details.(js_of_ocaml (compilation_mode <mode>))controls whether to use separate compilation or not where<mode>is eitherwhole_programorseparate.(js_of_ocaml (sourcemap <mode>))controls whether to generate sourcemap or not where<mode>is eitherno,file(to generate sourcemap in a.mapfile next to the generated javascript file) orinline(to inline the sourcemap at the end of the generated JavaScript file).(js_of_ocaml (runtest_alias <alias-name>))specifies the alias under which Inline Tests and tests (tests) run for thejsmode.(js_of_ocaml (enabled_if <blang expression>))specifies whether thejsmode is enabled. It is enabled by default.(wasm_of_ocaml (flags <flags>)(build_runtime <flags>)(link_flags <flags>))specifieswasm_of_ocamlflags. See wasm_of_ocaml for more details.(wasm_of_ocaml (compilation_mode <mode>))controls whether to use separate compilation or not where<mode>is eitherwhole_programorseparate.(wasm_of_ocaml (sourcemap <mode>))controls whether to generate sourcemap or not where<mode>is eitherno,file(to generate sourcemap in a.mapfile next to the generated javascript file) orinline(to inline the sourcemap at the end of the generated JavaScript file).(wasm_of_ocaml (runtest_alias <alias-name>))specifies the alias under which Inline Tests and tests (tests) run for thewasmmode.(wasm_of_ocaml (enabled_if <blang expression>))specifies whether thewasmmode is enabled. It is enabled by default.(binaries <binaries>), where<binaries>is a list of entries of the form(<filepath> as <name>).(<filepath> as <name>)makes the binary<filepath>available in the command search as just<name>. For instance, in a(run <name> ...)action,<name>will resolve to this file path. You can also write just the file path, in which case the name will be inferred from the basename of<filepath>by dropping the.exesuffix, if it exists. For example,(binaries bin/foo.exe (bin/main.exe as bar))would add the commandsfooandbarto the search path.(inline_tests <state>), where<state>is eitherenabled,disabled, orignored. This field has been available since Dune 1.11. It controls the variable’s value%{inline_tests}, which is read by the inline test framework. The default value isdisabledfor thereleaseprofile andenabledotherwise.(odoc <fields>)allows passing options toodoc. See Passing Options to odoc for more details.(rocq <rocq_fields>)allow passing options to Coq. See Rocq Environment Fields for more details.(coq <coq_fields>)allow passing options to Coq. See Coq Environment Fields for more details.(formatting <settings>)allows the user to set auto-formatting in the current directory subtree (see formatting).(bin_annot <bool>)allows the user to specify whether to generate *.cmt and *.cmti in the current directory subtree.