Hi,
I finally reproduced an unjust "`somfile.gpi' must be recompiled" message with a minimal example.
This is the tree:
\ywin.pas \testy.pas \contrib\gpc.o \contrib\gpc.gpi
gpc.* are compiled from gps.pas as supplied with the compiler. ywin.pas and testy.pas are as follows
============== ywin.pas START ===================
MODULE ywin;
EXPORT ywin = (dummy);
IMPORT gpc only (PCStrings, CParamCount, CParameters);
procedure dummy; end;
procedure dummy; begin end; { dummy }
end.
============= ywin.pas END =====================
============= testy.pas START ====================
program testy;
import ywin;
begin end.
============= testy.pas END ======================
============ Compile log START ================
gpc -c -g --unit-path=contrib ywin.pas
gpc testy.pas
testy4.pas:3: `ywin.gpi' must be recompiled
============= Compile log END ===================
If ywin.pas and testy.pas live in the same directory you can get around this problem by making testy.pas with --automake, but if they live in different directories that does not work. The problem goes away if gpc.* are put together with ywin.pas.
I have not tested whether this is a particular problem of gpc.pas or whether it happens with any unit interface.
Best regards, Bastiaan.