1DUNE-EXTERNAL-LIB-DEPS(1)         Dune Manual        DUNE-EXTERNAL-LIB-DEPS(1)
2
3
4

NAME

6       dune-external-lib-deps - Moved to dune describe external-lib-deps.
7

SYNOPSIS

9       dune external-lib-deps [OPTION]… [TARGET]…
10

DESCRIPTION

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

OPTIONS

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

COMMON OPTIONS

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

MORE HELP

296       Use `dune COMMAND --help' for help on a single command.
297

EXIT STATUS

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

ENVIRONMENT

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

BUGS

352       Check bug reports at https://github.com/ocaml/dune/issues
353

SEE ALSO

355       dune(1)
356
357
358
359Dune n/a                                             DUNE-EXTERNAL-LIB-DEPS(1)
Impressum