Conditional Compiler Options/fr

From Free Pascal wiki
Revision as of 08:47, 15 February 2017 by E-ric (talk | contribs) (Created page with "{{Conditional_Compiler_Options}} =Géneralités= Depuis Lazarus 0.9.29 vous pouvez définir le mode de construction et les options conditionnelles de compilation. Ces option...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

English (en) français (fr)

Géneralités

Depuis Lazarus 0.9.29 vous pouvez définir le mode de construction et les options conditionnelles de compilation. Ces options dépendent du système d'exploitation, du processeur, du jeu de widget cibles actuels et du mode de construction du projet.

Pour les définitions conditionnelles, voir ici Macros et définitions conditionnelles.

  • * * A F I N I R * * *

You can set the build macros for a package via package editor / Compiler Options / Build Macros.

You can set the build macros for a project via Project / Project Options / Compiler Options / Build Macros.

Target specific units - Doable via FPC directives, no Lazarus extras needed

Concrete situation: LCL extensions package has a unit (OleUtils) that implements TOLEStream. It only makes sense in Windows. Currently the unit is added in all widgetsets but all code is wrapped around a ifdef Windows define so is seen as a dummy unit in other widgetsets.

Notes:

  • All units should be added to the package, independent if they are used. If a unit should not always be compiled (not added to the uses section of the package), just unset the 'uses unit' checkbox and add for example {$IFDEF win32}uses oleutils{$ENDIF} to a package unit.
  • You can put units and include files specific to targets into sub directories as demonstrated in the Lazarus and FPC sources (units/$(TargetOS)).
  • Since 0.9.31 multiple files with the same name can be added to packages.

Ce qui ne sera pas implémenté

  • Un mode de construction Debug/Verbeux global. Presque personne ne veut augmenter la verbosité de tous les paquets, ni déboguer tous les paquets. Mais vous pouvez en définir un pour vos propres paquets.
  • Unités conditionnelles. Cela est déjà faisable via les directives FPC et les macros de l'EDI.

Développement futurs / Souhait

  • Utiliser un paquet uniquement sous une cible, p.ex. seulement sous Windows et OS X mais pas sous Linux ou BSD.
Directives, definitions and conditionals definitions
global compiler directives • local compiler directives

Conditional Compiler Options • Conditional compilation • Macros and Conditionals • Platform defines
$IF