Frank Heckenbach wrote:
No, I consider this a valuable feature, although the impact may in general not be so dramatic as in my current project, porting an application to GPC with many cyclic dependencies (which I didn't write myself).
Perhaps I don't yet quite understand it. Provided GP makes no mistakes and imports are not recompiled unless necessary. So I suppose you mean the situation that you changed the implementation of an imported unit? But you don't want to compile (and therefore check for syntax errors) this other unit?
OK, I will try to explain what I mean. Suppose you have a project like this (without USES clauses in IMPLEMENTATION sections, all very well structured)
Unit A001 Unit A002 .... Unit A134 .... Unit A200 Program P
Say the build time for the whole project is about half an hour or an hour (I am not exaggerating). Now, you are working on Unit A134 happily porting the project to GPC, fixing numerous compilation problems. While doing so, you discover that you need to add a standard compatibility routine to Unit A001 or that you must change a string parameter from VAR to CONST in Unit A002. Doing that would mean ... recompiling Units A001 to A133, in other words waiting half an hour ! But ... with --compile-file you can quickly recompile only the interface sections of Unit A001 to A133 to continue working on Unit A134. You reduce the time you have to wait from half an hour to half a minute. That is a huge gain of time, even in a perfectly well structured project and with an absolutely perfect gp !
I hope this explains why I am so fond of --compile-file and --check-file.
Regards,
Adriaan van Os