On 16/04/13 10:38, Mattias Gaertner wrote:
On Tue, 16 Apr 2013 09:50:48 +0300
patspiper <[email protected]> wrote:

On 15/04/13 23:18, Mattias Gaertner wrote:
On Mon, 15 Apr 2013 21:31:32 +0300
Zaher Dirkey <[email protected]> wrote:

On Mon, Apr 15, 2013 at 9:21 PM, Mattias Gaertner <[email protected]
wrote:
To get more variations in output directories you have to alter the
packages (lpk).
To add options to packages as well.

Eventually such additions will be configurable in the IDE
​Directories to put precompiled units *.o​ of Packages, when compile the
project it take the right .o Depend Release or Debug, so it is
IDE/Envirement mechanism, Delphi do that for VCL, and Visual Stutio.
Some people want Debug/Release, some Debug/Profiling/Release, some
Experimental/Normal, some Debug/Release x WidgetSet and so forth.
IMO Lazarus should provide such flexibility.
Can the Lazarus core packages have a macro in their unit output
directory in order to "inherit" the correct path upon rebuilding the
project or the IDE itself?
ex for LCL:
../units/$(TargetCPU)-$(TargetOS)/$(LCLWidgetType)/$(BuildModeFolder)
LCL has $(IDEBuildOptions) in its customs options. I am not sure if it
inherits macros as well.
Is there an equivalent $(ProjectBuildOptions)?

The above would be the 1st step towards such a solution.
And who changes all the other third party packages?
1st, to clarify, $(BuildModeFolder) is a macro derived from the actual build mode name (or some user defined value in each build mode).

In this case, 3rd party packages would have to be handled either by the package maintainer or by the user.

And some developers may prefer this:
/Developer/$(BuildMode)/$(PkgName)

I think an override would be more flexible. It should also a contain a
scope option. To handle some packages differently.
An override would be super and very flexible! It would handle all packages.

However, maybe a distinction (separate settings) should be done for the user project/packages, Lazarus core packages (LCL, SynEdit, ...), and FPC packages (FCL). The reason is that a user may need to debug his code only, his code + Lazarus' code, or his code + Lazarus' code + FPC code. Stepping over FCL code is almost always the case for regular users and probably Lazarus devs.

IIRC, Delphi has Debug and Release dcu's for the VCL.

Stephano

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to