Same kind of problem here with last fpc main/trunk.
Compiling big apps without the
-B parameter makes fpc recompile all the units at first compilation and it is ok.
But recompiling without any change and without
-B, all the units are once again recompiled.
I did try the same with fpc 3.2.2 and 3.2.4, the first time, all the units are compiled of course it is ok.
But recompiling without
-B, fpc 3.2.2/3.3.4 only recompiles very few units.
To complicate the thing, for little project, it is ok and this make difficult to give example that target the problem.
To resume, for example recompiling mseide with fpc trunk without -B ---> recompilation every time all units.
But compiling this code:
program test1;
uses
BGRABitmapTypes;
begin
end.
With this:
$ cd /dir/of/bgrabitmap
$ fpc test1.pas
compiles all the units at first time, but without
-B at next compilation fpc trunk only does a link of the already compiled units.