ocaml/dune

add `forbidden_linkall` as an optional field in executable(s) stanza

Aperta

#12.748 aperta il 19 nov 2025

 (6 commenti) (0 reazioni) (0 assegnatari)OCaml (478 fork)github user discovery
help wanted

Metriche repository

Star
 (1882 stelle)
Metriche merge PR
 (Merge medio 1g 20h) (345 PR mergiate in 30 g)

Descrizione

In the same style as forbidden_libraries, it'd be useful to have forbidden_linkall to guarantee an executable is not compiled with linkall.

It turns out dune can add the linkall option if some libraries (notably dune-site, but I don't know if there are others) are in the dependency graph (even transitively). Because of this, the linkall flag can creep up into an executable when a new dependency is added or when a dependency is updated (e.g., camomile<2 and camomile≥2).

Expected behaviour

With a stanza

(executable
 (forbidden_linkall)
 …)

is evaluated. The build fails if the executable would be compiled with linkall.

Guida contributor