[Lazarus] LCL now automatically compiles if needed

Mattias Gaertner nc-gaertnma at netcologne.de
Thu Jan 27 14:57:41 CET 2011


Hi all,

The package LCL is now a normal package. That means, the IDE will
automatically compile it if needed.

Therefore it was removed from the "Configure build Lazarus" dialog. Of
course the options of those dialog are still applied, because the
package uses the macro $(IDEBuildOptions).

The selection of the LCL widget type is now a normal macro and can be
set via the project macros (Project / Project Options / Compiler
options / Build modes / Set macro values).

Formerly the special linker options needed by the LCL were
hard-wired into the IDE, which added the linker options to all
projects. These linker options are now part of the LCL package and only
added to those projects using the LCL.

The backend independent part of the LCL was split into a sub package
named LCLBase, for instance the units Forms and Controls. The LCL
now only contains the glue code to the third party gui libraries (often
called widget sets). It uses the new conditionals. The IDE function to
create Makefiles for packages does not support conditionals, so the
Makefiles are still hand crafted.

The fpgui backend supports two backends itself: gdi and x11. This is
set via the new macro FPGUIPlatform. The macro uses defaults if not set
by the project. When eventually fpgui supports framebuffer, opengl or
whatever this macro will give you the choice for the LCL/fpgui.


Mattias




More information about the Lazarus mailing list