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

Frank Church vfclists at gmail.com
Thu Jul 14 11:24:42 CEST 2011


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.


> The 'something' depends on a few things. Someone said that there is a bug
> in some cases.
>
>
>
>
>
>
> Even if the package sources must be modified that should be a minor
> problem.
>
>
>
> If you want to change the lpk files, then you can of course specify
> whatever you wish.
>
>
>
>   [...]
>
>
>  I am looking at
> http://wiki.lazarus.freepascal.org/IDE_Macros_in_paths_and_filenames and I
> am considering using a combinatin of PrimaryConfigPath and  package name to
> set the output directory.
>
>
>    - *Package macros* - these can be used in the fields of a package. For
>    example in the search paths of a package. To use them elsewhere give a
>    package name as parameter.
>       - *PkgDir()* - macro function for the directory (location of the
>       .lpk) of a package ID given as parameter
>       - *PkgIncPath(id)* - macro function for the include path of a
>       package ID given as parameter
>       - *PkgOutDir(id)* - macro function for the output directory of a
>       package (e.g. where the ppu files are created)
>       - *PkgSrcPath(id)* - macro function for the source path (unit path +
>       src path) of a package ID given as parameter
>       - *PkgUnitPath(id)* - macro function for the unit path of a package
>       ID given as parameter
>
>
>  However there doesn't seem to be a macro for the package name itself in
> the package related macros.
>
>
>
> I added a PkgName.
>
>
>
Is it avaiable in 0.9.30 fixes? Are some of the new 0.9.31 backported to
fixes?

>
>  I'd like to use a combination of ConfPath or PrimaryConfigPath or the
> FallBackOutputRoot to handle the issue.
>
> Something like
> PrimaryConfigPath\NameOnly(packagepath)\lib/$(TargetCPU)-$(TargetOS) would
> be ideal.
>
>
>
> That's almost the default for read only packages. Why not simply use the
> default?
>
> Does the original

>  Do ConfPath and PrimaryConfigPath refer to the same thing?
>
>
> What is ConfPath?
>
>
I meant ConfDir and PrimaryConfigPath


> Mattias
>
>
> --
> _______________________________________________
> Lazarus mailing list
> Lazarus at lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
>
>

Is it possible to create new user defined macro variables for the IDE?

Thanks


-- 
Frank Church

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


More information about the Lazarus mailing list