Still continuing my migration from GPC 19991030 to GPC 20010306 ...
There seems to me to be a difference in how units/modules are found at link time.
With 19991030, if I had a program (prog1.p) which used unit unit1.p, the program had a 'uses unit1' in it, and my build procedure did gpc -c unit1.p on the unit, and then gpc prog1 and everything worked.
With 20010306, that scheme gives me unresolved referenecs for everything that prog1 uses that is declared in unit1 and I find (having compiled unit1.p to unit1.o and unit1.gpi by gpc -c unit1.p) I have to issue the command gpc prog1.p unit1.o
(Yes I know in this case I could just say gpc prog1.p unit1.p in a single command, but in reality there are many units used by many progams, so the make procedure compiles all the units to .o and .gpi files, and then compiles all the programs).
This is all under Linux (Redhat 6.2).
Is this the expected behaviour now?
On Mon, Mar 12, 2001 at 07:40:36PM +0100, David James wrote:
With 19991030, if I had a program (prog1.p) which used unit unit1.p, the program had a 'uses unit1' in it, and my build procedure did gpc -c unit1.p on the unit, and then gpc prog1 and everything worked.
I think, you have this situation:
unit bar9; interface uses bar8; ... implementation ... end. . . program foo; uses bar9; begin end.
then you just have to call gpc --automake foo.pas
--automake cares autmatically ( :-) ) for those interdependencies.
But be careful. What you must not do is
unit bar; interface uses foo; ... implementation ... end.
unit foo; interface uses bar; ... implementation ... end.
Eike