package cmdliner-stdlib
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=19b5b963c21b6fe98d2f62e404e53611c3bcc7baf538efd01f598ef928257aae
sha512=bfb47467967e662e22163de0714642eb3a4cec05c85e0d76b0a5eebe75e2d3b1a3273432b58e1e4ab078026597182dd9d517832405bf00ef02d7751d0b3c9ece
README.md.html
cmdliner-stdlib
The cmdliner-stdlib
package is a collection of cmdliner terms that help control OCaml runtime parameters, usually configured through the OCAMLRUNPARAM
environment variable. The package provides command-line options for controlling features like backtrace, hash table randomization, and garbage collector tuning.
Installation
You can install the package using opam
:
opam install cmdliner-stdlib
Usage
You can use these command-line arguments to:
enable/disable backtraces;
enable/disable table randomization, for better security and prevent collision attacks; and
control the OCaml garbage collector as described in detail in the GC control documentation.
open Cmdliner
let cmd = Cmd.v (Cmd.info "hello") (Cmdliner_stdlib.setup ())
let () = exit (Cmd.eval cmd)
You can then use command-line options to change parameters of the OCaml runtime. For instance, to enable backtraces and change the GC allocation policy to "first fit":
$ dune exec -- ./hello.exe --allocation-policy=first-fit --backtrace=true
You can disable some of these arguments. For instance, to disable GC control use:
Cmdliner_stdlib.setup ~gc_control:None ()
Or to change the default allocation policy to be first-fit
:
let default = Gc.get () in
let gc_control = Some { default with allocation_policy = 1 } in
Cmdliner_stdlib.setup ~gc_control ()
Contributions
We welcome contributions, bug reports, and feature requests. Please visit our GitHub repository for more information.