Hi Geert, Thanks for your answer - I was starting to feel I'm entertaining a monologue here ;)
On Mon, 2009-04-20 at 13:05 -0400, Geert Bosch wrote: > > While this may be an interesting idea, there are some fundamental > assumptions in the compiler that each compilation indeed processes > a single compilation unit, resulting in a single object and .ali > file. It would be best to first contemplate what output a single > invocation of the compiler, with multiple compilation units > as arguments, should produce. For an invocation gnat1 a.adb b.adb c.adb , the files a.{s,ali} b.{s,ali} c.{s,ali} are produced. > How would you decide if a unit needs recompilation if there was no 1:1 > correspondence between compilation units and object/.ali files? The correspondence is still 1:1, see above. > Note that unlike many other languages, Ada requires checks to avoid > including out-of-date compilation results in a program. Certainly - but that's the job of gnatmake. I'm at the level of gnat1. In the end, gnatmake would not generate a sequence of individual calls to gcc but rather supply all files to be recompiled in a single call. Oliver