David James wrote:
I have several applications which I'm porting to GPC on Linux from another (almost) ISO-10206 extended Pascal.
The application is structured in several layers, in this sort of scheme:
modules A, B, C export constants, types, variables, procedures and functions which are used by modules D, E, F which in turn export constants, types, variables, procedures and functions which are imported by modules G, H, I which in turn ... are imported by programs X, Y, Z.
The previous compiler allowed (as GPC does) the interface and implementation parts of each module to be in separate files (usually .h for the interface and .p for the implementation).
When deciding what needed re-building when re-compiling program X, it only checked for updates since the last re-build to the *interface* parts of the modules imported by X (and, recursively, the modules it imported).
This lead to a major reduction in the amount of compilation needed when re-building one of the applications, for example, if a change was made to the implementation part of module A, rebuilding program X would result in module A being re-compiled and then program X being re-linked.
So, finally my question: is it possible to do this with GPC?
Not currently, but one of the next releases will probably contain a feature to do this.
Frank