1DUNE-EXTERNAL-LIB-DEPS(1) Dune Manual DUNE-EXTERNAL-LIB-DEPS(1)
2
3
4
6 dune-external-lib-deps - Moved to dune describe external-lib-deps.
7
9 dune external-lib-deps [OPTION]… [TARGET]…
10
12 This subcommand used to print out an approximate set of external
13 libraries that were required for building a given set of targets,
14 without running the build. While this feature was useful, over time the
15 quality of approximation had degraded and the cost of maintenance had
16 increased, so we decided to remove it.
17
19 --action-stderr-on-success=VAL
20 Same as --action-stdout-on-success but for the standard output for
21 error messages. A good default for large mono-repositories is
22 --action-stdout-on-success=swallow
23 --action-stderr-on-success=must-be-empty. This ensures that a
24 successful build has a "clean" empty output.
25
26 --action-stdout-on-success=VAL
27 Specify how to deal with the standard output of actions when they
28 succeed. Possible values are: print to just print it to Dune's
29 output, swallow to completely ignore it and must-be-empty to
30 enforce that the action printed nothing. With must-be-empty, Dune
31 will consider that the action failed if it printed something to its
32 standard output. The default is print.
33
34 --build-info
35 Show build information.
36
37 --display-separate-messages
38 Separate error messages with a blank line.
39
40 --error-reporting=VAL (absent=deterministic)
41 Controls when the build errors are reported. early - report errors
42 as soon as they are discovered. deterministic - report errors at
43 the end of the build in a deterministic order. twice - report each
44 error twice: once as soon as the error is discovered and then again
45 at the end of the build, in a deterministic order.
46
47 -f, --force
48 Force actions associated to aliases to be re-executed even if their
49 dependencies haven't changed.
50
51 --file-watcher=VAL (absent=automatic)
52 Mechanism to detect changes in the source. Automatic to make dune
53 run an external program to detect changes. Manual to notify dune
54 that files have changed manually."
55
56 --missing
57 unused
58
59 --passive-watch-mode
60 Similar to [--watch], but only start a build when instructed
61 externally by an RPC.
62
63 --react-to-insignificant-changes
64 react to insignificant file system changes; this is only useful for
65 benchmarking dune
66
67 --sandbox=VAL (absent DUNE_SANDBOX env)
68 Sandboxing mode to use by default. Some actions require a certain
69 sandboxing mode, so they will ignore this setting. The allowed
70 values are: none, symlink, copy, hardlink.
71
72 --sexp
73 unused
74
75 --unstable-by-dir
76 unused
77
78 -w, --watch
79 Instead of terminating build after completion, wait continuously
80 for file changes.
81
82 --wait-for-filesystem-clock
83 Dune digest file contents for better incrementally. These digests
84 are themselves cached. In some cases, Dune needs to drop some
85 digest cache entries in order for things to be reliable. This
86 option makes Dune wait for the file system clock to advance so that
87 it doesn't need to drop anything. You should probably not care
88 about this option; it is mostly useful for Dune developers to make
89 Dune tests of the digest cache more reproducible.
90
92 These options are common to all commands.
93
94 --always-show-command-line
95 Always show the full command lines of programs executed by dune
96
97 --auto-promote
98 Automatically promote files. This is similar to running dune
99 promote after the build.
100
101 --build-dir=FILE (absent DUNE_BUILD_DIR env)
102 Specified build directory. _build if unspecified
103
104 --cache=VAL (absent DUNE_CACHE env)
105 Enable or disable Dune cache (either enabled or disabled). Default
106 is `disabled'.
107
108 --cache-check-probability=VAL (absent DUNE_CACHE_CHECK_PROBABILITY env)
109 Check build reproducibility by re-executing randomly chosen rules
110 and comparing their results with those stored in Dune cache. Note:
111 by increasing the probability of such checks you slow down the
112 build. The default probability is zero, i.e. no rules are checked.
113
114 --cache-storage-mode=VAL (absent DUNE_CACHE_STORAGE_MODE env)
115 Dune cache storage mode (one of auto, hardlink or copy). Default is
116 `auto'.
117
118 --config-file=FILE
119 Load this configuration file instead of the default one.
120
121 --debug-artifact-substitution
122 Print debugging info about artifact substitution
123
124 --debug-backtraces
125 Always print exception backtraces.
126
127 --debug-cache=VAL
128 Show debug messages on cache misses for the given cache layers.
129 Value is a comma-separated list of cache layer names. All available
130 cache layers: shared,workspace-local,fs.
131
132 --debug-dependency-path
133 In case of error, print the dependency path from the targets on the
134 command line to the rule that failed.
135
136 --debug-digests
137 Explain why Dune decides to re-digest some files
138
139 --debug-load-dir
140 Print debugging info about directory loading
141
142 --debug-store-digest-preimage
143 Store digest preimage for all computed digests, so that it's
144 possible to reverse them later, for debugging. The digests are
145 stored in the shared cache (see --cache flag) as values, even if
146 cache is otherwise disabled. This should be used only for
147 debugging, since it's slow and it litters the shared cache.
148
149 --default-target=TARGET (absent=@@default)
150 Set the default target that when none is specified to dune build.
151
152 --diff-command=VAL (absent DUNE_DIFF_COMMAND env)
153 Shell command to use to diff files. Use - to disable printing the
154 diff.
155
156 --disable-promotion (absent DUNE_DISABLE_PROMOTION env)
157 Disable all promotion rules
158
159 --display=MODE
160 Control the display mode of Dune. See dune-config(5) for more
161 details. Valid values for this option are progress, verbose, short,
162 quiet or tui.
163
164 --dump-gc-stats=FILE
165 Dump the garbage collector stats to a file after the build is
166 complete.
167
168 --dump-memo-graph=FILE
169 Dumps the dependency graph to a file after the build is complete
170
171 --dump-memo-graph-format=FORMAT (absent=gexf)
172 File format to be used when dumping dependency graph
173
174 --dump-memo-graph-with-timing
175 With --dump-memo-graph, will re-run each cached node in the Memo
176 graph after building and include the runtime in the output. Since
177 all nodes contain a cached value, this will measure just the
178 runtime of each node
179
180 --help[=FMT] (default=auto)
181 Show this help in format FMT. The value FMT must be one of auto,
182 pager, groff or plain. With auto, the format is pager or plain
183 whenever the TERM env var is dumb or undefined.
184
185 --ignore-promoted-rules
186 Ignore rules with (mode promote), except ones with (only ...). The
187 variable %{ignoring_promoted_rules} in dune files reflects whether
188 this option was passed or not.
189
190 --instrument-with=BACKENDS (absent DUNE_INSTRUMENT_WITH env)
191 "Enable instrumentation by BACKENDS. BACKENDS is a comma-separated
192 list of library names, each one of which must declare an
193 instrumentation backend.
194
195 -j JOBS
196 Run no more than JOBS commands simultaneously.
197
198 --no-buffer
199 Do not buffer the output of commands executed by dune. By default
200 dune buffers the output of subcommands, in order to prevent
201 interleaving when multiple commands are executed in parallel.
202 However, this can be an issue when debugging long running tests.
203 With --no-buffer, commands have direct access to the terminal. Note
204 that as a result their output won't be captured in the log file.
205 You should use this option in conjunction with -j 1, to avoid
206 interleaving. Additionally you should use --verbose as well, to
207 make sure that commands are printed before they are being executed.
208
209 --no-config
210 Do not load the configuration file
211
212 --no-print-directory
213 Suppress "Entering directory" messages
214
215 --only-packages=PACKAGES
216 Ignore stanzas referring to a package that is not in PACKAGES.
217 PACKAGES is a comma-separated list of package names. Note that this
218 has the same effect as deleting the relevant stanzas from dune
219 files. It is mostly meant for releases. During development, it is
220 likely that what you want instead is to build a particular
221 <package>.install target.
222
223 -p PACKAGES, --for-release-of-packages=PACKAGES (required)
224 Shorthand for --release --only-packages PACKAGE. You must use this
225 option in your <package>.opam files, in order to build only what's
226 necessary when your project contains multiple packages as well as
227 getting reproducible builds.
228
229 --print-metrics
230 Print out various performance metrics after every build
231
232 --profile=VAL (absent DUNE_PROFILE env)
233 Select the build profile, for instance dev or release. The default
234 is dev.
235
236 --promote-install-files[=VAL] (default=true)
237 Promote the generated <package>.install files to the source tree
238
239 --release
240 Put dune into a reproducible release mode. This is in fact a
241 shorthand for --root . --ignore-promoted-rules --no-config
242 --profile release --always-show-command-line
243 --promote-install-files --default-target @install
244 --require-dune-project-file. You should use this option for release
245 builds. For instance, you must use this option in your
246 <package>.opam files. Except if you already use -p, as -p implies
247 this option.
248
249 --require-dune-project-file[=VAL] (default=true)
250 Fail if a dune-project file is missing.
251
252 --root=DIR
253 Use this directory as workspace root instead of guessing it. Note
254 that this option doesn't change the interpretation of targets given
255 on the command line. It is only intended for scripts.
256
257 --store-orig-source-dir (absent DUNE_STORE_ORIG_SOURCE_DIR env)
258 Store original source location in dune-package metadata
259
260 --terminal-persistence=MODE
261 Changes how the log of build results are displayed to the console
262 between rebuilds while in --watch mode. Supported modes: preserve,
263 clear-on-rebuild, clear-on-rebuild-and-flush-history.
264
265 --trace-extended
266 Output extended trace data (requires trace-file)
267
268 --trace-file=FILE
269 Output trace data in catapult format (compatible with
270 chrome://tracing)
271
272 --verbose
273 Same as --display verbose
274
275 --version
276 Show version information.
277
278 --watch-exclusions=REGEX
279 Adds a POSIX regular expression that will exclude matching
280 directories from `dune build --watch`. The option
281 --watch-exclusions can be repeated to add multiple exclusions.
282 Semicolons can be also used as a separator. If no exclusions are
283 provided, then a standard set of exclusions is used; however, if
284 one or more --watch-exclusions are used, none of the standard
285 exclusions are used. The standard exclusions are: ^_opam /_opam
286 ^_esy /_esy ^\.#.* /\.#.* ~$ ^#[^#]*#$ /#[^#]*#$ ^4913$ /4913$
287 /.git /.hg :/windows
288
289 --workspace=FILE (absent DUNE_WORKSPACE env)
290 Use this specific workspace file instead of looking it up.
291
292 -x VAL
293 Cross-compile using this toolchain.
294
296 Use `dune COMMAND --help' for help on a single command.
297
299 external-lib-deps exits with the following status:
300
301 0 on success.
302
303 1 if an error happened.
304
305 130 if it was interrupted by a signal.
306
308 These environment variables affect the execution of external-lib-deps:
309
310 DUNE_BUILD_DIR
311 Specified build directory. _build if unspecified
312
313 DUNE_CACHE
314 Enable or disable Dune cache (either enabled or disabled). Default
315 is `disabled'.
316
317 DUNE_CACHE_CHECK_PROBABILITY
318 Check build reproducibility by re-executing randomly chosen rules
319 and comparing their results with those stored in Dune cache. Note:
320 by increasing the probability of such checks you slow down the
321 build. The default probability is zero, i.e. no rules are checked.
322
323 DUNE_CACHE_STORAGE_MODE
324 Dune cache storage mode (one of auto, hardlink or copy). Default is
325 `auto'.
326
327 DUNE_DIFF_COMMAND
328 Shell command to use to diff files. Use - to disable printing the
329 diff.
330
331 DUNE_DISABLE_PROMOTION
332 Disable all promotion rules
333
334 DUNE_INSTRUMENT_WITH
335 "Enable instrumentation by BACKENDS. BACKENDS is a comma-separated
336 list of library names, each one of which must declare an
337 instrumentation backend.
338
339 DUNE_PROFILE
340 Build profile. dev if unspecified or release if -p is set.
341
342 DUNE_SANDBOX
343 Sandboxing mode to use by default. (see --sandbox)
344
345 DUNE_STORE_ORIG_SOURCE_DIR
346 Store original source location in dune-package metadata
347
348 DUNE_WORKSPACE
349 Use this specific workspace file instead of looking it up.
350
352 Check bug reports at https://github.com/ocaml/dune/issues
353
355 dune(1)
356
357
358
359Dune n/a DUNE-EXTERNAL-LIB-DEPS(1)