[541] | 1 | {$IFNDEF JEDI_INC}
|
---|
| 2 | {$DEFINE JEDI_INC}
|
---|
| 3 |
|
---|
| 4 | {**************************************************************************************************}
|
---|
| 5 | { }
|
---|
| 6 | { The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License");}
|
---|
| 7 | { you may not use this file except in compliance with the License. You may obtain a copy of the }
|
---|
| 8 | { License at http://www.mozilla.org/MPL/ }
|
---|
| 9 | { }
|
---|
| 10 | { Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF }
|
---|
| 11 | { ANY KIND, either express or implied. See the License for the specific language governing rights }
|
---|
| 12 | { and limitations under the License. }
|
---|
| 13 | { }
|
---|
| 14 | { The Original Code is: jedi.inc. }
|
---|
| 15 | { The Initial Developer of the Original Code is Project JEDI http://www.delphi-jedi.org }
|
---|
| 16 | { }
|
---|
| 17 | { Alternatively, the contents of this file may be used under the terms of the GNU Lesser General }
|
---|
| 18 | { Public License (the "LGPL License"), in which case the provisions of the LGPL License are }
|
---|
| 19 | { applicable instead of those above. If you wish to allow use of your version of this file only }
|
---|
| 20 | { under the terms of the LGPL License and not to allow others to use your version of this file }
|
---|
| 21 | { under the MPL, indicate your decision by deleting the provisions above and replace them with }
|
---|
| 22 | { the notice and other provisions required by the LGPL License. If you do not delete the }
|
---|
| 23 | { provisions above, a recipient may use your version of this file under either the MPL or the }
|
---|
| 24 | { LGPL License. }
|
---|
| 25 | { }
|
---|
| 26 | { For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
|
---|
| 27 | { }
|
---|
| 28 | {**************************************************************************************************}
|
---|
| 29 | { }
|
---|
| 30 | { This file defines various generic compiler directives used in different libraries, e.g. in the }
|
---|
| 31 | { JEDI Code Library (JCL) and JEDI Visual Component Library Library (JVCL). The directives in }
|
---|
| 32 | { this file are of generic nature and consist mostly of mappings from the VERXXX directives }
|
---|
| 33 | { defined by Delphi, C++Builder and FPC to friendly names such as DELPHI5 and }
|
---|
| 34 | { SUPPORTS_WIDESTRING. These friendly names are subsequently used in the libraries to test for }
|
---|
| 35 | { compiler versions and/or whether the compiler supports certain features (such as widestrings or }
|
---|
| 36 | { 64 bit integers. The libraries provide an additional, library specific, include file. For the }
|
---|
| 37 | { JCL e.g. this is jcl.inc. These files should be included in source files instead of this file }
|
---|
| 38 | { (which is pulled in automatically). }
|
---|
| 39 | { }
|
---|
| 40 | {**************************************************************************************************}
|
---|
| 41 | { }
|
---|
| 42 | { Last modified: $Date:: 2008-12-28 22:55:28 +0100 (dim. 28 déc. 2008) $ }
|
---|
| 43 | { Revision: $Rev:: 2580 $ }
|
---|
| 44 | { Author: $Author:: uschuster $ }
|
---|
| 45 | { }
|
---|
| 46 | {**************************************************************************************************}
|
---|
| 47 |
|
---|
| 48 | (*
|
---|
| 49 |
|
---|
| 50 | - Development environment directives
|
---|
| 51 |
|
---|
| 52 | This file defines two directives to indicate which development environment the
|
---|
| 53 | library is being compiled with. Currently this can either be Delphi, Kylix,
|
---|
| 54 | C++Builder or FPC.
|
---|
| 55 |
|
---|
| 56 | Directive Description
|
---|
| 57 | ------------------------------------------------------------------------------
|
---|
| 58 | DELPHI Defined if compiled with Delphi
|
---|
| 59 | KYLIX Defined if compiled with Kylix
|
---|
| 60 | DELPHICOMPILER Defined if compiled with Delphi or Kylix/Delphi
|
---|
| 61 | BCB Defined if compiled with C++Builder
|
---|
| 62 | CPPBUILDER Defined if compiled with C++Builder (alias for BCB)
|
---|
| 63 | BCBCOMPILER Defined if compiled with C++Builder or Kylix/C++
|
---|
| 64 | DELPHILANGUAGE Defined if compiled with Delphi, Kylix or C++Builder
|
---|
| 65 | BORLAND Defined if compiled with Delphi, Kylix or C++Builder
|
---|
| 66 | FPC Defined if compiled with FPC
|
---|
| 67 |
|
---|
| 68 | - Platform Directives
|
---|
| 69 |
|
---|
| 70 | Platform directives are not all explicitly defined in this file, some are
|
---|
| 71 | defined by the compiler itself. They are listed here only for completeness.
|
---|
| 72 |
|
---|
| 73 | Directive Description
|
---|
| 74 | ------------------------------------------------------------------------------
|
---|
| 75 | WIN32 Defined when target platform is 32 bit Windows
|
---|
| 76 | WIN64 Defined when target platform is 64 bit Windows
|
---|
| 77 | MSWINDOWS Defined when target platform is 32 bit Windows
|
---|
| 78 | LINUX Defined when target platform is Linux
|
---|
| 79 | UNIX Defined when target platform is Unix-like (including Linux)
|
---|
| 80 | CLR Defined when target platform is .NET
|
---|
| 81 |
|
---|
| 82 | - Architecture directives. These are auto-defined by FPC
|
---|
| 83 | CPU32 and CPU64 are mostly for generic pointer size dependant differences rather
|
---|
| 84 | than for a specific architecture.
|
---|
| 85 |
|
---|
| 86 | CPU386 Defined when target platform is native x86 (win32)
|
---|
| 87 | CPUx86_64 Defined when target platform is native x86_64 (win64)
|
---|
| 88 | CPU32 Defined when target is 32-bit
|
---|
| 89 | CPU64 Defined when target is 64-bit
|
---|
| 90 |
|
---|
| 91 | - Visual library Directives
|
---|
| 92 |
|
---|
| 93 | The following directives indicate for a visual library. In a Delphi/BCB
|
---|
| 94 | (Win32) application you need to define the VisualCLX symbol in the project
|
---|
| 95 | options, if you want to use the VisualCLX library. Alternatively you can use
|
---|
| 96 | the IDE expert, which is distributed with the JCL to do this automatically.
|
---|
| 97 |
|
---|
| 98 | Directive Description
|
---|
| 99 | ------------------------------------------------------------------------------
|
---|
| 100 | VCL Defined for Delphi/BCB (Win32) exactly if VisualCLX is not defined
|
---|
| 101 | VisualCLX Defined for Kylix; needs to be defined for Delphi/BCB to
|
---|
| 102 | use JCL with VisualCLX applications.
|
---|
| 103 |
|
---|
| 104 |
|
---|
| 105 | - Other cross-platform related defines
|
---|
| 106 |
|
---|
| 107 | These symbols are intended to help in writing portable code.
|
---|
| 108 |
|
---|
| 109 | Directive Description
|
---|
| 110 | ------------------------------------------------------------------------------
|
---|
| 111 | PUREPASCAL Code is machine-independent (as opposed to assembler code)
|
---|
| 112 | Win32API Code is specific for the Win32 API;
|
---|
| 113 | use instead of "{$IFNDEF CLR} {$IFDEF MSWINDOWS}" constructs
|
---|
| 114 |
|
---|
| 115 |
|
---|
| 116 | - Delphi Versions
|
---|
| 117 |
|
---|
| 118 | The following directives are direct mappings from the VERXXX directives to a
|
---|
| 119 | friendly name of the associated compiler. These directives are only defined if
|
---|
| 120 | the compiler is Delphi (ie DELPHI is defined).
|
---|
| 121 |
|
---|
| 122 | Directive Description
|
---|
| 123 | ------------------------------------------------------------------------------
|
---|
| 124 | DELPHI1 Defined when compiling with Delphi 1 (Codename WASABI/MANGO)
|
---|
| 125 | DELPHI2 Defined when compiling with Delphi 2 (Codename POLARIS)
|
---|
| 126 | DELPHI3 Defined when compiling with Delphi 3 (Codename IVORY)
|
---|
| 127 | DELPHI4 Defined when compiling with Delphi 4 (Codename ALLEGRO)
|
---|
| 128 | DELPHI5 Defined when compiling with Delphi 5 (Codename ARGUS)
|
---|
| 129 | DELPHI6 Defined when compiling with Delphi 6 (Codename ILLIAD)
|
---|
| 130 | DELPHI7 Defined when compiling with Delphi 7 (Codename AURORA)
|
---|
| 131 | DELPHI8 Defined when compiling with Delphi 8 (Codename OCTANE)
|
---|
| 132 | DELPHI2005 Defined when compiling with Delphi 2005 (Codename DIAMONDBACK)
|
---|
| 133 | DELPHI9 Alias for DELPHI2005
|
---|
| 134 | DELPHI10 Defined when compiling with Delphi 2006 (Codename DEXTER)
|
---|
| 135 | DELPHI2006 Alias for DELPHI10
|
---|
| 136 | DELPHI11 Defined when compiling with Delphi 2007 for Win32 (Codename SPACELY)
|
---|
| 137 | DELPHI2007 Alias for DELPHI11
|
---|
| 138 | DELPHI12 Defined when compiling with Delphi 2009 for Win32 (Codename TIBURON)
|
---|
| 139 | DELPHI2009 Alias for DELPHI12
|
---|
| 140 | DELPHI1_UP Defined when compiling with Delphi 1 or higher
|
---|
| 141 | DELPHI2_UP Defined when compiling with Delphi 2 or higher
|
---|
| 142 | DELPHI3_UP Defined when compiling with Delphi 3 or higher
|
---|
| 143 | DELPHI4_UP Defined when compiling with Delphi 4 or higher
|
---|
| 144 | DELPHI5_UP Defined when compiling with Delphi 5 or higher
|
---|
| 145 | DELPHI6_UP Defined when compiling with Delphi 6 or higher
|
---|
| 146 | DELPHI7_UP Defined when compiling with Delphi 7 or higher
|
---|
| 147 | DELPHI8_UP Defined when compiling with Delphi 8 or higher
|
---|
| 148 | DELPHI2005_UP Defined when compiling with Delphi 2005 or higher
|
---|
| 149 | DELPHI9_UP Alias for DELPHI2005_UP
|
---|
| 150 | DELPHI10_UP Defined when compiling with Delphi 2006 or higher
|
---|
| 151 | DELPHI2006_UP Alias for DELPHI10_UP
|
---|
| 152 | DELPHI11_UP Defined when compiling with Delphi 2007 for Win32 or higher
|
---|
| 153 | DELPHI2007_UP Alias for DELPHI11_UP
|
---|
| 154 | DELPHI12_UP Defined when compiling with Delphi 2009 for Win32 or higher
|
---|
| 155 | DELPHI2009_UP Alias for DELPHI12_UP
|
---|
| 156 |
|
---|
| 157 |
|
---|
| 158 | - Kylix Versions
|
---|
| 159 |
|
---|
| 160 | The following directives are direct mappings from the VERXXX directives to a
|
---|
| 161 | friendly name of the associated compiler. These directives are only defined if
|
---|
| 162 | the compiler is Kylix (ie KYLIX is defined).
|
---|
| 163 |
|
---|
| 164 | Directive Description
|
---|
| 165 | ------------------------------------------------------------------------------
|
---|
| 166 | KYLIX1 Defined when compiling with Kylix 1
|
---|
| 167 | KYLIX2 Defined when compiling with Kylix 2
|
---|
| 168 | KYLIX3 Defined when compiling with Kylix 3 (Codename CORTEZ)
|
---|
| 169 | KYLIX1_UP Defined when compiling with Kylix 1 or higher
|
---|
| 170 | KYLIX2_UP Defined when compiling with Kylix 2 or higher
|
---|
| 171 | KYLIX3_UP Defined when compiling with Kylix 3 or higher
|
---|
| 172 |
|
---|
| 173 |
|
---|
| 174 | - Delphi Compiler Versions (Delphi / Kylix, not in BCB mode)
|
---|
| 175 |
|
---|
| 176 | Directive Description
|
---|
| 177 | ------------------------------------------------------------------------------
|
---|
| 178 | DELPHICOMPILER1 Defined when compiling with Delphi 1
|
---|
| 179 | DELPHICOMPILER2 Defined when compiling with Delphi 2
|
---|
| 180 | DELPHICOMPILER3 Defined when compiling with Delphi 3
|
---|
| 181 | DELPHICOMPILER4 Defined when compiling with Delphi 4
|
---|
| 182 | DELPHICOMPILER5 Defined when compiling with Delphi 5
|
---|
| 183 | DELPHICOMPILER6 Defined when compiling with Delphi 6 or Kylix 1, 2 or 3
|
---|
| 184 | DELPHICOMPILER7 Defined when compiling with Delphi 7
|
---|
| 185 | DELPHICOMPILER8 Defined when compiling with Delphi 8
|
---|
| 186 | DELPHICOMPILER9 Defined when compiling with Delphi 2005
|
---|
| 187 | DELPHICOMPILER10 Defined when compiling with Delphi Personality of BDS 4.0
|
---|
| 188 | DELPHICOMPILER11 Defined when compiling with Delphi 2007 for Win32
|
---|
| 189 | DELPHICOMPILER12 Defined when compiling with Delphi Personality of BDS 6.0
|
---|
| 190 | DELPHICOMPILER1_UP Defined when compiling with Delphi 1 or higher
|
---|
| 191 | DELPHICOMPILER2_UP Defined when compiling with Delphi 2 or higher
|
---|
| 192 | DELPHICOMPILER3_UP Defined when compiling with Delphi 3 or higher
|
---|
| 193 | DELPHICOMPILER4_UP Defined when compiling with Delphi 4 or higher
|
---|
| 194 | DELPHICOMPILER5_UP Defined when compiling with Delphi 5 or higher
|
---|
| 195 | DELPHICOMPILER6_UP Defined when compiling with Delphi 6 or Kylix 1, 2 or 3 or higher
|
---|
| 196 | DELPHICOMPILER7_UP Defined when compiling with Delphi 7 or higher
|
---|
| 197 | DELPHICOMPILER8_UP Defined when compiling with Delphi 8 or higher
|
---|
| 198 | DELPHICOMPILER9_UP Defined when compiling with Delphi 2005
|
---|
| 199 | DELPHICOMPILER10_UP Defined when compiling with Delphi 2006 or higher
|
---|
| 200 | DELPHICOMPILER11_UP Defined when compiling with Delphi 2007 for Win32 or higher
|
---|
| 201 | DELPHICOMPILER12_UP Defined when compiling with Delphi 2009 for Win32 or higher
|
---|
| 202 |
|
---|
| 203 |
|
---|
| 204 | - C++Builder Versions
|
---|
| 205 |
|
---|
| 206 | The following directives are direct mappings from the VERXXX directives to a
|
---|
| 207 | friendly name of the associated compiler. These directives are only defined if
|
---|
| 208 | the compiler is C++Builder (ie BCB is defined).
|
---|
| 209 |
|
---|
| 210 | Directive Description
|
---|
| 211 | ------------------------------------------------------------------------------
|
---|
| 212 | BCB1 Defined when compiling with C++Builder 1
|
---|
| 213 | BCB3 Defined when compiling with C++Builder 3
|
---|
| 214 | BCB4 Defined when compiling with C++Builder 4
|
---|
| 215 | BCB5 Defined when compiling with C++Builder 5 (Codename RAMPAGE)
|
---|
| 216 | BCB6 Defined when compiling with C++Builder 6 (Codename RIPTIDE)
|
---|
| 217 | BCB10 Defined when compiling with C++Builder Personality of BDS 4.0 (also known as C++Builder 2006) (Codename DEXTER)
|
---|
| 218 | BCB11 Defined when compiling with C++Builder Personality of RAD Studio 2007 (also known as C++Builder 2007) (Codename COGSWELL)
|
---|
| 219 | BCB12 Defined when compiling with C++Builder Personality of RAD Studio 2009 (also known as C++Builder 2009) (Codename TIBURON)
|
---|
| 220 | BCB1_UP Defined when compiling with C++Builder 1 or higher
|
---|
| 221 | BCB3_UP Defined when compiling with C++Builder 3 or higher
|
---|
| 222 | BCB4_UP Defined when compiling with C++Builder 4 or higher
|
---|
| 223 | BCB5_UP Defined when compiling with C++Builder 5 or higher
|
---|
| 224 | BCB6_UP Defined when compiling with C++Builder 6 or higher
|
---|
| 225 | BCB10_UP Defined when compiling with C++Builder Personality of BDS 4.0 or higher
|
---|
| 226 | BCB11_UP Defined when compiling with C++Builder Personality of RAD Studio 2007 or higher
|
---|
| 227 | BCB12_UP Defined when compiling with C++Builder Personality of RAD Studio 2009 or higher
|
---|
| 228 |
|
---|
| 229 |
|
---|
| 230 | - CodeGear RAD Studio / Borland Developer Studio Versions
|
---|
| 231 |
|
---|
| 232 | The following directives are direct mappings from the VERXXX directives to a
|
---|
| 233 | friendly name of the associated IDE. These directives are only defined if
|
---|
| 234 | the IDE is Borland Developer Studio Version 2 or above.
|
---|
| 235 |
|
---|
| 236 | Note: Borland Developer Studio 2006 is marketed as Delphi 2006 or C++Builder 2006,
|
---|
| 237 | but those provide only different labels for identical content.
|
---|
| 238 |
|
---|
| 239 | Directive Description
|
---|
| 240 | ------------------------------------------------------------------------------
|
---|
| 241 | BDS Defined when compiling with BDS version of dcc32.exe (Codename SIDEWINDER)
|
---|
| 242 | BDS2 Defined when compiling with BDS 2.0 (Delphi 8) (Codename OCTANE)
|
---|
| 243 | BDS3 Defined when compiling with BDS 3.0 (Delphi 2005) (Codename DIAMONDBACK)
|
---|
| 244 | BDS4 Defined when compiling with BDS 4.0 (Borland Developer Studio 2006) (Codename DEXTER)
|
---|
| 245 | BDS5 Defined when compiling with BDS 5.0 (CodeGear RAD Studio 2007) (Codename HIGHLANDER)
|
---|
| 246 | BDS6 Defined when compiling with BDS 6.0 (CodeGear RAD Studio 2009) (Codename TIBURON)
|
---|
| 247 | BDS2_UP Defined when compiling with BDS 2.0 or higher
|
---|
| 248 | BDS3_UP Defined when compiling with BDS 3.0 or higher
|
---|
| 249 | BDS4_UP Defined when compiling with BDS 4.0 or higher
|
---|
| 250 | BDS5_UP Defined when compiling with BDS 5.0 or higher
|
---|
| 251 | BDS6_UP Defined when compiling with BDS 6.0 or higher
|
---|
| 252 |
|
---|
| 253 | - Compiler Versions
|
---|
| 254 |
|
---|
| 255 | The following directives are direct mappings from the VERXXX directives to a
|
---|
| 256 | friendly name of the associated compiler. Unlike the DELPHI_X and BCB_X
|
---|
| 257 | directives, these directives are indepedent of the development environment.
|
---|
| 258 | That is, they are defined regardless of whether compilation takes place using
|
---|
| 259 | Delphi or C++Builder.
|
---|
| 260 |
|
---|
| 261 | Directive Description
|
---|
| 262 | ------------------------------------------------------------------------------
|
---|
| 263 | COMPILER1 Defined when compiling with Delphi 1
|
---|
| 264 | COMPILER2 Defined when compiling with Delphi 2 or C++Builder 1
|
---|
| 265 | COMPILER3 Defined when compiling with Delphi 3
|
---|
| 266 | COMPILER35 Defined when compiling with C++Builder 3
|
---|
| 267 | COMPILER4 Defined when compiling with Delphi 4 or C++Builder 4
|
---|
| 268 | COMPILER5 Defined when compiling with Delphi 5 or C++Builder 5
|
---|
| 269 | COMPILER6 Defined when compiling with Delphi 6 or C++Builder 6
|
---|
| 270 | COMPILER7 Defined when compiling with Delphi 7
|
---|
| 271 | COMPILER8 Defined when compiling with Delphi 8
|
---|
| 272 | COMPILER9 Defined when compiling with Delphi 9
|
---|
| 273 | COMPILER10 Defined when compiling with Delphi or C++Builder Personalities of BDS 4.0
|
---|
| 274 | COMPILER11 Defined when compiling with Delphi or C++Builder Personalities of BDS 5.0
|
---|
| 275 | COMPILER12 Defined when compiling with Delphi or C++Builder Personalities of BDS 6.0
|
---|
| 276 | COMPILER1_UP Defined when compiling with Delphi 1 or higher
|
---|
| 277 | COMPILER2_UP Defined when compiling with Delphi 2 or C++Builder 1 or higher
|
---|
| 278 | COMPILER3_UP Defined when compiling with Delphi 3 or higher
|
---|
| 279 | COMPILER35_UP Defined when compiling with C++Builder 3 or higher
|
---|
| 280 | COMPILER4_UP Defined when compiling with Delphi 4 or C++Builder 4 or higher
|
---|
| 281 | COMPILER5_UP Defined when compiling with Delphi 5 or C++Builder 5 or higher
|
---|
| 282 | COMPILER6_UP Defined when compiling with Delphi 6 or C++Builder 6 or higher
|
---|
| 283 | COMPILER7_UP Defined when compiling with Delphi 7
|
---|
| 284 | COMPILER8_UP Defined when compiling with Delphi 8
|
---|
| 285 | COMPILER9_UP Defined when compiling with Delphi Personalities of BDS 3.0
|
---|
| 286 | COMPILER10_UP Defined when compiling with Delphi or C++Builder Personalities of BDS 4.0 or higher
|
---|
| 287 | COMPILER11_UP Defined when compiling with Delphi or C++Builder Personalities of BDS 5.0 or higher
|
---|
| 288 | COMPILER12_UP Defined when compiling with Delphi or C++Builder Personalities of BDS 6.0 or higher
|
---|
| 289 |
|
---|
| 290 |
|
---|
| 291 | - RTL Versions
|
---|
| 292 |
|
---|
| 293 | Use e.g. following to determine the exact RTL version since version 14.0:
|
---|
| 294 | {$IFDEF CONDITIONALEXPRESSIONS}
|
---|
| 295 | {$IF Declared(RTLVersion) and (RTLVersion >= 14.2)}
|
---|
| 296 | // code for Delphi 6.02 or higher, Kylix 2 or higher, C++Builder 6 or higher
|
---|
| 297 | ...
|
---|
| 298 | {$IFEND}
|
---|
| 299 | {$ENDIF}
|
---|
| 300 |
|
---|
| 301 | Directive Description
|
---|
| 302 | ------------------------------------------------------------------------------
|
---|
| 303 | RTL80_UP Defined when compiling with Delphi 1 or higher
|
---|
| 304 | RTL90_UP Defined when compiling with Delphi 2 or higher
|
---|
| 305 | RTL93_UP Defined when compiling with C++Builder 1 or higher
|
---|
| 306 | RTL100_UP Defined when compiling with Delphi 3 or higher
|
---|
| 307 | RTL110_UP Defined when compiling with C++Builder 3 or higher
|
---|
| 308 | RTL120_UP Defined when compiling with Delphi 4 or higher
|
---|
| 309 | RTL125_UP Defined when compiling with C++Builder 4 or higher
|
---|
| 310 | RTL130_UP Defined when compiling with Delphi 5 or C++Builder 5 or higher
|
---|
| 311 | RTL140_UP Defined when compiling with Delphi 6, Kylix 1, 2 or 3 or C++Builder 6 or higher
|
---|
| 312 | RTL150_UP Defined when compiling with Delphi 7 or higher
|
---|
| 313 | RTL160_UP Defined when compiling with Delphi 8 or higher
|
---|
| 314 | RTL170_UP Defined when compiling with Delphi Personalities of BDS 3.0 or higher
|
---|
| 315 | RTL180_UP Defined when compiling with Delphi or C++Builder Personalities of BDS 4.0 or higher
|
---|
| 316 | RTL185_UP Defined when compiling with Delphi or C++Builder Personalities of BDS 5.0 or higher
|
---|
| 317 | RTL190_UP Defined when compiling with Delphi.NET of BDS 5.0 or higher
|
---|
| 318 | RTL200_UP Defined when compiling with Delphi or C++Builder Personalities of BDS 6.0 or higher
|
---|
| 319 |
|
---|
| 320 |
|
---|
| 321 | - CLR Versions
|
---|
| 322 |
|
---|
| 323 | Directive Description
|
---|
| 324 | ------------------------------------------------------------------------------
|
---|
| 325 | CLR Defined when compiling for .NET
|
---|
| 326 | CLR10 Defined when compiling for .NET 1.0 (may be overriden by FORCE_CLR10)
|
---|
| 327 | CLR10_UP Defined when compiling for .NET 1.0 or higher
|
---|
| 328 | CLR11 Defined when compiling for .NET 1.1 (may be overriden by FORCE_CLR11)
|
---|
| 329 | CLR11_UP Defined when compiling for .NET 1.1 or higher
|
---|
| 330 | CLR20 Defined when compiling for .NET 2.0 (may be overriden by FORCE_CLR20)
|
---|
| 331 | CLR20_UP Defined when compiling for .NET 2.0 or higher
|
---|
| 332 |
|
---|
| 333 |
|
---|
| 334 | - Feature Directives
|
---|
| 335 |
|
---|
| 336 | The features directives are used to test if the compiler supports specific
|
---|
| 337 | features, such as method overloading, and adjust the sources accordingly. Use
|
---|
| 338 | of these directives is preferred over the use of the DELPHI and COMPILER
|
---|
| 339 | directives.
|
---|
| 340 |
|
---|
| 341 | Directive Description
|
---|
| 342 | ------------------------------------------------------------------------------
|
---|
| 343 | SUPPORTS_CONSTPARAMS Compiler supports const parameters (D1+)
|
---|
| 344 | SUPPORTS_SINGLE Compiler supports the Single type (D1+)
|
---|
| 345 | SUPPORTS_DOUBLE Compiler supports the Double type (D1+)
|
---|
| 346 | SUPPORTS_EXTENDED Compiler supports the Extended type (D1+)
|
---|
| 347 | SUPPORTS_CURRENCY Compiler supports the Currency type (D2+)
|
---|
| 348 | SUPPORTS_THREADVAR Compiler supports threadvar declarations (D2+)
|
---|
| 349 | SUPPORTS_OUTPARAMS Compiler supports out parameters (D3+)
|
---|
| 350 | SUPPORTS_VARIANT Compiler supports variant (D2+)
|
---|
| 351 | SUPPORTS_WIDECHAR Compiler supports the WideChar type (D2+)
|
---|
| 352 | SUPPORTS_WIDESTRING Compiler supports the WideString type (D3+/BCB3+)
|
---|
| 353 | SUPPORTS_INTERFACE Compiler supports interfaces (D3+/BCB3+)
|
---|
| 354 | SUPPORTS_DISPINTERFACE Compiler supports dispatch interfaces (D3+/BCB3+)
|
---|
| 355 | SUPPORTS_DISPID Compiler supports dispatch ids (D3+/BCB3+/FPC)
|
---|
| 356 | SUPPORTS_EXTSYM Compiler supports the $EXTERNALSYM directive (D4+/BCB3+)
|
---|
| 357 | SUPPORTS_NODEFINE Compiler supports the $NODEFINE directive (D4+/BCB3+)
|
---|
| 358 | SUPPORTS_LONGWORD Compiler supports the LongWord type (unsigned 32 bit) (D4+/BCB4+)
|
---|
| 359 | SUPPORTS_INT64 Compiler supports the Int64 type (D4+/BCB4+)
|
---|
| 360 | SUPPORTS_DYNAMICARRAYS Compiler supports dynamic arrays (D4+/BCB4+)
|
---|
| 361 | SUPPORTS_DEFAULTPARAMS Compiler supports default parameters (D4+/BCB4+)
|
---|
| 362 | SUPPORTS_OVERLOAD Compiler supports overloading (D4+/BCB4+)
|
---|
| 363 | SUPPORTS_IMPLEMENTS Compiler supports implements (D4+/BCB4+)
|
---|
| 364 | SUPPORTS_DEPRECATED Compiler supports the deprecated directive (D6+/BCB6+)
|
---|
| 365 | SUPPORTS_PLATFORM Compiler supports the platform directive (D6+/BCB6+)
|
---|
| 366 | SUPPORTS_LIBRARY Compiler supports the library directive (D6+/BCB6+/FPC)
|
---|
| 367 | SUPPORTS_LOCAL Compiler supports the local directive (D6+/BCB6+)
|
---|
| 368 | SUPPORTS_SETPEFLAGS Compiler supports the SetPEFlags directive (D6+/BCB6+)
|
---|
| 369 | SUPPORTS_EXPERIMENTAL_WARNINGS Compiler supports the WARN SYMBOL_EXPERIMENTAL and WARN UNIT_EXPERIMENTAL directives (D6+/BCB6+)
|
---|
| 370 | SUPPORTS_INLINE Compiler supports the inline directive (D9+/FPC)
|
---|
| 371 | SUPPORTS_FOR_IN Compiler supports for in loops (D9+)
|
---|
| 372 | SUPPORTS_NESTED_CONSTANTS Compiler supports nested constants (D9+)
|
---|
| 373 | SUPPORTS_NESTED_TYPES Compiler supports nested types (D9+)
|
---|
| 374 | SUPPORTS_REGION Compiler supports the REGION and ENDREGION directives (D9+)
|
---|
| 375 | SUPPORTS_ENHANCED_RECORDS Compiler supports class [operator|function|procedure] for record types (D9.NET, D10+)
|
---|
| 376 | SUPPORTS_CLASS_FIELDS Compiler supports class fields (D9.NET, D10+)
|
---|
| 377 | SUPPORTS_CLASS_HELPERS Compiler supports class helpers (D9.NET, D10+)
|
---|
| 378 | SUPPORTS_CLASS_OPERATORS Compiler supports class operators (D9.NET, D10+)
|
---|
| 379 | SUPPORTS_STRICT Compiler supports strict keyword (D9.NET, D10+)
|
---|
| 380 | SUPPORTS_STATIC Compiler supports static keyword (D9.NET, D10+)
|
---|
| 381 | SUPPORTS_FINAL Compiler supports final keyword (D9.NET, D10+)
|
---|
| 382 | SUPPORTS_METHODINFO Compiler supports the METHODINFO directives (D10+)
|
---|
| 383 | SUPPORTS_GENERICS Compiler supports generic implementations (D11.NET, D12+)
|
---|
| 384 | SUPPORTS_DEPRECATED_DETAILS Compiler supports additional text for the deprecated directive (D11.NET, D12+)
|
---|
| 385 | ACCEPT_DEPRECATED Compiler supports or ignores the deprecated directive (D6+/BCB6+/FPC)
|
---|
| 386 | ACCEPT_PLATFORM Compiler supports or ignores the platform directive (D6+/BCB6+/FPC)
|
---|
| 387 | ACCEPT_LIBRARY Compiler supports or ignores the library directive (D6+/BCB6+)
|
---|
| 388 | SUPPORTS_CUSTOMVARIANTS Compiler supports custom variants (D6+/BCB6+)
|
---|
| 389 | SUPPORTS_VARARGS Compiler supports varargs (D6+/BCB6+)
|
---|
| 390 | SUPPORTS_ENUMVALUE Compiler supports assigning ordinalities to values of enums (D6+/BCB6+)
|
---|
| 391 | SUPPORTS_DEPRECATED_WARNINGS Compiler supports deprecated warnings (D6+/BCB6+)
|
---|
| 392 | SUPPORTS_LIBRARY_WARNINGS Compiler supports library warnings (D6+/BCB6+)
|
---|
| 393 | SUPPORTS_PLATFORM_WARNINGS Compiler supports platform warnings (D6+/BCB6+)
|
---|
| 394 | SUPPORTS_UNSAFE_WARNINGS Compiler supports unsafe warnings (D7)
|
---|
| 395 | SUPPORTS_WEAKPACKAGEUNIT Compiler supports the WEAKPACKAGEUNIT directive
|
---|
| 396 | SUPPORTS_COMPILETIME_MESSAGES Compiler supports the MESSAGE directive
|
---|
| 397 | SUPPORTS_PACKAGES Compiler supports Packages
|
---|
| 398 | HAS_UNIT_LIBC Unit Libc exists (Kylix, FPC on Linux/x86)
|
---|
| 399 | HAS_UNIT_RTLCONSTS Unit RTLConsts exists (D6+/BCB6+/FPC)
|
---|
| 400 | HAS_UNIT_TYPES Unit Types exists (D6+/BCB6+/FPC)
|
---|
| 401 | HAS_UNIT_VARIANTS Unit Variants exists (D6+/BCB6+/FPC)
|
---|
| 402 | HAS_UNIT_STRUTILS Unit StrUtils exists (D6+/BCB6+/FPC)
|
---|
| 403 | HAS_UNIT_DATEUTILS Unit DateUtils exists (D6+/BCB6+/FPC)
|
---|
| 404 | HAS_UNIT_CONTNRS Unit contnrs exists (D6+/BCB6+/FPC)
|
---|
| 405 | HAS_UNIT_HTTPPROD Unit HTTPProd exists (D9+)
|
---|
| 406 | HAS_UNIT_ANSISTRINGS Unit AnsiStrings exists (D12+)
|
---|
| 407 | HAS_UNIT_PNGIMAGE Unit PngImage exists (D12+)
|
---|
| 408 | XPLATFORM_RTL The RTL supports crossplatform function names (e.g. RaiseLastOSError) (D6+/BCB6+/FPC)
|
---|
| 409 | SUPPORTS_UNICODE string type is aliased to an unicode string (WideString or UnicodeString) (DX.NET, D12+)
|
---|
| 410 | SUPPORTS_UNICODE_STRING Compiler supports UnicodeString (D12+)
|
---|
| 411 |
|
---|
| 412 |
|
---|
| 413 | - Compiler Settings
|
---|
| 414 |
|
---|
| 415 | The compiler settings directives indicate whether a specific compiler setting
|
---|
| 416 | is in effect. This facilitates changing compiler settings locally in a more
|
---|
| 417 | compact and readible manner.
|
---|
| 418 |
|
---|
| 419 | Directive Description
|
---|
| 420 | ------------------------------------------------------------------------------
|
---|
| 421 | ALIGN_ON Compiling in the A+ state (no alignment)
|
---|
| 422 | BOOLEVAL_ON Compiling in the B+ state (complete boolean evaluation)
|
---|
| 423 | ASSERTIONS_ON Compiling in the C+ state (assertions on)
|
---|
| 424 | DEBUGINFO_ON Compiling in the D+ state (debug info generation on)
|
---|
| 425 | IMPORTEDDATA_ON Compiling in the G+ state (creation of imported data references)
|
---|
| 426 | LONGSTRINGS_ON Compiling in the H+ state (string defined as AnsiString)
|
---|
| 427 | IOCHECKS_ON Compiling in the I+ state (I/O checking enabled)
|
---|
| 428 | WRITEABLECONST_ON Compiling in the J+ state (typed constants can be modified)
|
---|
| 429 | LOCALSYMBOLS Compiling in the L+ state (local symbol generation)
|
---|
| 430 | TYPEINFO_ON Compiling in the M+ state (RTTI generation on)
|
---|
| 431 | OPTIMIZATION_ON Compiling in the O+ state (code optimization on)
|
---|
| 432 | OPENSTRINGS_ON Compiling in the P+ state (variable string parameters are openstrings)
|
---|
| 433 | OVERFLOWCHECKS_ON Compiling in the Q+ state (overflow checing on)
|
---|
| 434 | RANGECHECKS_ON Compiling in the R+ state (range checking on)
|
---|
| 435 | TYPEDADDRESS_ON Compiling in the T+ state (pointers obtained using the @ operator are typed)
|
---|
| 436 | SAFEDIVIDE_ON Compiling in the U+ state (save FDIV instruction through RTL emulation)
|
---|
| 437 | VARSTRINGCHECKS_ON Compiling in the V+ state (type checking of shortstrings)
|
---|
| 438 | STACKFRAMES_ON Compiling in the W+ state (generation of stack frames)
|
---|
| 439 | EXTENDEDSYNTAX_ON Compiling in the X+ state (Delphi extended syntax enabled)
|
---|
| 440 | *)
|
---|
| 441 |
|
---|
| 442 | {$DEFINE BORLAND}
|
---|
| 443 |
|
---|
| 444 | { Set FreePascal to Delphi mode }
|
---|
| 445 | {$IFDEF FPC}
|
---|
| 446 | {$MODE DELPHI}
|
---|
| 447 | {$ASMMODE Intel}
|
---|
| 448 | {$UNDEF BORLAND}
|
---|
| 449 | // FPC defines CPU* and Unix automatically
|
---|
| 450 | {$ENDIF}
|
---|
| 451 |
|
---|
| 452 | {$IFDEF BORLAND}
|
---|
| 453 | {$IFDEF LINUX}
|
---|
| 454 | {$DEFINE KYLIX}
|
---|
| 455 | {$ENDIF LINUX}
|
---|
| 456 | {$IFNDEF CLR}
|
---|
| 457 | {$DEFINE CPU386} // For Borland compilers select the x86 compat assembler by default
|
---|
| 458 | {$DEFINE CPU32} // Assume Borland compilers are 32-bit (rather than 64-bit)
|
---|
| 459 | {$ENDIF ~CLR}
|
---|
| 460 | {$ENDIF BORLAND}
|
---|
| 461 |
|
---|
| 462 | {------------------------------------------------------------------------------}
|
---|
| 463 | { VERXXX to COMPILERX, DELPHIX and BCBX mappings }
|
---|
| 464 | {------------------------------------------------------------------------------}
|
---|
| 465 |
|
---|
| 466 | {$IFDEF BORLAND}
|
---|
| 467 | {$IFDEF KYLIX}
|
---|
| 468 | {$I kylix.inc} // FPC incompatible stuff
|
---|
| 469 | {$ELSE ~KYLIX}
|
---|
| 470 |
|
---|
| 471 | {$DEFINE UNKNOWN_COMPILER_VERSION}
|
---|
| 472 |
|
---|
| 473 | {$IFDEF VER80}
|
---|
| 474 | {$DEFINE COMPILER1}
|
---|
| 475 | {$DEFINE DELPHI1}
|
---|
| 476 | {$DEFINE DELPHICOMPILER1}
|
---|
| 477 | {$DEFINE RTL80_UP}
|
---|
| 478 | {$UNDEF UNKNOWN_COMPILER_VERSION}
|
---|
| 479 | {$ENDIF}
|
---|
| 480 |
|
---|
| 481 | {$IFDEF VER90}
|
---|
| 482 | {$DEFINE COMPILER2}
|
---|
| 483 | {$DEFINE DELPHI2}
|
---|
| 484 | {$DEFINE DELPHICOMPILER2}
|
---|
| 485 | {$DEFINE RTL90_UP}
|
---|
| 486 | {$UNDEF UNKNOWN_COMPILER_VERSION}
|
---|
| 487 | {$ENDIF}
|
---|
| 488 |
|
---|
| 489 | {$IFDEF VER93}
|
---|
| 490 | {$DEFINE COMPILER2}
|
---|
| 491 | {$DEFINE BCB1}
|
---|
| 492 | {$DEFINE BCB}
|
---|
| 493 | {$DEFINE RTL93_UP}
|
---|
| 494 | {$UNDEF UNKNOWN_COMPILER_VERSION}
|
---|
| 495 | {$ENDIF}
|
---|
| 496 |
|
---|
| 497 | {$IFDEF VER100}
|
---|
| 498 | {$DEFINE COMPILER3}
|
---|
| 499 | {$DEFINE DELPHI3}
|
---|
| 500 | {$DEFINE DELPHICOMPILER3}
|
---|
| 501 | {$DEFINE RTL100_UP}
|
---|
| 502 | {$UNDEF UNKNOWN_COMPILER_VERSION}
|
---|
| 503 | {$ENDIF}
|
---|
| 504 |
|
---|
| 505 | {$IFDEF VER110}
|
---|
| 506 | {$DEFINE COMPILER35}
|
---|
| 507 | {$DEFINE BCB3}
|
---|
| 508 | {$DEFINE RTL110_UP}
|
---|
| 509 | {$UNDEF UNKNOWN_COMPILER_VERSION}
|
---|
| 510 | {$ENDIF}
|
---|
| 511 |
|
---|
| 512 | {$IFDEF VER120}
|
---|
| 513 | {$DEFINE COMPILER4}
|
---|
| 514 | {$DEFINE DELPHI4}
|
---|
| 515 | {$DEFINE DELPHICOMPILER4}
|
---|
| 516 | {$DEFINE RTL120_UP}
|
---|
| 517 | {$UNDEF UNKNOWN_COMPILER_VERSION}
|
---|
| 518 | {$ENDIF}
|
---|
| 519 |
|
---|
| 520 | {$IFDEF VER125}
|
---|
| 521 | {$DEFINE COMPILER4}
|
---|
| 522 | {$DEFINE BCB4}
|
---|
| 523 | {$DEFINE BCB}
|
---|
| 524 | {$DEFINE RTL125_UP}
|
---|
| 525 | {$UNDEF UNKNOWN_COMPILER_VERSION}
|
---|
| 526 | {$ENDIF}
|
---|
| 527 |
|
---|
| 528 | {$IFDEF VER130}
|
---|
| 529 | {$DEFINE COMPILER5}
|
---|
| 530 | {$IFDEF BCB}
|
---|
| 531 | {$DEFINE BCB5}
|
---|
| 532 | {$ELSE}
|
---|
| 533 | {$DEFINE DELPHI5}
|
---|
| 534 | {$DEFINE DELPHICOMPILER5}
|
---|
| 535 | {$ENDIF}
|
---|
| 536 | {$DEFINE RTL130_UP}
|
---|
| 537 | {$UNDEF UNKNOWN_COMPILER_VERSION}
|
---|
| 538 | {$ENDIF}
|
---|
| 539 |
|
---|
| 540 | {$IFDEF VER140}
|
---|
| 541 | {$DEFINE COMPILER6}
|
---|
| 542 | {$IFDEF BCB}
|
---|
| 543 | {$DEFINE BCB6}
|
---|
| 544 | {$ELSE}
|
---|
| 545 | {$DEFINE DELPHI6}
|
---|
| 546 | {$DEFINE DELPHICOMPILER6}
|
---|
| 547 | {$ENDIF}
|
---|
| 548 | {$DEFINE RTL140_UP}
|
---|
| 549 | {$UNDEF UNKNOWN_COMPILER_VERSION}
|
---|
| 550 | {$ENDIF}
|
---|
| 551 |
|
---|
| 552 | {$IFDEF VER150}
|
---|
| 553 | {$DEFINE COMPILER7}
|
---|
| 554 | {$DEFINE DELPHI7}
|
---|
| 555 | {$DEFINE DELPHICOMPILER7}
|
---|
| 556 | {$DEFINE RTL150_UP}
|
---|
| 557 | {$UNDEF UNKNOWN_COMPILER_VERSION}
|
---|
| 558 | {$ENDIF}
|
---|
| 559 |
|
---|
| 560 | {$IFDEF VER160}
|
---|
| 561 | {$DEFINE BDS2}
|
---|
| 562 | {$DEFINE BDS}
|
---|
| 563 | {$IFDEF CLR}
|
---|
| 564 | {$DEFINE CLR10}
|
---|
| 565 | {$ENDIF CLR}
|
---|
| 566 | {$DEFINE COMPILER8}
|
---|
| 567 | {$DEFINE DELPHI8}
|
---|
| 568 | {$DEFINE DELPHICOMPILER8}
|
---|
| 569 | {$DEFINE RTL160_UP}
|
---|
| 570 | {$UNDEF UNKNOWN_COMPILER_VERSION}
|
---|
| 571 | {$ENDIF}
|
---|
| 572 |
|
---|
| 573 | {$IFDEF VER170}
|
---|
| 574 | {$DEFINE BDS3}
|
---|
| 575 | {$DEFINE BDS}
|
---|
| 576 | {$IFDEF CLR}
|
---|
| 577 | {$DEFINE CLR11}
|
---|
| 578 | {$ENDIF CLR}
|
---|
| 579 | {$DEFINE COMPILER9}
|
---|
| 580 | {$DEFINE DELPHI9}
|
---|
| 581 | {$DEFINE DELPHI2005} // synonym to DELPHI9
|
---|
| 582 | {$DEFINE DELPHICOMPILER9}
|
---|
| 583 | {$DEFINE RTL170_UP}
|
---|
| 584 | {$UNDEF UNKNOWN_COMPILER_VERSION}
|
---|
| 585 | {$ENDIF}
|
---|
| 586 |
|
---|
| 587 | {$IFDEF VER180}
|
---|
| 588 | {$DEFINE BDS}
|
---|
| 589 | {$IFDEF CLR}
|
---|
| 590 | {$DEFINE CLR11}
|
---|
| 591 | {$ENDIF CLR}
|
---|
| 592 | {$IFDEF VER185}
|
---|
| 593 | {$DEFINE BDS5}
|
---|
| 594 | {$DEFINE COMPILER11}
|
---|
| 595 | {$IFDEF BCB}
|
---|
| 596 | {$DEFINE BCB11}
|
---|
| 597 | {$ELSE}
|
---|
| 598 | {$DEFINE DELPHI11}
|
---|
| 599 | {$DEFINE DELPHI2007} // synonym to DELPHI11
|
---|
| 600 | {$DEFINE DELPHICOMPILER11}
|
---|
| 601 | {$ENDIF}
|
---|
| 602 | {$DEFINE RTL185_UP}
|
---|
| 603 | {$ELSE ~~VER185}
|
---|
| 604 | {$DEFINE BDS4}
|
---|
| 605 | {$DEFINE COMPILER10}
|
---|
| 606 | {$IFDEF BCB}
|
---|
| 607 | {$DEFINE BCB10}
|
---|
| 608 | {$ELSE}
|
---|
| 609 | {$DEFINE DELPHI10}
|
---|
| 610 | {$DEFINE DELPHI2006} // synonym to DELPHI10
|
---|
| 611 | {$DEFINE DELPHICOMPILER10}
|
---|
| 612 | {$ENDIF}
|
---|
| 613 | {$DEFINE RTL180_UP}
|
---|
| 614 | {$ENDIF ~VER185}
|
---|
| 615 | {$UNDEF UNKNOWN_COMPILER_VERSION}
|
---|
| 616 | {$ENDIF}
|
---|
| 617 |
|
---|
| 618 | {$IFDEF VER190} // Delphi 2007 for .NET
|
---|
| 619 | {$DEFINE BDS}
|
---|
| 620 | {$DEFINE BDS5}
|
---|
| 621 | {$IFDEF CLR}
|
---|
| 622 | {$DEFINE CLR20}
|
---|
| 623 | {$ENDIF CLR}
|
---|
| 624 | {$DEFINE COMPILER11}
|
---|
| 625 | {$DEFINE DELPHI11}
|
---|
| 626 | {$DEFINE DELPHI2007} // synonym to DELPHI11
|
---|
| 627 | {$DEFINE DELPHICOMPILER11}
|
---|
| 628 | {$DEFINE RTL190_UP}
|
---|
| 629 | {$UNDEF UNKNOWN_COMPILER_VERSION}
|
---|
| 630 | {$ENDIF VER190}
|
---|
| 631 |
|
---|
| 632 | {$IFDEF VER200} // RAD Studio 2009
|
---|
| 633 | {$DEFINE BDS}
|
---|
| 634 | {$DEFINE BDS6}
|
---|
| 635 | {$IFDEF CLR}
|
---|
| 636 | {$DEFINE CLR20}
|
---|
| 637 | {$ENDIF CLR}
|
---|
| 638 | {$DEFINE COMPILER12}
|
---|
| 639 | {$IFDEF BCB}
|
---|
| 640 | {$DEFINE BCB12}
|
---|
| 641 | {$ELSE}
|
---|
| 642 | {$DEFINE DELPHI12}
|
---|
| 643 | {$DEFINE DELPHI2009} // synonym to DELPHI12
|
---|
| 644 | {$DEFINE DELPHICOMPILER12}
|
---|
| 645 | {$ENDIF BCB}
|
---|
| 646 | {$IFDEF CLR}
|
---|
| 647 | {$DEFINE RTL190_UP}
|
---|
| 648 | {$ELSE}
|
---|
| 649 | {$DEFINE RTL200_UP}
|
---|
| 650 | {$ENDIF}
|
---|
| 651 | {$UNDEF UNKNOWN_COMPILER_VERSION}
|
---|
| 652 | {$ENDIF VER200}
|
---|
| 653 |
|
---|
| 654 | {$IFDEF UNKNOWN_COMPILER_VERSION} // adjust for newer version (always use latest version)
|
---|
| 655 | {$DEFINE BDS}
|
---|
| 656 | {$DEFINE BDS6}
|
---|
| 657 | {$DEFINE COMPILER12}
|
---|
| 658 | {$IFDEF BCB}
|
---|
| 659 | {$DEFINE BCB12}
|
---|
| 660 | {$ELSE}
|
---|
| 661 | {$DEFINE DELPHI12}
|
---|
| 662 | {$DEFINE DELPHI2009} // synonym to DELPHI12
|
---|
| 663 | {$DEFINE DELPHICOMPILER12}
|
---|
| 664 | {$ENDIF BCB}
|
---|
| 665 | {$IFDEF CLR}
|
---|
| 666 | {$DEFINE RTL190_UP}
|
---|
| 667 | {$ELSE}
|
---|
| 668 | {$DEFINE RTL200_UP}
|
---|
| 669 | {$ENDIF}
|
---|
| 670 | {$UNDEF UNKNOWN_COMPILER_VERSION}
|
---|
| 671 | {$ENDIF}
|
---|
| 672 |
|
---|
| 673 | {$ENDIF ~KYLIX}
|
---|
| 674 |
|
---|
| 675 | {$IFDEF BCB}
|
---|
| 676 | {$DEFINE CPPBUILDER}
|
---|
| 677 | {$DEFINE BCBCOMPILER}
|
---|
| 678 | {$ELSE ~BCB}
|
---|
| 679 | {$DEFINE DELPHI}
|
---|
| 680 | {$DEFINE DELPHICOMPILER}
|
---|
| 681 | {$ENDIF ~BCB}
|
---|
| 682 |
|
---|
| 683 | {$ENDIF BORLAND}
|
---|
| 684 |
|
---|
| 685 | {------------------------------------------------------------------------------}
|
---|
| 686 | { DELPHIX_UP from DELPHIX mappings }
|
---|
| 687 | {------------------------------------------------------------------------------}
|
---|
| 688 |
|
---|
| 689 | {$IFDEF DELPHI12} {$DEFINE DELPHI12_UP} {$ENDIF}
|
---|
| 690 | {$IFDEF DELPHI11} {$DEFINE DELPHI11_UP} {$ENDIF}
|
---|
| 691 | {$IFDEF DELPHI10} {$DEFINE DELPHI10_UP} {$ENDIF}
|
---|
| 692 | {$IFDEF DELPHI9} {$DEFINE DELPHI9_UP} {$ENDIF}
|
---|
| 693 | {$IFDEF DELPHI8} {$DEFINE DELPHI8_UP} {$ENDIF}
|
---|
| 694 | {$IFDEF DELPHI7} {$DEFINE DELPHI7_UP} {$ENDIF}
|
---|
| 695 | {$IFDEF DELPHI6} {$DEFINE DELPHI6_UP} {$ENDIF}
|
---|
| 696 | {$IFDEF DELPHI5} {$DEFINE DELPHI5_UP} {$ENDIF}
|
---|
| 697 | {$IFDEF DELPHI4} {$DEFINE DELPHI4_UP} {$ENDIF}
|
---|
| 698 | {$IFDEF DELPHI3} {$DEFINE DELPHI3_UP} {$ENDIF}
|
---|
| 699 | {$IFDEF DELPHI2} {$DEFINE DELPHI2_UP} {$ENDIF}
|
---|
| 700 | {$IFDEF DELPHI1} {$DEFINE DELPHI1_UP} {$ENDIF}
|
---|
| 701 |
|
---|
| 702 | {------------------------------------------------------------------------------}
|
---|
| 703 | { DELPHIX_UP from DELPHIX_UP mappings }
|
---|
| 704 | {------------------------------------------------------------------------------}
|
---|
| 705 |
|
---|
| 706 | {$IFDEF DELPHI12_UP}
|
---|
| 707 | {$DEFINE DELPHI2009_UP} // synonym to DELPHI12_UP
|
---|
| 708 | {$DEFINE DELPHI11_UP}
|
---|
| 709 | {$ENDIF}
|
---|
| 710 |
|
---|
| 711 | {$IFDEF DELPHI11_UP}
|
---|
| 712 | {$DEFINE DELPHI2007_UP} // synonym to DELPHI11_UP
|
---|
| 713 | {$DEFINE DELPHI10_UP}
|
---|
| 714 | {$ENDIF}
|
---|
| 715 |
|
---|
| 716 | {$IFDEF DELPHI10_UP}
|
---|
| 717 | {$DEFINE DELPHI2006_UP} // synonym to DELPHI10_UP
|
---|
| 718 | {$DEFINE DELPHI9_UP}
|
---|
| 719 | {$ENDIF}
|
---|
| 720 |
|
---|
| 721 | {$IFDEF DELPHI9_UP}
|
---|
| 722 | {$DEFINE DELPHI2005_UP} // synonym to DELPHI9_UP
|
---|
| 723 | {$DEFINE DELPHI8_UP}
|
---|
| 724 | {$ENDIF}
|
---|
| 725 |
|
---|
| 726 | {$IFDEF DELPHI8_UP} {$DEFINE DELPHI7_UP} {$ENDIF}
|
---|
| 727 | {$IFDEF DELPHI7_UP} {$DEFINE DELPHI6_UP} {$ENDIF}
|
---|
| 728 | {$IFDEF DELPHI6_UP} {$DEFINE DELPHI5_UP} {$ENDIF}
|
---|
| 729 | {$IFDEF DELPHI5_UP} {$DEFINE DELPHI4_UP} {$ENDIF}
|
---|
| 730 | {$IFDEF DELPHI4_UP} {$DEFINE DELPHI3_UP} {$ENDIF}
|
---|
| 731 | {$IFDEF DELPHI3_UP} {$DEFINE DELPHI2_UP} {$ENDIF}
|
---|
| 732 | {$IFDEF DELPHI2_UP} {$DEFINE DELPHI1_UP} {$ENDIF}
|
---|
| 733 |
|
---|
| 734 | {------------------------------------------------------------------------------}
|
---|
| 735 | { BCBX_UP from BCBX mappings }
|
---|
| 736 | {------------------------------------------------------------------------------}
|
---|
| 737 |
|
---|
| 738 | {$IFDEF BCB12} {$DEFINE BCB12_UP} {$ENDIF}
|
---|
| 739 | {$IFDEF BCB11} {$DEFINE BCB11_UP} {$ENDIF}
|
---|
| 740 | {$IFDEF BCB10} {$DEFINE BCB10_UP} {$ENDIF}
|
---|
| 741 | {$IFDEF BCB6} {$DEFINE BCB6_UP} {$ENDIF}
|
---|
| 742 | {$IFDEF BCB5} {$DEFINE BCB5_UP} {$ENDIF}
|
---|
| 743 | {$IFDEF BCB4} {$DEFINE BCB4_UP} {$ENDIF}
|
---|
| 744 | {$IFDEF BCB3} {$DEFINE BCB3_UP} {$ENDIF}
|
---|
| 745 | {$IFDEF BCB1} {$DEFINE BCB1_UP} {$ENDIF}
|
---|
| 746 |
|
---|
| 747 | {------------------------------------------------------------------------------}
|
---|
| 748 | { BCBX_UP from BCBX_UP mappings }
|
---|
| 749 | {------------------------------------------------------------------------------}
|
---|
| 750 |
|
---|
| 751 | {$IFDEF BCB12_UP} {$DEFINE BCB11_UP} {$ENDIF}
|
---|
| 752 | {$IFDEF BCB11_UP} {$DEFINE BCB10_UP} {$ENDIF}
|
---|
| 753 | {$IFDEF BCB10_UP} {$DEFINE BCB6_UP} {$ENDIF}
|
---|
| 754 | {$IFDEF BCB6_UP} {$DEFINE BCB5_UP} {$ENDIF}
|
---|
| 755 | {$IFDEF BCB5_UP} {$DEFINE BCB4_UP} {$ENDIF}
|
---|
| 756 | {$IFDEF BCB4_UP} {$DEFINE BCB3_UP} {$ENDIF}
|
---|
| 757 | {$IFDEF BCB3_UP} {$DEFINE BCB1_UP} {$ENDIF}
|
---|
| 758 |
|
---|
| 759 | {------------------------------------------------------------------------------}
|
---|
| 760 | { BDSX_UP from BDSX mappings }
|
---|
| 761 | {------------------------------------------------------------------------------}
|
---|
| 762 |
|
---|
| 763 | {$IFDEF BDS6} {$DEFINE BDS6_UP} {$ENDIF}
|
---|
| 764 | {$IFDEF BDS5} {$DEFINE BDS5_UP} {$ENDIF}
|
---|
| 765 | {$IFDEF BDS4} {$DEFINE BDS4_UP} {$ENDIF}
|
---|
| 766 | {$IFDEF BDS3} {$DEFINE BDS3_UP} {$ENDIF}
|
---|
| 767 | {$IFDEF BDS2} {$DEFINE BDS2_UP} {$ENDIF}
|
---|
| 768 |
|
---|
| 769 | {------------------------------------------------------------------------------}
|
---|
| 770 | { BDSX_UP from BDSX_UP mappings }
|
---|
| 771 | {------------------------------------------------------------------------------}
|
---|
| 772 |
|
---|
| 773 | {$IFDEF BDS6_UP} {$DEFINE BDS5_UP} {$ENDIF}
|
---|
| 774 | {$IFDEF BDS5_UP} {$DEFINE BDS4_UP} {$ENDIF}
|
---|
| 775 | {$IFDEF BDS4_UP} {$DEFINE BDS3_UP} {$ENDIF}
|
---|
| 776 | {$IFDEF BDS3_UP} {$DEFINE BDS2_UP} {$ENDIF}
|
---|
| 777 |
|
---|
| 778 | {------------------------------------------------------------------------------}
|
---|
| 779 | { DELPHICOMPILERX_UP from DELPHICOMPILERX mappings }
|
---|
| 780 | {------------------------------------------------------------------------------}
|
---|
| 781 |
|
---|
| 782 | {$IFDEF DELPHICOMPILER12} {$DEFINE DELPHICOMPILER12_UP} {$ENDIF}
|
---|
| 783 | {$IFDEF DELPHICOMPILER11} {$DEFINE DELPHICOMPILER11_UP} {$ENDIF}
|
---|
| 784 | {$IFDEF DELPHICOMPILER10} {$DEFINE DELPHICOMPILER10_UP} {$ENDIF}
|
---|
| 785 | {$IFDEF DELPHICOMPILER9} {$DEFINE DELPHICOMPILER9_UP} {$ENDIF}
|
---|
| 786 | {$IFDEF DELPHICOMPILER8} {$DEFINE DELPHICOMPILER8_UP} {$ENDIF}
|
---|
| 787 | {$IFDEF DELPHICOMPILER7} {$DEFINE DELPHICOMPILER7_UP} {$ENDIF}
|
---|
| 788 | {$IFDEF DELPHICOMPILER6} {$DEFINE DELPHICOMPILER6_UP} {$ENDIF}
|
---|
| 789 | {$IFDEF DELPHICOMPILER5} {$DEFINE DELPHICOMPILER5_UP} {$ENDIF}
|
---|
| 790 | {$IFDEF DELPHICOMPILER4} {$DEFINE DELPHICOMPILER4_UP} {$ENDIF}
|
---|
| 791 | {$IFDEF DELPHICOMPILER3} {$DEFINE DELPHICOMPILER3_UP} {$ENDIF}
|
---|
| 792 | {$IFDEF DELPHICOMPILER2} {$DEFINE DELPHICOMPILER2_UP} {$ENDIF}
|
---|
| 793 | {$IFDEF DELPHICOMPILER1} {$DEFINE DELPHICOMPILER1_UP} {$ENDIF}
|
---|
| 794 |
|
---|
| 795 | {------------------------------------------------------------------------------}
|
---|
| 796 | { DELPHICOMPILERX_UP from DELPHICOMPILERX_UP mappings }
|
---|
| 797 | {------------------------------------------------------------------------------}
|
---|
| 798 |
|
---|
| 799 | {$IFDEF DELPHICOMPILER12_UP} {$DEFINE DELPHICOMPILER11_UP} {$ENDIF}
|
---|
| 800 | {$IFDEF DELPHICOMPILER11_UP} {$DEFINE DELPHICOMPILER10_UP} {$ENDIF}
|
---|
| 801 | {$IFDEF DELPHICOMPILER10_UP} {$DEFINE DELPHICOMPILER9_UP} {$ENDIF}
|
---|
| 802 | {$IFDEF DELPHICOMPILER9_UP} {$DEFINE DELPHICOMPILER8_UP} {$ENDIF}
|
---|
| 803 | {$IFDEF DELPHICOMPILER8_UP} {$DEFINE DELPHICOMPILER7_UP} {$ENDIF}
|
---|
| 804 | {$IFDEF DELPHICOMPILER8_UP} {$DEFINE DELPHICOMPILER7_UP} {$ENDIF}
|
---|
| 805 | {$IFDEF DELPHICOMPILER7_UP} {$DEFINE DELPHICOMPILER6_UP} {$ENDIF}
|
---|
| 806 | {$IFDEF DELPHICOMPILER6_UP} {$DEFINE DELPHICOMPILER5_UP} {$ENDIF}
|
---|
| 807 | {$IFDEF DELPHICOMPILER5_UP} {$DEFINE DELPHICOMPILER4_UP} {$ENDIF}
|
---|
| 808 | {$IFDEF DELPHICOMPILER4_UP} {$DEFINE DELPHICOMPILER3_UP} {$ENDIF}
|
---|
| 809 | {$IFDEF DELPHICOMPILER3_UP} {$DEFINE DELPHICOMPILER2_UP} {$ENDIF}
|
---|
| 810 | {$IFDEF DELPHICOMPILER2_UP} {$DEFINE DELPHICOMPILER1_UP} {$ENDIF}
|
---|
| 811 |
|
---|
| 812 | {------------------------------------------------------------------------------}
|
---|
| 813 | { COMPILERX_UP from COMPILERX mappings }
|
---|
| 814 | {------------------------------------------------------------------------------}
|
---|
| 815 |
|
---|
| 816 | {$IFDEF COMPILER12} {$DEFINE COMPILER12_UP} {$ENDIF}
|
---|
| 817 | {$IFDEF COMPILER11} {$DEFINE COMPILER11_UP} {$ENDIF}
|
---|
| 818 | {$IFDEF COMPILER10} {$DEFINE COMPILER10_UP} {$ENDIF}
|
---|
| 819 | {$IFDEF COMPILER9} {$DEFINE COMPILER9_UP} {$ENDIF}
|
---|
| 820 | {$IFDEF COMPILER8} {$DEFINE COMPILER8_UP} {$ENDIF}
|
---|
| 821 | {$IFDEF COMPILER7} {$DEFINE COMPILER7_UP} {$ENDIF}
|
---|
| 822 | {$IFDEF COMPILER6} {$DEFINE COMPILER6_UP} {$ENDIF}
|
---|
| 823 | {$IFDEF COMPILER5} {$DEFINE COMPILER5_UP} {$ENDIF}
|
---|
| 824 | {$IFDEF COMPILER4} {$DEFINE COMPILER4_UP} {$ENDIF}
|
---|
| 825 | {$IFDEF COMPILER35} {$DEFINE COMPILER35_UP} {$ENDIF}
|
---|
| 826 | {$IFDEF COMPILER3} {$DEFINE COMPILER3_UP} {$ENDIF}
|
---|
| 827 | {$IFDEF COMPILER2} {$DEFINE COMPILER2_UP} {$ENDIF}
|
---|
| 828 | {$IFDEF COMPILER1} {$DEFINE COMPILER1_UP} {$ENDIF}
|
---|
| 829 |
|
---|
| 830 | {------------------------------------------------------------------------------}
|
---|
| 831 | { COMPILERX_UP from COMPILERX_UP mappings }
|
---|
| 832 | {------------------------------------------------------------------------------}
|
---|
| 833 |
|
---|
| 834 | {$IFDEF COMPILER12_UP} {$DEFINE COMPILER11_UP} {$ENDIF}
|
---|
| 835 | {$IFDEF COMPILER11_UP} {$DEFINE COMPILER10_UP} {$ENDIF}
|
---|
| 836 | {$IFDEF COMPILER10_UP} {$DEFINE COMPILER9_UP} {$ENDIF}
|
---|
| 837 | {$IFDEF COMPILER9_UP} {$DEFINE COMPILER8_UP} {$ENDIF}
|
---|
| 838 | {$IFDEF COMPILER8_UP} {$DEFINE COMPILER7_UP} {$ENDIF}
|
---|
| 839 | {$IFDEF COMPILER7_UP} {$DEFINE COMPILER6_UP} {$ENDIF}
|
---|
| 840 | {$IFDEF COMPILER6_UP} {$DEFINE COMPILER5_UP} {$ENDIF}
|
---|
| 841 | {$IFDEF COMPILER5_UP} {$DEFINE COMPILER4_UP} {$ENDIF}
|
---|
| 842 | {$IFDEF COMPILER4_UP} {$DEFINE COMPILER35_UP} {$ENDIF}
|
---|
| 843 | {$IFDEF COMPILER35_UP} {$DEFINE COMPILER3_UP} {$ENDIF}
|
---|
| 844 | {$IFDEF COMPILER3_UP} {$DEFINE COMPILER2_UP} {$ENDIF}
|
---|
| 845 | {$IFDEF COMPILER2_UP} {$DEFINE COMPILER1_UP} {$ENDIF}
|
---|
| 846 |
|
---|
| 847 | {------------------------------------------------------------------------------}
|
---|
| 848 | { RTLX_UP from RTLX_UP mappings }
|
---|
| 849 | {------------------------------------------------------------------------------}
|
---|
| 850 |
|
---|
| 851 | {$IFDEF RTL200_UP} {$DEFINE RTL190_UP} {$ENDIF}
|
---|
| 852 | {$IFDEF RTL190_UP} {$DEFINE RTL185_UP} {$ENDIF}
|
---|
| 853 | {$IFDEF RTL185_UP} {$DEFINE RTL180_UP} {$ENDIF}
|
---|
| 854 | {$IFDEF RTL180_UP} {$DEFINE RTL170_UP} {$ENDIF}
|
---|
| 855 | {$IFDEF RTL170_UP} {$DEFINE RTL160_UP} {$ENDIF}
|
---|
| 856 | {$IFDEF RTL160_UP} {$DEFINE RTL150_UP} {$ENDIF}
|
---|
| 857 | {$IFDEF RTL150_UP} {$DEFINE RTL145_UP} {$ENDIF}
|
---|
| 858 | {$IFDEF RTL145_UP} {$DEFINE RTL142_UP} {$ENDIF}
|
---|
| 859 | {$IFDEF RTL142_UP} {$DEFINE RTL140_UP} {$ENDIF}
|
---|
| 860 | {$IFDEF RTL140_UP} {$DEFINE RTL130_UP} {$ENDIF}
|
---|
| 861 | {$IFDEF RTL130_UP} {$DEFINE RTL125_UP} {$ENDIF}
|
---|
| 862 | {$IFDEF RTL125_UP} {$DEFINE RTL120_UP} {$ENDIF}
|
---|
| 863 | {$IFDEF RTL120_UP} {$DEFINE RTL110_UP} {$ENDIF}
|
---|
| 864 | {$IFDEF RTL110_UP} {$DEFINE RTL100_UP} {$ENDIF}
|
---|
| 865 | {$IFDEF RTL100_UP} {$DEFINE RTL93_UP} {$ENDIF}
|
---|
| 866 | {$IFDEF RTL93_UP} {$DEFINE RTL90_UP} {$ENDIF}
|
---|
| 867 | {$IFDEF RTL90_UP} {$DEFINE RTL80_UP} {$ENDIF}
|
---|
| 868 |
|
---|
| 869 | {------------------------------------------------------------------------------}
|
---|
| 870 | { Check for CLR overrides of default detection }
|
---|
| 871 | {------------------------------------------------------------------------------}
|
---|
| 872 |
|
---|
| 873 | {$IFDEF CLR}
|
---|
| 874 | {$IFDEF FORCE_CLR10}
|
---|
| 875 | {$DEFINE CLR10}
|
---|
| 876 | {$UNDEF CLR11}
|
---|
| 877 | {$UNDEF CLR20}
|
---|
| 878 | {$ENDIF FORCE_CLR10}
|
---|
| 879 |
|
---|
| 880 | {$IFDEF FORCE_CLR11}
|
---|
| 881 | {$UNDEF CLR10}
|
---|
| 882 | {$DEFINE CLR11}
|
---|
| 883 | {$UNDEF CLR20}
|
---|
| 884 | {$ENDIF FORCE_CLR11}
|
---|
| 885 |
|
---|
| 886 | {$IFDEF FORCE_CLR20}
|
---|
| 887 | {$UNDEF CLR10}
|
---|
| 888 | {$UNDEF CLR11}
|
---|
| 889 | {$DEFINE CLR20}
|
---|
| 890 | {$ENDIF FORCE_CLR20}
|
---|
| 891 | {$ENDIF CLR}
|
---|
| 892 |
|
---|
| 893 | {------------------------------------------------------------------------------}
|
---|
| 894 | { CLRX from CLRX_UP mappings }
|
---|
| 895 | {------------------------------------------------------------------------------}
|
---|
| 896 |
|
---|
| 897 | {$IFDEF CLR10} {$DEFINE CLR10_UP} {$ENDIF}
|
---|
| 898 | {$IFDEF CLR11} {$DEFINE CLR11_UP} {$ENDIF}
|
---|
| 899 | {$IFDEF CLR20} {$DEFINE CLR20_UP} {$ENDIF}
|
---|
| 900 |
|
---|
| 901 | {------------------------------------------------------------------------------}
|
---|
| 902 | { CLRX_UP from CLRX_UP mappings }
|
---|
| 903 | {------------------------------------------------------------------------------}
|
---|
| 904 |
|
---|
| 905 | {$IFDEF CLR20_UP} {$DEFINE CLR11_UP} {$ENDIF}
|
---|
| 906 | {$IFDEF CLR11_UP} {$DEFINE CLR10_UP} {$ENDIF}
|
---|
| 907 |
|
---|
| 908 | {------------------------------------------------------------------------------}
|
---|
| 909 |
|
---|
| 910 | {$IFDEF DELPHICOMPILER}
|
---|
| 911 | {$DEFINE DELPHILANGUAGE}
|
---|
| 912 | {$ENDIF}
|
---|
| 913 |
|
---|
| 914 | {$IFDEF BCBCOMPILER}
|
---|
| 915 | {$DEFINE DELPHILANGUAGE}
|
---|
| 916 | {$ENDIF}
|
---|
| 917 |
|
---|
| 918 | {------------------------------------------------------------------------------}
|
---|
| 919 | { KYLIXX_UP from KYLIXX mappings }
|
---|
| 920 | {------------------------------------------------------------------------------}
|
---|
| 921 |
|
---|
| 922 | {$IFDEF KYLIX3} {$DEFINE KYLIX3_UP} {$ENDIF}
|
---|
| 923 | {$IFDEF KYLIX2} {$DEFINE KYLIX2_UP} {$ENDIF}
|
---|
| 924 | {$IFDEF KYLIX1} {$DEFINE KYLIX1_UP} {$ENDIF}
|
---|
| 925 |
|
---|
| 926 | {------------------------------------------------------------------------------}
|
---|
| 927 | { KYLIXX_UP from KYLIXX_UP mappings }
|
---|
| 928 | {------------------------------------------------------------------------------}
|
---|
| 929 |
|
---|
| 930 | {$IFDEF KYLIX3_UP} {$DEFINE KYLIX2_UP} {$ENDIF}
|
---|
| 931 | {$IFDEF KYLIX2_UP} {$DEFINE KYLIX1_UP} {$ENDIF}
|
---|
| 932 |
|
---|
| 933 | {------------------------------------------------------------------------------}
|
---|
| 934 | { Map COMPILERX_UP to friendly feature names }
|
---|
| 935 | {------------------------------------------------------------------------------}
|
---|
| 936 |
|
---|
| 937 | {$IFDEF FPC}
|
---|
| 938 | {$IFDEF VER1_0}
|
---|
| 939 | Please use FPC 2.0 or higher to compile this.
|
---|
| 940 | {$ELSE}
|
---|
| 941 | {$DEFINE SUPPORTS_OUTPARAMS}
|
---|
| 942 | {$DEFINE SUPPORTS_WIDECHAR}
|
---|
| 943 | {$DEFINE SUPPORTS_WIDESTRING}
|
---|
| 944 | {$IFDEF HASINTF}
|
---|
| 945 | {$DEFINE SUPPORTS_INTERFACE}
|
---|
| 946 | {$ENDIF}
|
---|
| 947 | {$IFDEF HASVARIANT}
|
---|
| 948 | {$DEFINE SUPPORTS_VARIANT}
|
---|
| 949 | {$ENDIF}
|
---|
| 950 | {$IFDEF FPC_HAS_TYPE_SINGLE}
|
---|
| 951 | {$DEFINE SUPPORTS_SINGLE}
|
---|
| 952 | {$ENDIF}
|
---|
| 953 | {$IFDEF FPC_HAS_TYPE_DOUBLE}
|
---|
| 954 | {$DEFINE SUPPORTS_DOUBLE}
|
---|
| 955 | {$ENDIF}
|
---|
| 956 | {$IFDEF FPC_HAS_TYPE_EXTENDED}
|
---|
| 957 | {$DEFINE SUPPORTS_EXTENDED}
|
---|
| 958 | {$ENDIF}
|
---|
| 959 | {$IFDEF HASCURRENCY}
|
---|
| 960 | {$DEFINE SUPPORTS_CURRENCY}
|
---|
| 961 | {$ENDIF}
|
---|
| 962 | {$DEFINE SUPPORTS_THREADVAR}
|
---|
| 963 | {$DEFINE SUPPORTS_CONSTPARAMS}
|
---|
| 964 | {$DEFINE SUPPORTS_LONGWORD}
|
---|
| 965 | {$DEFINE SUPPORTS_INT64}
|
---|
| 966 | {$DEFINE SUPPORTS_DYNAMICARRAYS}
|
---|
| 967 | {$DEFINE SUPPORTS_DEFAULTPARAMS}
|
---|
| 968 | {$DEFINE SUPPORTS_OVERLOAD}
|
---|
| 969 | {$DEFINE ACCEPT_DEPRECATED} // 2.2 also gives warnings
|
---|
| 970 | {$DEFINE ACCEPT_PLATFORM} // 2.2 also gives warnings
|
---|
| 971 | {$DEFINE ACCEPT_LIBRARY}
|
---|
| 972 | {$DEFINE SUPPORTS_EXTSYM}
|
---|
| 973 | {$DEFINE SUPPORTS_NODEFINE}
|
---|
| 974 |
|
---|
| 975 | {$DEFINE SUPPORTS_CUSTOMVARIANTS}
|
---|
| 976 | {$DEFINE SUPPORTS_VARARGS}
|
---|
| 977 | {$DEFINE SUPPORTS_ENUMVALUE}
|
---|
| 978 | {$IFDEF LINUX}
|
---|
| 979 | {$DEFINE HAS_UNIT_LIBC}
|
---|
| 980 | {$ENDIF LINUX}
|
---|
| 981 | {$DEFINE HAS_UNIT_CONTNRS}
|
---|
| 982 | {$DEFINE HAS_UNIT_TYPES}
|
---|
| 983 | {$DEFINE HAS_UNIT_VARIANTS}
|
---|
| 984 | {$DEFINE HAS_UNIT_STRUTILS}
|
---|
| 985 | {$DEFINE HAS_UNIT_DATEUTILS}
|
---|
| 986 | {$DEFINE HAS_UNIT_RTLCONSTS}
|
---|
| 987 |
|
---|
| 988 | {$DEFINE XPLATFORM_RTL}
|
---|
| 989 |
|
---|
| 990 | {$IFDEF VER2_2}
|
---|
| 991 | {$DEFINE SUPPORTS_DISPINTERFACE}
|
---|
| 992 | {$DEFINE SUPPORTS_IMPLEMENTS}
|
---|
| 993 | {$DEFINE SUPPORTS_DISPID}
|
---|
| 994 | {$ELSE}
|
---|
| 995 | {$UNDEF SUPPORTS_DISPINTERFACE}
|
---|
| 996 | {$UNDEF SUPPORTS_IMPLEMENTS}
|
---|
| 997 | {$endif}
|
---|
| 998 | {$UNDEF SUPPORTS_UNSAFE_WARNINGS}
|
---|
| 999 | {$ENDIF}
|
---|
| 1000 | {$ENDIF FPC}
|
---|
| 1001 |
|
---|
| 1002 | {$IFDEF CLR}
|
---|
| 1003 | {$DEFINE SUPPORTS_UNICODE}
|
---|
| 1004 | {$ENDIF CLR}
|
---|
| 1005 |
|
---|
| 1006 | {$IFDEF COMPILER1_UP}
|
---|
| 1007 | {$DEFINE SUPPORTS_CONSTPARAMS}
|
---|
| 1008 | {$DEFINE SUPPORTS_SINGLE}
|
---|
| 1009 | {$DEFINE SUPPORTS_DOUBLE}
|
---|
| 1010 | {$DEFINE SUPPORTS_EXTENDED}
|
---|
| 1011 | {$DEFINE SUPPORTS_PACKAGES}
|
---|
| 1012 | {$ENDIF COMPILER1_UP}
|
---|
| 1013 |
|
---|
| 1014 | {$IFDEF COMPILER2_UP}
|
---|
| 1015 | {$DEFINE SUPPORTS_CURRENCY}
|
---|
| 1016 | {$DEFINE SUPPORTS_THREADVAR}
|
---|
| 1017 | {$DEFINE SUPPORTS_VARIANT}
|
---|
| 1018 | {$DEFINE SUPPORTS_WIDECHAR}
|
---|
| 1019 | {$ENDIF COMPILER2_UP}
|
---|
| 1020 |
|
---|
| 1021 | {$IFDEF COMPILER3_UP}
|
---|
| 1022 | {$DEFINE SUPPORTS_OUTPARAMS}
|
---|
| 1023 | {$DEFINE SUPPORTS_WIDESTRING}
|
---|
| 1024 | {$DEFINE SUPPORTS_INTERFACE}
|
---|
| 1025 | {$DEFINE SUPPORTS_DISPINTERFACE}
|
---|
| 1026 | {$DEFINE SUPPORTS_DISPID}
|
---|
| 1027 | {$DEFINE SUPPORTS_WEAKPACKAGEUNIT}
|
---|
| 1028 | {$ENDIF COMPILER3_UP}
|
---|
| 1029 |
|
---|
| 1030 | {$IFDEF COMPILER35_UP}
|
---|
| 1031 | {$DEFINE SUPPORTS_EXTSYM}
|
---|
| 1032 | {$DEFINE SUPPORTS_NODEFINE}
|
---|
| 1033 | {$ENDIF COMPILER35_UP}
|
---|
| 1034 |
|
---|
| 1035 | {$IFDEF COMPILER4_UP}
|
---|
| 1036 | {$DEFINE SUPPORTS_LONGWORD}
|
---|
| 1037 | {$DEFINE SUPPORTS_INT64}
|
---|
| 1038 | {$DEFINE SUPPORTS_DYNAMICARRAYS}
|
---|
| 1039 | {$DEFINE SUPPORTS_DEFAULTPARAMS}
|
---|
| 1040 | {$DEFINE SUPPORTS_OVERLOAD}
|
---|
| 1041 | {$DEFINE SUPPORTS_IMPLEMENTS}
|
---|
| 1042 | {$ENDIF COMPILER4_UP}
|
---|
| 1043 |
|
---|
| 1044 | {$IFDEF COMPILER6_UP}
|
---|
| 1045 | {$DEFINE SUPPORTS_DEPRECATED}
|
---|
| 1046 | {$DEFINE SUPPORTS_LIBRARY}
|
---|
| 1047 | {$DEFINE SUPPORTS_PLATFORM}
|
---|
| 1048 | {$DEFINE SUPPORTS_LOCAL}
|
---|
| 1049 | {$DEFINE SUPPORTS_SETPEFLAGS}
|
---|
| 1050 | {$DEFINE SUPPORTS_EXPERIMENTAL_WARNINGS}
|
---|
| 1051 | {$DEFINE ACCEPT_DEPRECATED}
|
---|
| 1052 | {$DEFINE ACCEPT_PLATFORM}
|
---|
| 1053 | {$DEFINE ACCEPT_LIBRARY}
|
---|
| 1054 | {$DEFINE SUPPORTS_DEPRECATED_WARNINGS}
|
---|
| 1055 | {$DEFINE SUPPORTS_LIBRARY_WARNINGS}
|
---|
| 1056 | {$DEFINE SUPPORTS_PLATFORM_WARNINGS}
|
---|
| 1057 | {$DEFINE SUPPORTS_CUSTOMVARIANTS}
|
---|
| 1058 | {$DEFINE SUPPORTS_VARARGS}
|
---|
| 1059 | {$DEFINE SUPPORTS_ENUMVALUE}
|
---|
| 1060 | {$DEFINE SUPPORTS_COMPILETIME_MESSAGES}
|
---|
| 1061 | {$ENDIF COMPILER6_UP}
|
---|
| 1062 |
|
---|
| 1063 | {$IFDEF COMPILER7_UP}
|
---|
| 1064 | {$DEFINE SUPPORTS_UNSAFE_WARNINGS}
|
---|
| 1065 | {$ENDIF COMPILER7_UP}
|
---|
| 1066 |
|
---|
| 1067 | {$IFDEF COMPILER9_UP}
|
---|
| 1068 | {$DEFINE SUPPORTS_FOR_IN}
|
---|
| 1069 | {$DEFINE SUPPORTS_INLINE}
|
---|
| 1070 | {$DEFINE SUPPORTS_NESTED_CONSTANTS}
|
---|
| 1071 | {$DEFINE SUPPORTS_NESTED_TYPES}
|
---|
| 1072 | {$DEFINE SUPPORTS_REGION}
|
---|
| 1073 | {$IFDEF CLR}
|
---|
| 1074 | {$DEFINE SUPPORTS_ENHANCED_RECORDS}
|
---|
| 1075 | {$DEFINE SUPPORTS_CLASS_FIELDS}
|
---|
| 1076 | {$DEFINE SUPPORTS_CLASS_HELPERS}
|
---|
| 1077 | {$DEFINE SUPPORTS_CLASS_OPERATORS}
|
---|
| 1078 | {$DEFINE SUPPORTS_STRICT}
|
---|
| 1079 | {$DEFINE SUPPORTS_STATIC}
|
---|
| 1080 | {$DEFINE SUPPORTS_FINAL}
|
---|
| 1081 | {$ENDIF CLR}
|
---|
| 1082 | {$ENDIF COMPILER9_UP}
|
---|
| 1083 |
|
---|
| 1084 | {$IFDEF COMPILER10_UP}
|
---|
| 1085 | {$DEFINE SUPPORTS_ENHANCED_RECORDS}
|
---|
| 1086 | {$DEFINE SUPPORTS_CLASS_FIELDS}
|
---|
| 1087 | {$DEFINE SUPPORTS_CLASS_HELPERS}
|
---|
| 1088 | {$DEFINE SUPPORTS_CLASS_OPERATORS}
|
---|
| 1089 | {$DEFINE SUPPORTS_STRICT}
|
---|
| 1090 | {$DEFINE SUPPORTS_STATIC}
|
---|
| 1091 | {$DEFINE SUPPORTS_FINAL}
|
---|
| 1092 | {$DEFINE SUPPORTS_METHODINFO}
|
---|
| 1093 | {$ENDIF COMPILER10_UP}
|
---|
| 1094 |
|
---|
| 1095 | {$IFDEF COMPILER11_UP}
|
---|
| 1096 | {$IFDEF CLR}
|
---|
| 1097 | {$DEFINE SUPPORTS_GENERICS}
|
---|
| 1098 | {$DEFINE SUPPORTS_DEPRECATED_DETAILS}
|
---|
| 1099 | {$ENDIF CLR}
|
---|
| 1100 | {$ENDIF COMPILER11_UP}
|
---|
| 1101 |
|
---|
| 1102 | {$IFDEF COMPILER12_UP}
|
---|
| 1103 | {$DEFINE SUPPORTS_GENERICS}
|
---|
| 1104 | {$DEFINE SUPPORTS_DEPRECATED_DETAILS}
|
---|
| 1105 | {$IFNDEF CLR}
|
---|
| 1106 | {$DEFINE SUPPORTS_UNICODE}
|
---|
| 1107 | {$DEFINE SUPPORTS_UNICODE_STRING}
|
---|
| 1108 | {$ENDIF CLR}
|
---|
| 1109 | {$ENDIF COMPILER12_UP}
|
---|
| 1110 |
|
---|
| 1111 | {$IFDEF RTL130_UP}
|
---|
| 1112 | {$DEFINE HAS_UNIT_CONTNRS}
|
---|
| 1113 | {$ENDIF RTL130_UP}
|
---|
| 1114 |
|
---|
| 1115 | {$IFDEF RTL140_UP}
|
---|
| 1116 | {$IFDEF LINUX}
|
---|
| 1117 | {$DEFINE HAS_UNIT_LIBC}
|
---|
| 1118 | {$ENDIF LINUX}
|
---|
| 1119 | {$DEFINE HAS_UNIT_RTLCONSTS}
|
---|
| 1120 | {$DEFINE HAS_UNIT_TYPES}
|
---|
| 1121 | {$DEFINE HAS_UNIT_VARIANTS}
|
---|
| 1122 | {$DEFINE HAS_UNIT_STRUTILS}
|
---|
| 1123 | {$DEFINE HAS_UNIT_DATEUTILS}
|
---|
| 1124 | {$DEFINE XPLATFORM_RTL}
|
---|
| 1125 | {$ENDIF RTL140_UP}
|
---|
| 1126 |
|
---|
| 1127 | {$IFDEF RTL170_UP}
|
---|
| 1128 | {$DEFINE HAS_UNIT_HTTPPROD}
|
---|
| 1129 | {$ENDIF RTL170_UP}
|
---|
| 1130 |
|
---|
| 1131 | {$IFDEF RTL200_UP}
|
---|
| 1132 | {$DEFINE HAS_UNIT_ANSISTRINGS}
|
---|
| 1133 | {$DEFINE HAS_UNIT_PNGIMAGE}
|
---|
| 1134 | {$ENDIF RTL200_UP}
|
---|
| 1135 |
|
---|
| 1136 | {------------------------------------------------------------------------------}
|
---|
| 1137 | { Cross-platform related defines }
|
---|
| 1138 | {------------------------------------------------------------------------------}
|
---|
| 1139 |
|
---|
| 1140 | {$IFNDEF CPU386}
|
---|
| 1141 | {$DEFINE PUREPASCAL}
|
---|
| 1142 | {$ENDIF}
|
---|
| 1143 |
|
---|
| 1144 | {$IFDEF WIN32}
|
---|
| 1145 | {$DEFINE MSWINDOWS} // predefined for D6+/BCB6+
|
---|
| 1146 | {$DEFINE Win32API}
|
---|
| 1147 | {$ENDIF}
|
---|
| 1148 |
|
---|
| 1149 | {$IFDEF DELPHILANGUAGE}
|
---|
| 1150 | {$IFDEF LINUX}
|
---|
| 1151 | {$DEFINE UNIX}
|
---|
| 1152 | {$ENDIF}
|
---|
| 1153 |
|
---|
| 1154 | {$IFNDEF CONSOLE}
|
---|
| 1155 | {$IFDEF LINUX}
|
---|
| 1156 | {$DEFINE VisualCLX}
|
---|
| 1157 | {$ENDIF}
|
---|
| 1158 | {$IFNDEF VisualCLX}
|
---|
| 1159 | {$DEFINE VCL}
|
---|
| 1160 | {$ENDIF}
|
---|
| 1161 | {$ENDIF ~CONSOLE}
|
---|
| 1162 | {$ENDIF DELPHILANGUAGE}
|
---|
| 1163 |
|
---|
| 1164 | {------------------------------------------------------------------------------}
|
---|
| 1165 | { Compiler settings }
|
---|
| 1166 | {------------------------------------------------------------------------------}
|
---|
| 1167 |
|
---|
| 1168 | {$IFOPT A+} {$DEFINE ALIGN_ON} {$ENDIF}
|
---|
| 1169 | {$IFOPT B+} {$DEFINE BOOLEVAL_ON} {$ENDIF}
|
---|
| 1170 | {$IFDEF COMPILER2_UP}
|
---|
| 1171 | {$IFOPT C+} {$DEFINE ASSERTIONS_ON} {$ENDIF}
|
---|
| 1172 | {$ENDIF}
|
---|
| 1173 | {$IFOPT D+} {$DEFINE DEBUGINFO_ON} {$ENDIF}
|
---|
| 1174 | {$IFOPT G+} {$DEFINE IMPORTEDDATA_ON} {$ENDIF}
|
---|
| 1175 | {$IFDEF COMPILER2_UP}
|
---|
| 1176 | {$IFOPT H+} {$DEFINE LONGSTRINGS_ON} {$ENDIF}
|
---|
| 1177 | {$ENDIF}
|
---|
| 1178 |
|
---|
| 1179 | // Hints
|
---|
| 1180 | {$IFOPT I+} {$DEFINE IOCHECKS_ON} {$ENDIF}
|
---|
| 1181 | {$IFDEF COMPILER2_UP}
|
---|
| 1182 | {$IFOPT J+} {$DEFINE WRITEABLECONST_ON} {$ENDIF}
|
---|
| 1183 | {$ENDIF}
|
---|
| 1184 | {$IFOPT L+} {$DEFINE LOCALSYMBOLS} {$ENDIF}
|
---|
| 1185 | {$IFOPT M+} {$DEFINE TYPEINFO_ON} {$ENDIF}
|
---|
| 1186 | {$IFOPT O+} {$DEFINE OPTIMIZATION_ON} {$ENDIF}
|
---|
| 1187 | {$IFOPT P+} {$DEFINE OPENSTRINGS_ON} {$ENDIF}
|
---|
| 1188 | {$IFOPT Q+} {$DEFINE OVERFLOWCHECKS_ON} {$ENDIF}
|
---|
| 1189 | {$IFOPT R+} {$DEFINE RANGECHECKS_ON} {$ENDIF}
|
---|
| 1190 |
|
---|
| 1191 | // Real compatibility
|
---|
| 1192 | {$IFOPT T+} {$DEFINE TYPEDADDRESS_ON} {$ENDIF}
|
---|
| 1193 | {$IFOPT U+} {$DEFINE SAFEDIVIDE_ON} {$ENDIF}
|
---|
| 1194 | {$IFOPT V+} {$DEFINE VARSTRINGCHECKS_ON} {$ENDIF}
|
---|
| 1195 | {$IFOPT W+} {$DEFINE STACKFRAMES_ON} {$ENDIF}
|
---|
| 1196 |
|
---|
| 1197 | // Warnings
|
---|
| 1198 | {$IFOPT X+} {$DEFINE EXTENDEDSYNTAX_ON} {$ENDIF}
|
---|
| 1199 |
|
---|
| 1200 | // for Delphi/BCB trial versions remove the point from the line below
|
---|
| 1201 | {.$UNDEF SUPPORTS_WEAKPACKAGEUNIT}
|
---|
| 1202 |
|
---|
| 1203 | {$ENDIF ~JEDI_INC}
|
---|