[lazarus] Copmpiler dependency bug ??

Michael A. Hess mhess at miraclec.com
Sat Apr 8 13:12:10 EDT 2000


Marc Weustink wrote:
> 
> Hi,
> While addapting the makefiles I ran into the following problem:
> 
> In the interface unit A uses B
> In the interface unit B uses C
> In the implementation unit C uses A
> 
> When you compile A, unit B and C are created as well. If you compile A
> again unit B is recompiled, since the checksum for C is changed.
> This is IMO not correct, nothing is changed.

It shouldn't. If you compile A it used B so it depends on B being
compiled FIRST. When B tries to compile before A it determines that C
must be compile FIRST. So first C is compiled then this allows B to be
compiled which then allows A to be compiled. The lowest on in the chain
is always compiled first. If you make changes to unit A and try to
recompile it it will note that neither B or C has changed since A was
compiled last and will not recompile them.

Now that is at least HOW it should work. If you are seeing something
different then there is a problem.

If you compile A then the make file should never ask B or C to compile
since the date check will have determined that they were already
compiled by A.

What leads you to believe that this isn't working? I'm not say it is or
isn't or that your analysis isn't correct I just haven't seen this
problem yet.


-- 
==== Programming my first best destiny! ====

Michael A. Hess      Miracle Concepts, Inc.
mhess at miraclec.com   http://www.miraclec.com






More information about the Lazarus mailing list