Componentes.Terceros.jcl/official/2.1.1/source/include/jcl.inc
2010-01-18 16:51:36 +00:00

365 lines
12 KiB
PHP

{**************************************************************************************************}
{ }
{ The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License");}
{ you may not use this file except in compliance with the License. You may obtain a copy of the }
{ License at http://www.mozilla.org/MPL/ }
{ }
{ Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF }
{ ANY KIND, either express or implied. See the License for the specific language governing rights }
{ and limitations under the License. }
{ }
{ The Original Code is jcl.inc }
{ }
{ The Initial Developer of the Original Code is Marcel van Brakel. }
{ Portions created by Marcel van Brakel are Copyright (C) Marcel van Brakel. }
{ }
{ Contributors: }
{ Marcel van Brakel }
{ Matthias Thoma (mthoma) }
{ Petr Vones }
{ Robert Marquardt (marquardt) }
{ Robert Rossmair (rrossmair) }
{ }
{**************************************************************************************************}
{ }
{ This include file defines various JCL specific defines. The more generic defines are defined in }
{ the jedi.inc file which is shared with the JEDI VCL. }
{ }
{**************************************************************************************************}
{ }
{ Last modified: $Date:: 2009-08-25 20:22:46 +0200 (mar., 25 août 2009) $ }
{ Revision: $Rev:: 2969 $ }
{ Author: $Author:: outchy $ }
{ }
{**************************************************************************************************}
{$BOOLEVAL OFF} // Boolean shortcut evaluation
{$LONGSTRINGS ON} // Long strings
{$WRITEABLECONST OFF} // Read-only typed constants
{$TYPEDADDRESS OFF} // Type checked pointers off
{$I jedi.inc} // Pull in the JCL/J-VCL shared directives
{$IFNDEF JEDI_INC}
ALERT_jedi_inc_incompatible
// secure against old versions of jedi.inc.
{$ENDIF ~JEDI_INC}
{$IFNDEF JCLINSTALL}
{$IFDEF CLR}
{----------------------------}
{ BDS }
{----------------------------}
{$IFDEF BDS3}
{$I jcld9.net.inc}
{$DEFINE JCL_CONFIGURED}
{$ENDIF BDS3}
{----------------------------}
{$IFDEF BDS4}
{$I jcld10.net.inc}
{$DEFINE JCL_CONFIGURED}
{$ENDIF BDS4}
{----------------------------}
{$IFDEF BDS5}
{$I jcld11.net.inc}
{$DEFINE JCL_CONFIGURED}
{$ENDIF BDS5}
{----------------------------}
{$ELSE ~CLR}
{----------------------------}
{ C++Builder }
{----------------------------}
{$IFDEF BCB5}
{$I jclc5.inc}
{$DEFINE JCL_CONFIGURED}
{$ENDIF BCB5}
{----------------------------}
{$IFDEF BCB6}
{$I jclc6.inc}
{$DEFINE JCL_CONFIGURED}
{$ENDIF BCB6}
{----------------------------}
{ Delphi }
{----------------------------}
{$IFDEF DELPHI5}
{$I jcld5.inc}
{$DEFINE JCL_CONFIGURED}
{$ENDIF DELPIH5}
{----------------------------}
{$IFDEF DELPHI6}
{$I jcld6.inc}
{$DEFINE JCL_CONFIGURED}
{$ENDIF DELPIH6}
{----------------------------}
{$IFDEF DELPHI7}
{$I jcld7.inc}
{$DEFINE JCL_CONFIGURED}
{$ENDIF DELPIH7}
{----------------------------}
{ BDS }
{----------------------------}
// BDS 1 and BDS 2 have the same version numbers for their native compilers
// no compiler defines are used for BDS 1 and BDS 2
{$IFDEF BDS1}
//{$I jclcs1.inc}
{$DEFINE JCL_CONFIGURED}
{$ENDIF BDS1}
{----------------------------}
{$IFDEF BDS2}
//{$I jcld8.inc}
{$DEFINE JCL_CONFIGURED}
{$ENDIF BDS2}
{----------------------------}
{$IFDEF BDS3}
{$I jcld9.inc}
{$DEFINE JCL_CONFIGURED}
{$ENDIF BDS3}
{----------------------------}
{$IFDEF BDS4}
{$I jcld10.inc}
{$DEFINE JCL_CONFIGURED}
{$ENDIF BDS4}
{----------------------------}
{$IFDEF BDS5}
{$I jcld11.inc}
{$DEFINE JCL_CONFIGURED}
{$ENDIF BDS5}
{----------------------------}
{$IFDEF BDS6}
{$I jcld12.inc}
{$DEFINE JCL_CONFIGURED}
{$ENDIF BDS6}
{----------------------------}
{$IFDEF BDS7}
{$I jcld14.inc}
{$DEFINE JCL_CONFIGURED}
{$ENDIF BDS7}
{----------------------------}
{$IFDEF FPC}
{$I jclfpc.inc}
{$DEFINE JCL_CONFIGURED}
{$ENDIF FPC}
{----------------------------}
{$ENDIF ~CLR}
// check configuration
{$IFNDEF JCL_CONFIGURED}
{$IFDEF SUPPORTS_COMPILETIME_MESSAGES}
{$MESSAGE FATAL 'Your Delphi/BCB version is not supported by this JCL version!'}
{$ELSE ~SUPPORTS_COMPILETIME_MESSAGES}
'Your Delphi/BCB version is not supported by this JCL version!'
{$ENDIF ~SUPPORTS_COMPILETIME_MESSAGES}
{$ENDIF !JCL_CONFIGURED}
{$ENDIF ~JCLINSTALL}
// Math precision selection, mutually exclusive
{$IFDEF MATH_EXTENDED_PRECISION}
{$UNDEF MATH_SINGLE_PRECISION}
{$UNDEF MATH_DOUBLE_PRECISION}
{$ENDIF}
{$IFDEF MATH_DOUBLE_PRECISION}
{$UNDEF MATH_SINGLE_PRECISION}
{$UNDEF MATH_EXTENDED_PRECISION}
{$ENDIF}
{$IFDEF MATH_SINGLE_PRECISION}
{$UNDEF MATH_DOUBLE_PRECISION}
{$UNDEF MATH_EXTENDED_PRECISION}
{$ENDIF}
{$IFNDEF MATH_EXTENDED_PRECISION}
{$IFNDEF MATH_DOUBLE_PRECISION}
{$IFNDEF MATH_SINGLE_PRECISION}
{$IFDEF FPC}
{$IFDEF CPU64}
{$DEFINE MATH_DOUBLE_PRECISION}
{$ELSE ~CPU64}
{$DEFINE MATH_EXTENDED_PRECISION}
{$ENDIF ~CPU64}
{$ELSE ~FPC}
{$DEFINE MATH_EXTENDED_PRECISION}
{$ENDIF ~FPC}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$IFDEF MATH_EXTENDED_PRECISION}
{$IFDEF CPU64}
{$IFDEF FPC}
{$MESSAGE FATAL 'FPC does not support extended floating points on x86_64!'}
{$ENDIF FPC}
{$ENDIF CPU64}
{$ENDIF MATH_EXTENDED_PRECISION}
// PCRE options, mutually exclusive
{$IFDEF PCRE_STATICLINK}
{$UNDEF PCRE_LINKDLL}
{$UNDEF PCRE_LINKONREQUEST}
{$ENDIF PCRE_STATICLINK}
{$IFDEF PCRE_LINKDLL}
{$UNDEF PCRE_LINKONREQUEST}
{$ENDIF PCRE_LINKDLL}
{$IFNDEF PCRE_STATICLINK}
{$IFNDEF PCRE_LINKDLL}
{$IFNDEF PCRE_LINKONREQUEST}
{$DEFINE PCRE_LINKONREQUEST}
{$ENDIF ~PCRE_LINKONREQUEST}
{$ENDIF ~PCRE_LINKDLL}
{$ENDIF ~PCRE_STATICLINK}
{$IFNDEF PCRE_STATICLINK}
{$DEFINE PCRE_EXPORT_CDECL}
{$ENDIF ~PCRE_STATICLINK}
// BZip2 options
{$IFDEF BZIP2_STATICLINK}
{$UNDEF BZIP2_LINKDLL}
{$UNDEF BZIP2_LINKONREQUEST}
{$ENDIF BZIP2_STATICLINK}
{$IFDEF BZIP2_LINKDLL}
{$UNDEF BZIP2_LINKONREQUEST}
{$ENDIF BZIP2_LINKDLL}
{$IFNDEF BZIP2_STATICLINK}
{$IFNDEF BZIP2_LINKDLL}
{$IFNDEF BZIP2_LINKONREQUEST}
{$DEFINE BZIP2_STATICLINK}
{$ENDIF ~BZIP2_LINKONREQUEST}
{$ENDIF ~BZIP2_LINKDLL}
{$ENDIF ~BZIP2_STATICLINK}
{$IFDEF BZIP2_STATICLINK}
{$DEFINE BZIP2_EXPORT_STDCALL}
{$ENDIF BZIP2_STATICLINK}
{$IFDEF BZIP2_LINKDLL}
{$DEFINE BZIP2_EXPORT_CDECL}
{$ENDIF BZIP2_LINKDLL}
{$IFDEF BZIP2_LINKONREQUEST}
{$DEFINE BZIP2_EXPORT_CDECL}
{$ENDIF BZIP2_LINKONREQUEST}
// ZLib options
{$IFDEF ZLIB_STATICLINK}
{$UNDEF ZLIB_LINKDLL}
{$UNDEF ZLIB_LINKONREQUEST}
{$ENDIF ZLIB_STATICLINK}
{$IFDEF ZLIB_LINKDLL}
{$UNDEF ZLIB_LINKONREQUEST}
{$ENDIF ZLIB_LINKDLL}
{$IFNDEF ZLIB_STATICLINK}
{$IFNDEF ZLIB_LINKDLL}
{$IFNDEF ZLIB_LINKONREQUEST}
{$DEFINE ZLIB_STATICLINK}
{$ENDIF ~ZLIB_LINKONREQUEST}
{$ENDIF ~ZLIB_LINKDLL}
{$ENDIF ~ZLIB_STATICLINK}
{$IFDEF ZLIB_LINKDLL}
{$DEFINE ZLIB_EXPORT_CDECL}
{$ENDIF ZLIB_LINKDLL}
{$IFDEF ZLIB_LINKONREQUEST}
{$DEFINE ZLIB_EXPORT_CDECL}
{$ENDIF ZLIB_LINKONREQUEST}
// calling convention for static link is fastcall
{$IFDEF UNICODE_RAW_DATA}
{$UNDEF UNICODE_ZLIB_DATA}
{$UNDEF UNICODE_BZIP2_DATA}
{$ENDIF UNICODE_RAW_DATA}
{$IFDEF UNICODE_ZLIB_DATA}
{$UNDEF UNICODE_RAW_DATA}
{$UNDEF UNICODE_BZIP2_DATA}
{$ENDIF UNICODE_ZLIB_DATA}
{$IFNDEF UNICODE_ZLIB_DATA}
{$IFNDEF UNICODE_BZIP2_DATA}
{$DEFINE UNICODE_RAW_DATA}
{$ENDIF ~UNICODE_BZIP2_DATA}
{$ENDIF ~UNICODE_ZLIB_DATA}
{$IFDEF CONTAINER_ANSISTR}
{$UNDEF CONTAINER_WIDESTR}
{$UNDEF CONTAINER_UNICODESTR}
{$UNDEF CONTAINER_NOSTR}
{$ENDIF CONTAINER_ANSISTR}
{$IFDEF CONTAINER_WIDESTR}
{$UNDEF CONTAINER_UNICODESTR}
{$UNDEF CONTAINER_NOSTR}
{$ENDIF CONTAINER_WIDESTR}
{$IFDEF CONTAINER_UNICODESTR}
{$UNDEF CONTAINER_NOSTR}
{$ENDIF CONTAINER_UNICODESTR}
{$IFNDEF CONTAINER_ANSISTR}
{$IFNDEF CONTAINER_WIDESTR}
{$IFNDEF CONTAINER_UNICODESTR}
{$IFNDEF CONTAINER_NOSTR}
{$IFDEF SUPPORTS_UNICODE_STRING}
{$DEFINE CONTAINER_UNICODESTR}
{$ELSE ~SUPPORTS_UNICODE_STRING}
{$DEFINE CONTAINER_ANSISTR}
{$ENDIF ~SUPPORTS_UNICODE_STRING}
{$ENDIF ~CONTAINER_NOSTR}
{$ENDIF ~CONTAINER_UNICODESTR}
{$ENDIF ~CONTAINER_WIDESTR}
{$ENDIF ~CONTAINER_ANSISTR}
// 7zip options
{$IFDEF 7ZIP_STATICLINK}
{$UNDEF 7ZIP_LINKDLL}
{$UNDEF 7ZIP_LINKONREQUEST}
{$ENDIF 7ZIP_STATICLINK}
{$IFDEF 7ZIP_LINKDLL}
{$UNDEF 7ZIP_LINKONREQUEST}
{$ENDIF 7ZIP_LINKDLL}
{$IFNDEF 7ZIP_STATICLINK}
{$IFNDEF 7ZIP_LINKDLL}
{$IFNDEF 7ZIP_LINKONREQUEST}
{$DEFINE 7ZIP_LINKONREQUEST}
{$ENDIF ~7ZIP_LINKONREQUEST}
{$ENDIF ~7ZIP_LINKDLL}
{$ENDIF ~7ZIP_STATICLINK}
{$IFDEF SUPPORTS_UNSAFE_WARNINGS}
{$WARN UNSAFE_TYPE OFF}
{$WARN UNSAFE_CODE OFF}
{$WARN UNSAFE_CAST OFF}
{$ENDIF}
{$IFNDEF DROP_OBSOLETE_CODE}
{$IFNDEF JCLINSTALL}
{$DEFINE KEEP_DEPRECATED}
{$ENDIF}
{$ENDIF}
{$IFDEF CLR}
{$WARN UNSAFE_TYPE ON}
{$WARN UNSAFE_CODE ON}
{$WARN UNSAFE_CAST ON}
{$WARN UNIT_PLATFORM OFF}
{$DEFINE MSWINDOWS}
{$DEFINE PIC}
{$DEFINE PUREPASCAL}
{$ENDIF CLR}
// Delphi 2005 has a compiler internal failure when compiling the JCL with UNITVERSIONING enabled
{$IFDEF DELPHI2005}
{$UNDEF UNITVERSIONING}
{$ENDIF DELPHI2005}
{$IFDEF FPC}
{$DEFINE DEBUG_NO_TD32}
{$ENDIF FPC}