ocaml/dune
add `forbidden_linkall` as an optional field in executable(s) stanza
Offen
#12.748 geöffnet am 19.11.2025
help wanted
Repository-Metriken
- Stars
- (1.882 Sterne)
- PR-Merge-Metriken
- (Durchschn. Merge 1T 20h) (345 gemergte PRs in 30 T)
Beschreibung
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.