[Lazarus] Runtime package (manual compilation only) forced to re-compile by a design time dependant package?

patspiper patspiper at gmail.com
Sun Apr 14 08:44:08 CEST 2013


On 14/04/13 01:24, Mattias Gaertner wrote:
> On Sat, 13 Apr 2013 22:27:11 +0300
> patspiper <patspiper at gmail.com> wrote:
>
>> [...]
>>>> In what needs building (with the design package selected), the
>>>> runtime package is marked as No build needed. Nevertheless, compiling
>>>> the design time package tries to compile the runtime units.
>>> It turned out that the design time package had a other units path that
>>> included one unit of the runtime package. I know this is a bad
>>> practice, but does it fully explain the observed behaviour?
>> I realise now why they shared the same path, but I am not sure if this
>> is right or wrong. The registration unit of the design time package is
>> in the same folder with the runtime units. Should it be placed in a
>> separate folder?
> Yes.
> Packages should not share sources (.pas files). Otherwise the
> compiler will happily recompile them.
> If you must share sources, you should add -Ur.
1- So sharing Other Units (-Fu) path causes units to recompile. Is there 
any other cause that can trigger an unnecessary recompilation?

2- On the other hand, What Needs Building/Lazarus IDE shows that the IDE 
does not need rebuilding (I changed the IDE build profile):
Target: Lazarus IDE
No build needed.   <------- ?????
File: ../lazarus-svn/

despite that the FCL needs it:
Target: FCL 1.0.1
Clean build needed.  <------- ??????
File: /home/me/Programs/lazarus/lazarus-svn/packager/registration/fcl.lpk
Note: Compiler parameters changed:
   Old=""
   Now=""
   State 
file="/home/me/Programs/lazarus/lazarus-svn/packager/units/i386-linux/FCL.compiled"

3- As shown above, FCL's Old and New compiler parameters are empty 
despite the change in the IDE profile. Should that be the case?

Thanks,
Stephano




More information about the Lazarus mailing list