/[projects]/dao/DelphiScanner/Components/tpsystools_4.04/source/StDefine.inc
ViewVC logotype

Annotation of /dao/DelphiScanner/Components/tpsystools_4.04/source/StDefine.inc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2671 - (hide annotations) (download)
Tue Aug 25 18:15:15 2015 UTC (8 years, 10 months ago) by torben
File size: 6353 byte(s)
Added tpsystools component
1 torben 2671 (* ***** BEGIN LICENSE BLOCK *****
2     * Version: MPL 1.1
3     *
4     * The contents of this file are subject to the Mozilla Public License Version
5     * 1.1 (the "License"); you may not use this file except in compliance with
6     * the License. You may obtain a copy of the License at
7     * http://www.mozilla.org/MPL/
8     *
9     * Software distributed under the License is distributed on an "AS IS" basis,
10     * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11     * for the specific language governing rights and limitations under the
12     * License.
13     *
14     * The Original Code is TurboPower SysTools
15     *
16     * The Initial Developer of the Original Code is
17     * TurboPower Software
18     *
19     * Portions created by the Initial Developer are Copyright (C) 1996-2002
20     * the Initial Developer. All Rights Reserved.
21     *
22     * Contributor(s):
23     *
24     * ***** END LICENSE BLOCK ***** *)
25    
26     {*********************************************************}
27     {* SysTools: StDefine.inc 4.03 *}
28     {*********************************************************}
29     {* SysTools: Compiler options/directives include file *}
30     {*********************************************************}
31    
32     { Because StDefine.inc is included in all SysTools units, you can specify }
33     { global compiler options here. STDEFINE is included *before* each units' }
34     { required compiler options, so options specified here might be overridden }
35     { by hardcoded options in the source file. }
36    
37     {$IFNDEF LINUX}
38     {---Global compiler defines for 32-bit OS's---}
39     {$A+} {Word Align Data}
40     {$H+} {Huge string support}
41     {$Q+} {Overflow check}
42     {$R+} {Range check}
43     {$S-} {Stack check}
44     {$T-} {Typed @ check}
45     {$V-} {Var strings}
46     {$B-} {Incomplete boolean evaluation}
47     {$J+} {Writeable Typed Constants}
48     {$ENDIF LINUX}
49    
50     {$DEFINE ThreadSafe}
51     { This define determines whether SysTools operations are safe in a 32-bit }
52     { multi-threaded application. Leaving it undefined will improved performance}
53     { slightly in a single-threaded 32-bit application. }
54    
55     {$DEFINE Median}
56     {.$DEFINE MidPoint}
57     {.$DEFINE Random}
58     { The three partitioning methods used by the merge sort algorithm in STSORT.}
59     { Choose one, and one only. Median is on average fastest, and quite safe. }
60     { Midpoint is the simplest, but may degrade on some data sets. Random is }
61     { the safest, but on average the slowest. Safety in this context means the }
62     { prevention of the underlying quicksort degenerating into a sort of O(N^2) }
63     { The default is Median. }
64    
65     {.$DEFINE SuppressWarnings}
66     { This define enables you to suppress warnings that are generated for code }
67     { in SysTools by Delphi 2/3. The two most common warnings are (a) function }
68     { does not set Result and (b) variable used before being initialized. The }
69     { code however has been tested to be correct but is complex enough to fool }
70     { the compiler. You should leave this define activated. }
71    
72     {.$DEFINE UseMathUnit}
73     { This define is used to decide if the Math unit should be used. }
74     { Define UseMathUnit if the Math unit is available (it isn't with some }
75     { versions of the compilers -- Delphi 1, C++Builder 1, Delphi 2 Standard, }
76     { and a few others - check to be sure). }
77    
78    
79     {===========!! DO NOT ALTER ANYTHING BEYOND THIS POINT !!==================}
80     {===========!! DO NOT ALTER ANYTHING BEYOND THIS POINT !!==================}
81    
82     {$IFDEF VER93}
83     {$DEFINE CBuilder}
84     {$ENDIF}
85     {$IFDEF VER110}
86     {$DEFINE CBuilder}
87     {$ObjExportAll On}
88     {$ENDIF}
89     {$IFDEF VER125}
90     {$DEFINE CBuilder}
91     {$ObjExportAll On}
92     {$ENDIF}
93     {$IFDEF VER130}
94     {$IFDEF BCB}
95     {$DEFINE CBuilder}
96     {$ObjExportAll On}
97     {$ENDIF}
98     {$ENDIF}
99     {$IFDEF VER140}
100     {$IFDEF BCB}
101     {$DEFINE CBuilder}
102     {$ObjExportAll On}
103     {$ENDIF}
104     {$ENDIF}
105    
106     {$IFNDEF LINUX}
107     {$IFNDEF WIN32}
108     {$IFDEF VER80}
109     {$DEFINE WIN16} { Delphi 1.0, 16-Bit Windows }
110     {$ENDIF}
111     {$ENDIF}
112     {$ENDIF}
113    
114     {$IFNDEF VER80} {Delphi 1.0}
115     {$DEFINE VERSION2} {Delphi 2.0 and BCB 1 or higher}
116     {$ENDIF}
117    
118     {$IFDEF VERSION2}
119     {$IFNDEF VER90} {Delphi 2.0}
120     {$IFNDEF VER93} {BCB 1.0}
121     {$DEFINE VERSION3} {Delphi 3.0 or BCB 3.0}
122     {$ENDIF}
123     {$ENDIF}
124     {$ENDIF}
125    
126     {$IFDEF VERSION3}
127     {$IFNDEF VER100} {Delphi 3}
128     {$IFNDEF VER110} {BCB 3}
129     {$DEFINE VERSION4} {Delphi 4.0 or higher}
130     {$ENDIF}
131     {$ENDIF}
132     {$ENDIF}
133    
134     {$IFDEF VERSION4}
135     {$IFNDEF VER120} {Delphi 4}
136     {$IFNDEF VER125} {BCB 4}
137     {$DEFINE VERSION5} {Delphi 5.0 or higher}
138     {$ENDIF}
139     {$ENDIF}
140     {$ENDIF}
141    
142     {$IFDEF VERSION5}
143     {$IFNDEF VER130} { Delphi 5 }
144     {$IFNDEF VER135} { BCB 5 }
145     {$IFNDEF LINUX }
146     {$DEFINE VERSION6} { Delphi 6.0 or higher }
147     {$ENDIF}
148     {$ENDIF}
149     {$ENDIF}
150     {$ENDIF}
151    
152     {$IFDEF VERSION6}
153     {$IFNDEF VER140} { Delphi 6 }
154     {$IFNDEF LINUX }
155     {$DEFINE VERSION7} { Delphi 7.0 or higher }
156     {$ENDIF}
157     {$ENDIF}
158     {$ENDIF}
159    
160     {$IF compilerversion >= 23} { Delphi XE2 }
161     {$DEFINE DELPHIXE2}
162     {$ENDIF}
163    
164     {$IFDEF VERSION4}
165     {$DEFINE HasLongWord} { D4 and above have a true LongWord type }
166     {$DEFINE HasInt64 } { D4 and above have a 64-bit Integer }
167     {$ENDIF}
168     {$IFDEF LINUX}
169     {$DEFINE HasLongWord} { Kylix has a true LongWord type }
170     {$DEFINE HasInt64 } { Kylix has a 64-bit Integer }
171     {$ENDIF}
172    
173     {$IFDEF VERSION3}
174     {$IFNDEF VERSION4}
175     {$DEFINE VERSION3ONLY}
176     {$ENDIF}
177     {$ENDIF}
178    
179    
180     {Set up the string type expected}
181     {$UNDEF HStrings}
182     {$UNDEF WStrings}
183    
184     {$IFOPT H+}
185     {$DEFINE HStrings} {Huge strings under WIN32}
186     {$UNDEF NStrings}
187     {$ELSE}
188     {$DEFINE WStrings} {255-character strings under WIN32}
189     {$UNDEF NStrings}
190     {$ENDIF}
191    
192     {$IFDEF Median}
193     {$IFDEF MidPoint}
194     !! ERROR: you must define only one of Median, MidPoint, Random
195     {$ENDIF}
196     {$IFDEF Random}
197     !! ERROR: you must define only one of Median, MidPoint, Random
198     {$ENDIF}
199     {$ENDIF}
200     {$IFDEF MidPoint}
201     {$IFDEF Random}
202     !! ERROR: you must define only one of Median, MidPoint, Random
203     {$ENDIF}
204     {$ENDIF}
205     {$IFNDEF Median}
206     {$IFNDEF MidPoint}
207     {$IFNDEF Random}
208     !! ERROR: you must define at least one of Median, MidPoint, Random
209     {$ENDIF}
210     {$ENDIF}
211     {$ENDIF}
212    

  ViewVC Help
Powered by ViewVC 1.1.20