@@jcl.inc
<keywords 7ZIP_LINKDLL, 7ZIP_LINKONREQUEST, 7ZIP_STATICLINK, BZIP2_LINKDLL, BZIP2_LINKONREQUEST, BZIP2_STATICLINK, CONTAINER_ANSISTR, CONTAINER_NOSTR, CONTAINER_UNICODESTR, CONTAINER_WIDESTR, DEBUG_NO_BINARY, DEBUG_NO_EXPORTS, DEBUG_NO_MAP, DEBUG_NO_SYMBOLS, DEBUG_NO_TD32, DROP_OBSOLETE_CODE, HOOK_DLL_EXCEPTIONS, MATH_DOUBLE_PRECISION, MATH_EXT_EXTREMEVALUES, MATH_EXTENDED_PRECISION, MATH_SINGLE_PRECISION, PCRE_LINKDLL, PCRE_LINKONREQUEST, PCRE_STATICLINK, THREADSAFE, UNICODE_BZIP2_DATA, UNICODE_RAW_DATA, UNICODE_SILENT_FAILURE, UNICODE_ZLIB_DATA, UNITVERSIONING, ZLIB_LINKDLL, ZLIB_LINKONREQUEST, ZLIB_STATICLINK>

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:

<table>
Configuration   IDE version
 file            
--------------  --------------------------------------------
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
</table>

\Note that the configuration files are overriden each time
the JCL installer is executed.





The following symbols configure some JCL features:

<table>
Compiler symbol           Functionality and remarks
 name                      
------------------------  --------------------------------------
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)
</table>

@@jcld10.inc
<combine jcl.inc>

\ \ 

@@jclcs1.inc
<combine jcl.inc>

\ \ 

@@jcld6.inc
<combine jcl.inc>

\ \ 

@@jcld7.inc
<combine jcl.inc>

\ \ 

@@jcld8.inc
<combine jcl.inc>

\ \ 

@@jcld9.inc
<combine jcl.inc>

\ \ 

@@jclc6.inc
<combine jcl.inc>

\ \ 

@@jcld11.inc
<combine jcl.inc>

\ \ 

@@jcld12.inc
<combine jcl.inc>

\ \ 

@@jcld14.inc
<combine jcl.inc>

\ \ 

@@jcld15.inc
<combine jcl.inc>

\ \ 

@@jclfpc.inc
<combine jcl.inc>

\ \ 

































