ocaml/dune

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

Ouverte

#12 748 ouverte le 19 nov. 2025

 (6 commentaires) (0 réaction) (0 personne assignée)OCaml (478 forks)github user discovery
help wanted

Métriques du dépôt

Stars
 (1 882 étoiles)
Métriques de merge PR
 (Merge moyen 1j 20h) (345 PRs mergées en 30 j)

Description

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.

Guide contributeur