1DUNE-INSTALL(1) Dune Manual DUNE-INSTALL(1)
2
3
4
6 dune-install - Install packages.
7
9 dune install [OPTION]... [PACKAGE]...
10
12 --build-info
13 Show build information.
14
15 --context=CONTEXT
16 Select context to install from. By default, install files from all
17 defined contexts.
18
19 --create-install-files
20 Do not directly install, but create install files in the root
21 directory and create substituted files if needed in destdir
22 (_destdir by default).
23
24 --destdir=PATH (absent DESTDIR env)
25 When passed, this directory is prepended to all installed paths.
26
27 --docdir=PATH
28 When passed, manually override the directory to install
29 documentation
30
31 --dry-run
32 Only display the file operations that would be performed.
33
34 --etcdir=PATH
35 When passed, manually override the directory to install
36 configuration files
37
38 -f, --force
39 Force actions associated to aliases to be re-executed even if their
40 dependencies haven't changed.
41
42 --help[=FMT] (default=auto)
43 Show this help in format FMT. The value FMT must be one of `auto',
44 `pager', `groff' or `plain'. With `auto', the format is `pager` or
45 `plain' whenever the TERM env var is `dumb' or undefined.
46
47 --libdir=PATH
48 Directory where library files are copied, relative to prefix or
49 absolute. If --prefix is specified the default is $prefix/lib,
50 otherwise it is the output of ocamlfind printconf destdir
51
52 --mandir=PATH
53 When passed, manually override the directory to install man pages
54
55 --prefix=PREFIX
56 Directory where files are copied. For instance binaries are copied
57 into $prefix/bin, library files into $prefix/lib, etc... It
58 defaults to the current opam prefix if opam is available and
59 configured, otherwise it uses the same prefix as the ocaml
60 compiler.
61
62 --relocatable
63 Make the binaries relocatable (the installation directory can be
64 moved).
65
66 --sandbox=VAL (absent DUNE_SANDBOX env)
67 Sandboxing mode to use by default. Some actions require a certain
68 sandboxing mode, so they will ignore this setting. The allowed
69 values are: none, symlink, copy.
70
71 --sections=VAL
72 sections that should be installed
73
74 --version
75 Show version information.
76
77 -w, --watch
78 Instead of terminating build after completion, wait continuously
79 for file changes.
80
82 These options are common to all commands.
83
84 --always-show-command-line
85 Always show the full command lines of programs executed by dune
86
87 --auto-promote
88 Automatically promote files. This is similar to running dune
89 promote after the build.
90
91 --build-dir=FILE (absent DUNE_BUILD_DIR env)
92 Specified build directory. _build if unspecified
93
94 --cache=VAL (absent DUNE_CACHE env)
95 Activate binary cache (either `disabled' or `enabled'). Default is
96 `disabled'.
97
98 --cache-check-probability=VAL (absent=0. or
99 DUNE_CACHE_CHECK_PROBABILITY env)
100 Probability cached rules are rerun to check for reproducibility
101
102 --cache-duplication=VAL (absent DUNE_CACHE_DUPLICATION env)
103 Binary cache duplication mode
104
105 --cache-transport=VAL (absent DUNE_CACHE_TRANSPORT env)
106 Binary cache protocol
107
108 --config-file=FILE
109 Load this configuration file instead of the default one.
110
111 --debug-artifact-substitution
112 Print debugging info about artifact substitution
113
114 --debug-backtraces
115 Always print exception backtraces.
116
117 --debug-dependency-path
118 In case of error, print the dependency path from the targets on the
119 command line to the rule that failed.
120
121 --debug-findlib
122 Debug the findlib sub-system.
123
124 --default-target=TARGET (absent=@@default)
125 Set the default target that when none is specified to dune build.
126
127 --diff-command=VAL
128 Shell command to use to diff files. Use - to disable printing the
129 diff.
130
131 --disable-promotion (absent DUNE_DISABLE_PROMOTION env)
132 Disable all promotion rules
133
134 --display=MODE
135 Control the display mode of Dune. See dune-config(5) for more
136 details.
137
138 --ignore-promoted-rules
139 Ignore rules with (mode promote), except ones with (only ...). The
140 variable %{ignoring_promoted_rules} in dune files reflects whether
141 this option was passed or not.
142
143 --instrument-with=BACKENDS (absent DUNE_INSTRUMENT_WITH env)
144 "Enable instrumentation by BACKENDS. BACKENDS is a comma-separated
145 list of library names, each one of which must declare an
146 instrumentation backend.
147
148 -j JOBS
149 Run no more than JOBS commands simultaneously.
150
151 --no-buffer
152 Do not buffer the output of commands executed by dune. By default
153 dune buffers the output of subcommands, in order to prevent
154 interleaving when multiple commands are executed in parallel.
155 However, this can be an issue when debugging long running tests.
156 With --no-buffer, commands have direct access to the terminal. Note
157 that as a result their output won't be captured in the log file.
158 You should use this option in conjunction with -j 1, to avoid
159 interleaving. Additionally you should use --verbose as well, to
160 make sure that commands are printed before they are being executed.
161
162 --no-config
163 Do not load the configuration file
164
165 --no-print-directory
166 Suppress "Entering directory" messages
167
168 --only-packages=PACKAGES
169 Ignore stanzas referring to a package that is not in PACKAGES.
170 PACKAGES is a comma-separated list of package names. Note that this
171 has the same effect as deleting the relevant stanzas from dune
172 files. It is mostly meant for releases. During development, it is
173 likely that what you want instead is to build a particular
174 <package>.install target.
175
176 -p PACKAGES, --for-release-of-packages=PACKAGES (required)
177 Shorthand for --release --only-packages PACKAGE. You must use this
178 option in your <package>.opam files, in order to build only what's
179 necessary when your project contains multiple packages as well as
180 getting reproducible builds.
181
182 --profile=VAL (absent DUNE_PROFILE env)
183 Select the build profile, for instance dev or release. The default
184 is dev.
185
186 --promote-install-files[=VAL] (default=true)
187 Promote the generated <package>.install files to the source tree
188
189 --release
190 Put dune into a reproducible release mode. This is in fact a
191 shorthand for --root . --ignore-promoted-rules --no-config
192 --profile release --always-show-command-line
193 --promote-install-files --default-target @install. You should use
194 this option for release builds. For instance, you must use this
195 option in your <package>.opam files. Except if you already use -p,
196 as -p implies this option.
197
198 --root=DIR
199 Use this directory as workspace root instead of guessing it. Note
200 that this option doesn't change the interpretation of targets given
201 on the command line. It is only intended for scripts.
202
203 --store-orig-source-dir (absent DUNE_STORE_ORIG_SOURCE_DIR env)
204 Store original source location in dune-package metadata
205
206 --terminal-persistence=MODE
207 Changes how the log of build results are displayed to the console
208 between rebuilds while in --watch mode. Supported modes: preserve,
209 clear-on-rebuild.
210
211 --trace-file=FILE
212 Output trace data in catapult format (compatible with
213 chrome://tracing)
214
215 --verbose
216 Same as --display verbose
217
218 --workspace=FILE (absent DUNE_WORKSPACE env)
219 Use this specific workspace file instead of looking it up.
220
221 -x VAL
222 Cross-compile using this toolchain.
223
225 Use `dune COMMAND --help' for help on a single command.
226
228 These environment variables affect the execution of install:
229
230 DESTDIR
231 See option --destdir.
232
233 DUNE_BUILD_DIR
234 Specified build directory. _build if unspecified
235
236 DUNE_CACHE
237 Activate binary cache (either `disabled' or `enabled'). Default is
238 `disabled'.
239
240 DUNE_CACHE_CHECK_PROBABILITY
241 Probability cached rules are rerun to check for reproducibility
242
243 DUNE_CACHE_DUPLICATION
244 Binary cache duplication mode
245
246 DUNE_CACHE_TRANSPORT
247 Binary cache protocol
248
249 DUNE_DISABLE_PROMOTION
250 Disable all promotion rules
251
252 DUNE_INSTRUMENT_WITH
253 "Enable instrumentation by BACKENDS. BACKENDS is a comma-separated
254 list of library names, each one of which must declare an
255 instrumentation backend.
256
257 DUNE_PROFILE
258 Build profile. dev if unspecified or release if -p is set.
259
260 DUNE_SANDBOX
261 Sandboxing mode to use by default. (see --sandbox)
262
263 DUNE_STORE_ORIG_SOURCE_DIR
264 Store original source location in dune-package metadata
265
266 DUNE_WORKSPACE
267 Use this specific workspace file instead of looking it up.
268
270 Check bug reports at https://github.com/ocaml/dune/issues
271
272
273
274Dune n/a DUNE-INSTALL(1)