[Lazarus] How would you organize build directories for different versions?

Frank Church vfclists at gmail.com
Sat Jul 16 15:33:57 CEST 2011


2011/7/14 Mattias Gaertner <nc-gaertnma at netcologne.de>

> **
>
>
>
>
>
> Frank Church <vfclists at gmail.com> hat am 14. Juli 2011 um 11:24
> geschrieben:
>
>
>
>
>  2011/7/14 Mattias Gaertner <nc-gaertnma at netcologne.de>
>
>
>
>
>
>
>
> Frank Church <vfclists at gmail.com> hat am 14. Juli 2011 um 10:11
> geschrieben:
>
>  [...]
>
>    > If you are using different Lazarus versions but with same components
> and
> > packages, how would you organize separate build directories for the
> > different versions, but same source location.
> >
>  There are many ways.
> For example use one lazarus config directory for each version
> combination and make all package output directories read only. Then the
> IDE will put the ppu files into the config directory.
>
>
>
> Can this be achieved via macros?
>
>
>
> There is no macro to make directories read only.
>
>
>
>
>
>
>  For instance I have just posted a blog article on FPC/Lazarus compilaton
> at
> http://devblog.brahmancreations.com/content/build-scripts-for-installing-freepascal-and-lazarus-from-source,
> and what I want to do is to have the build_name variable as available to the
> IDE.
>
> e.g if a lazarus build is named lazarus_0920_27001, I would like to use a
> macro based on the package name as well as the lazarus build name, so the
> compiler knows that units for zeoslib for instance go to directory
> /components/lazarus_0920_27001/zeoslib.
>
>
>
> The solution I gave puts the package files in
> $(PrimaryConfigPath)/lib/$(PkgName)/something, for example
>
> /components/lazarus_0920_27001/lib/zeoslib
>
>
>
>
> Your solution did not indicate that an every package would have its own
> directory created for it under the PrimaryConfigPath, I thought they would
> all be dumped into a single directory.
>
>
>
> That would be a Delphi mess. Separate output directories is one of the key
> features of the Lazarus package system.
>
>
>
>
>
>   [...]
>
> I added a PkgName.
>
>
>
>  Is it avaiable in 0.9.30 fixes? Are some of the new 0.9.31 backported to
> fixes?
>
>
>
> No.
>
>
>
>
>
>    What is ConfPath?
>
>  Do ConfPath and PrimaryConfigPath refer to the same thing?
>
> I meant ConfDir and PrimaryConfigPath
>
>
>
> Yes.
>
>
>


I am trying out the approach now.

I create a lib directory where the units would normally go and make it write
protected.

Forcing a new lib directory for each package causes dcpcrypt and
dcpcrypt_laz to have separate lib folders created for them and cause
duplicate unit errors.
Is there some way to work around it? Does Lazarus default to the first one
it finds in the units directory?

ZeosDBO switched to using the units in the 'build' subdirectory so I write
protected that directory as well.

Indy revealed a problem with .rst files because utilities processing them
may hardcoded to write to lib\ directory


>
> Is it possible to create new user defined macro variables for the IDE?
>
>
> Projects and packages can define build macros.
>
>
> Mattias
>
>
> --
> _______________________________________________
> Lazarus mailing list
> Lazarus at lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
>
>


-- 
Frank Church

=======================
http://devblog.brahmancreations.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20110716/94b64297/attachment-0003.html>


More information about the Lazarus mailing list