Difference between revisions of "IDE Window: Configure Build Lazarus"

From Free Pascal wiki
Jump to navigationJump to search
Line 27: Line 27:
 
Here you can select the LCL interface, which will be build. The LCL (Lazarus Component Library) contains two layers: The platform independent part and the platform dependent part (e.g. interface to gtk or win32). Some platforms work on several platforms, some not. In most cases, you don't need to worry about this. A normal application only use the platform independent LCL, which automatically use the right interface. Fiddle with this option only, if you want to use one of the unstable and incomplete interfaces or if you want to cross compile to another platform. See the list below.
 
Here you can select the LCL interface, which will be build. The LCL (Lazarus Component Library) contains two layers: The platform independent part and the platform dependent part (e.g. interface to gtk or win32). Some platforms work on several platforms, some not. In most cases, you don't need to worry about this. A normal application only use the platform independent LCL, which automatically use the right interface. Fiddle with this option only, if you want to use one of the unstable and incomplete interfaces or if you want to cross compile to another platform. See the list below.
  
* gtk - stable and complete. It uses gtk 1.2 libraries. It is available under Linux, MacOSx and FreeBSD. gtk itself runs on more platforms, but the LCL gtk interface does not yet. This is the default for Linux, MacOSX and FreeBSD.
+
* gtk - stable and complete. It uses gtk 1.2 libraries. It is available under Linux, MacOSx and FreeBSD. gtk itself runs on more platforms, but the LCL gtk interface does not yet. This is the default for Linux, MacOSX and FreeBSD. Of course a gtk application runs under KDE and Gnome as well. For MacOSX you need X.
 
* win32 - stable and complete. It is available for all flavours of PC windows (Win98, Win2k, WinNT, WinXP, ...).
 
* win32 - stable and complete. It is available for all flavours of PC windows (Win98, Win2k, WinNT, WinXP, ...).
 
* gtk2 - almost complete, but still a lot of bugs and open issues. It is available under the same platforms as the gtk interface.
 
* gtk2 - almost complete, but still a lot of bugs and open issues. It is available under the same platforms as the gtk interface.
* gnome - stable and complete. It uses the gtk interface and adds some gnome specific additions.
+
* gnome - stable and complete. It uses the gtk interface and adds some gnome specific additions. Of course a gnome application runs under KDE and other window managers as well.
 
* wince - unstable and incomplete. It is available for WinCE.
 
* wince - unstable and incomplete. It is available for WinCE.
* qt - unstable and incomplete.  
+
* qt - unstable and incomplete. It uses the qt libraries, the base of most KDE applications. Of course a qt application runs under other window managers as well.
 +
* carbon - unstable and incomplete. It runs natively under MacOSX.
  
  
 
'''Note''': The LCL interface on this dialog only applies to the building of Lazarus (including the LCL). All other IDE features use the compiler options (Project > Compiler options).
 
'''Note''': The LCL interface on this dialog only applies to the building of Lazarus (including the LCL). All other IDE features use the compiler options (Project > Compiler options).
 
 
  
 
= Example tasks =
 
= Example tasks =

Revision as of 15:56, 26 June 2006

The IDE can rebuild Lazarus and this dialog defines what is rebuild and how.

Quick start: Recompile the IDE

Click on the 'Set to "Build All"' button at the top. This will setup the options to rebuild everything. Then click on 'Build'. The dialog will close and rebuild all parts of Lazarus - the LCL, its current interface (winapi under windows, gtk under linux, etc.), the needed packages and the IDE.

See below under Example tasks.

The Parts

Lazarus consists of several parts:

  • LCL - this is the Lazarus component library and the current interface. The interface can be selected with the radiogroup to the right (carbon, gtk, gtk2, gnome, win32, qt, wince). The LCL contains the visual components, like TButton and TForm. The non visual components are not part of Lazarus, but of the FreePascal packages (e.g. FCL and RTL).
  • SynEdit - this is source editor component used by the IDE. It contains the visual component TSynEdit and a the highlighters.
  • CodeTools - this is collection of tools to parse and edit source code.
  • Package registration - This contains the lowest level unit used by all lazarus packages.
  • IDE interface - this is the IDEIntf package. Every designtime package, that extends the IDE is using this package.
  • JIT Form - this contains a special unit, used to create classes at runtime. Because of it deep level tricks, it is not compatible to all debugging and profiling options and therefore is a part of its own. Eventually this will be moved to the IDE.
  • IDE - the rest of the IDE
  • Starter - this is the startlazarus application, which is used to restart the IDE and/or start the self build IDE.
  • Examples - these are the simple demos. There are more complex demos and examples in the examples subdirectories.

The parts are ordered. That means if you recompile the LCL, all parts below needs to be recompiled as well.

LCL interface

Here you can select the LCL interface, which will be build. The LCL (Lazarus Component Library) contains two layers: The platform independent part and the platform dependent part (e.g. interface to gtk or win32). Some platforms work on several platforms, some not. In most cases, you don't need to worry about this. A normal application only use the platform independent LCL, which automatically use the right interface. Fiddle with this option only, if you want to use one of the unstable and incomplete interfaces or if you want to cross compile to another platform. See the list below.

  • gtk - stable and complete. It uses gtk 1.2 libraries. It is available under Linux, MacOSx and FreeBSD. gtk itself runs on more platforms, but the LCL gtk interface does not yet. This is the default for Linux, MacOSX and FreeBSD. Of course a gtk application runs under KDE and Gnome as well. For MacOSX you need X.
  • win32 - stable and complete. It is available for all flavours of PC windows (Win98, Win2k, WinNT, WinXP, ...).
  • gtk2 - almost complete, but still a lot of bugs and open issues. It is available under the same platforms as the gtk interface.
  • gnome - stable and complete. It uses the gtk interface and adds some gnome specific additions. Of course a gnome application runs under KDE and other window managers as well.
  • wince - unstable and incomplete. It is available for WinCE.
  • qt - unstable and incomplete. It uses the qt libraries, the base of most KDE applications. Of course a qt application runs under other window managers as well.
  • carbon - unstable and incomplete. It runs natively under MacOSX.


Note: The LCL interface on this dialog only applies to the building of Lazarus (including the LCL). All other IDE features use the compiler options (Project > Compiler options).

Example tasks