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}
|
---|