Nicolas Boulenguez <nico...@debian.org> writes: > In GNAT, the compiler also deals with dependencies and rebuild order. > The .ali files contain the dependency information required to detect > if a .o is more recent than the closure of all sources it depends > upon, or if it should be rebuilt. > By convention, a read-only .ali file tells GNAT to fail if the .o is > obsolete or unavailable, instead of attempting to rebuild. This is > recommended for packaged libraries (the .so or .a are available but > not the .o files). > This convention may seem bizarre according to modern standards, but it > has been in use for 25 years, so Adacore would probably need a > compelling reason to break it.
> For more Debian context: > https://people.debian.org/~lbrenta/debian-ada-policy.html#Ada-Library-Information-files-2 See also Debian Policy 8.4, which explicitly requires this: If the package provides Ada Library Information (*.ali) files for use with GNAT, these files must be installed read-only (mode 0444) so that GNAT will not attempt to recompile them. This overrides the normal file mode requirements given in Permissions and owners. -- Russ Allbery (r...@debian.org) <https://www.eyrie.org/~eagle/>