Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
dune-exec(1)			  Dune Manual			  dune-exec(1)

NAME
       dune-exec - Execute a command in	a similar environment as if
       installation was	performed.

SYNOPSIS
       dune exec [OPTION]... PROG [ARGS]...

DESCRIPTION
       dune exec -- COMMAND should behave in the same way as if	you do:

	 $ dune	install
	 $ COMMAND

       In particular if	you run	dune exec ocaml, you will have access to the
       libraries defined in the	workspace using	your usual directives
       (#require for instance)

       When a leading /	is present in the command (absolute path), then	the
       path is interpreted as an absolute path

       When a /	is present at any other	position (relative path), then the
       path is interpreted as relative to the build context + current working
       directory (or the value of --root when ran outside of the project root)

OPTIONS
       --context=CONTEXT (absent=default)
	   Run the command in this build context.

       -f, --force
	   Force actions associated to aliases to be re-executed even if their
	   dependencies	haven't	changed.

       --help[=FMT] (default=auto)
	   Show	this help in format FMT. The value FMT must be one of `auto',
	   `pager', `groff' or `plain'.	With `auto', the format	is `pager` or
	   `plain' whenever the	TERM env var is	`dumb' or undefined.

       --no-build
	   don't rebuild target	before executing

       --version
	   Show	version	information.

       -w, --watch
	   Instead of terminating build	after completion, wait continuously
	   for file changes.

COMMON OPTIONS
       These options are common	to all commands.

       --always-show-command-line
	   Always show the full	command	lines of programs executed by dune

       --auto-promote
	   Automatically promote files.	This is	similar	to running dune
	   promote after the build.

       --build-dir=FILE	(absent	DUNE_BUILD_DIR env)
	   Specified build directory. _build if	unspecified

       --config-file=FILE
	   Load	this configuration file	instead	of the default one.

       --debug-backtraces
	   Always print	exception backtraces.

       --debug-dependency-path
	   In case of error, print the dependency path from the	targets	on the
	   command line	to the rule that failed.

       --debug-findlib
	   Debug the findlib sub-system.

       --default-target=TARGET
	   Set the default target that when none is specified to dune build.
	   It defaults to @@default.

       --dev
	   Same	as --profile dev

       --diff-command=VAL
	   Shell command to use	to diff	files. Use - to	disable	printing the
	   diff.

       --display=MODE
	   Control the display mode of Dune. See dune-config(5)	for more
	   details.

       --ignore-promoted-rules
	   Ignore rules	with (mode promote), except ones with (only ...)

       -j JOBS
	   Run no more than JOBS commands simultaneously.

       --no-buffer
	   Do not buffer the output of commands	executed by dune. By default
	   dune	buffers	the output of subcommands, in order to prevent
	   interleaving	when multiple commands are executed in parallel.
	   However, this can be	an issue when debugging	long running tests.
	   With	--no-buffer, commands have direct access to the	terminal. Note
	   that	as a result their output won't be captured in the log file.
	   You should use this option in conjunction with -j 1,	to avoid
	   interleaving. Additionally you should use --verbose as well,	to
	   make	sure that commands are printed before they are being executed.

       --no-config
	   Do not load the configuration file

       --no-print-directory
	   Suppress "Entering directory" messages

       --only-packages=PACKAGES
	   Ignore stanzas referring to a package that is not in	PACKAGES.
	   PACKAGES is a comma-separated list of package names.	Note that this
	   has the same	effect as deleting the relevant	stanzas	from jbuild
	   files. It is	mostly meant for releases. During development, it is
	   likely that what you	want instead is	to build a particular
	   <package>.install target.

       -p PACKAGES, --for-release-of-packages=PACKAGES
	   Shorthand for --root	. --only-packages PACKAGE
	   --ignore-promoted-rules --no-config --profile release. You must use
	   this	option in your _package_.opam files, in	order to build only
	   what's necessary when your project contains multiple	packages as
	   well	as getting reproducible	builds.

       --profile=VAL (absent DUNE_PROFILE env)
	   Select the build profile, for instance dev or release. The default
	   is dev.

       --root=DIR
	   Use this directory as workspace root	instead	of guessing it.	Note
	   that	this option doesn't change the interpretation of targets given
	   on the command line.	It is only intended for	scripts.

       --store-orig-source-dir (absent DUNE_STORE_ORIG_SOURCE_DIR env)
	   Store original source location in dune-package metadata

       --trace-file=FILE
	   Output trace	data in	catapult format	(compatible with
	   chrome://tracing)

       --verbose
	   Same	as --display verbose

       --workspace=FILE	(absent	DUNE_WORKSPACE env)
	   Use this specific workspace file instead of looking it up.

       -x VAL
	   Cross-compile using this toolchain.

MORE HELP
       Use `dune COMMAND --help' for help on a single command.

ENVIRONMENT
       These environment variables affect the execution	of exec:

       DUNE_BUILD_DIR
	   Specified build directory. _build if	unspecified

       DUNE_PROFILE
	   Build profile. dev if unspecified or	release	if -p is set.

       DUNE_STORE_ORIG_SOURCE_DIR
	   Store original source location in dune-package metadata

       DUNE_WORKSPACE
	   Use this specific workspace file instead of looking it up.

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

Dune 11VERSION11						  dune-exec(1)

NAME | SYNOPSIS | DESCRIPTION | OPTIONS | COMMON OPTIONS | MORE HELP | ENVIRONMENT | BUGS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=dune-exec&sektion=1&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help