JCL Help:Jcl.inc
JCL Help: jcl.inc
Search in JCL Help
Search in all projects
Summary
The jcl.inc file is a source file that can be included by units written in object pascal: {$INCLUDE jcl.inc} or {$I jcl.inc}
Description
The JCL include files are located in the directory "jcl/source/include".
In addition to the symbols defined in jedi.inc, this file defines more compiler symbols to be used in conditional compilation. By including this file in your application source file, it allows conditional compilation for your code as well.
The JCL configuration can be customized for each supported version of Delphi/C++Builder and FreePascal. The following table contains the name of the configuration for each IDE version:
Configuration file | IDE version |
jcld6.inc | Delphi 6 |
jclc6.inc | C++Builder 6 |
jcld7.inc | Delphi 7 |
jclcs1.inc | C#Builder 1 (no runtime code, just JCL experts) |
jcld8.inc | Delphi8.net (no runtime code, just JCL experts) |
jcld9.inc | Delphi 2005 |
jcld10.inc | Delphi 2006, C++Builder 2006 and BDS 2006 |
jcld11.inc | Delphi 2007, C++Builder 2007 and RAD Studio 2007 |
jcld12.inc | Delphi 2009, C++Builder 2009 and RAD Studio 2009 |
jcld14.inc | Delphi 2010, C++Builder 2010 and RAD Studio 2010 |
jcld15.inc | Delphi XE, C++Builder XE and RAD Studio XE |
jclfpc.inc | FreePascal and Lazarus |
Note that the configuration files are overriden each time the JCL installer is executed.
The following symbols configure some JCL features:
Compiler symbol name | Functionality and remarks |
MATH_EXTENDED_PRECISION | The type Float is aliased to Extended ( |
MATH_DOUBLE_PRECISION | The type Float is aliased to Double |
MATH_SINGLE_PRECISION | The type Float is aliased to Single |
MATH_EXT_EXTREMEVALUES | Math functions takes care of infinites and NaN |
HOOK_DLL_EXCEPTIONS | JclHookExcept support for hooking exceptions from DLLs |
THREADSAFE | Enable threadsafe code (a little bit slower) |
DROP_OBSOLETE_CODE | Exclude obsolete code from compilation |
UNITVERSIONING | Support for Unit Version Info |
DEBUG_NO_BINARY | Disable the JDBG debug info source |
DEBUG_NO_TD32 | Disable the TD32 debug info source |
DEBUG_NO_MAP | Disable the MAP debug info source |
DEBUG_NO_EXPORTS | Disable the Exports debug info source |
DEBUG_NO_SYMBOLS | Disable the Symbols (based on DbgHlp.dll) debug info source |
PCRE_STATICLINK | Static link PCRE code into JCL binaries and into your applications |
PCRE_LINKDLL | PCRE code is statically bound to PCRE.dll |
PCRE_LINKONREQUEST | PCRE code is dynamically bound to PCRE.dll (default) |
BZIP2_STATICLINK | Static link BZIP2 code into JCL binaries and into your applications (default) |
BZIP2_LINKDLL | BZIP2 code is statically bound to BZIP2.dll |
BZIP2_LINKONREQUEST | BZIP2 code is dynamically bound to BZIP2.dll |
ZLIB_STATICLINK | Static link ZLIB code into JCL binaries and into your applications (default) |
ZLIB_LINKDLL | ZLIB code is statically bound to ZLIB.dll |
ZLIB_LINKONREQUEST | ZLIB code is dynamically bound to ZLIB.dll |
UNICODE_SILENT_FAILURE | Invalid character sequences are replaced by UnicodeReplacementChar, if not set an exception is raised |
UNICODE_RAW_DATA | Link raw (unzipped) Unicode Character Database into JCL binaries and into your applications (default) |
UNICODE_ZLIB_DATA | Link ZLIBed Unicode Character Database into JCL binaries and into your applications |
UNICODE_BZIP2_DATA | Link BZIP2ed Unicode Character Database into JCL binaries and into your applications |
CONTAINER_ANSISTR | String containers aliased to AnsiString containers (default for D2007 and older) |
CONTAINER_WIDESTR | String containers aliased to WideString containers |
CONTAINER_UNICODESTR | String containers aliased to UnicodeString containers (default for D2009 and newer, not supported for D2007 and older) |
CONTAINER_NOSTR | Do not define string containers |
7ZIP_STATICLINK | Static link 7ZIP code into JCL binaries and into your applications (not supported yet) |
7ZIP_LINKDLL | 7ZIP code is statically bound to 7z.dll |
7ZIP_LINKONREQUEST | 7ZIP code is dynamically bound to 7z.dll (default) |
About
Contribute to this help topic
This documentation wiki is based on the collaborative effort of Project JEDI users. Your edits are welcome in order to improve documentation quality: edit this page