author | kergoth <kergoth> | 2002-11-01 00:10:42 (UTC) |
---|---|---|
committer | kergoth <kergoth> | 2002-11-01 00:10:42 (UTC) |
commit | 5042e3cf0d3514552769e441f5aad590c8eaf967 (patch) (unidiff) | |
tree | 4a5ea45f3519d981a172ab5275bf38c6fa778dec /qmake/include/qglobal.h | |
parent | 108c1c753e74e989cc13923086996791428c9af4 (diff) | |
download | opie-5042e3cf0d3514552769e441f5aad590c8eaf967.zip opie-5042e3cf0d3514552769e441f5aad590c8eaf967.tar.gz opie-5042e3cf0d3514552769e441f5aad590c8eaf967.tar.bz2 |
Adding qmake in preperation for new build system
-rw-r--r-- | qmake/include/qglobal.h | 1006 |
1 files changed, 1006 insertions, 0 deletions
diff --git a/qmake/include/qglobal.h b/qmake/include/qglobal.h new file mode 100644 index 0000000..13cff64 --- a/dev/null +++ b/qmake/include/qglobal.h | |||
@@ -0,0 +1,1006 @@ | |||
1 | /**************************************************************************** | ||
2 | ** $Id$ | ||
3 | ** | ||
4 | ** Global type declarations and definitions | ||
5 | ** | ||
6 | ** Created : 920529 | ||
7 | ** | ||
8 | ** Copyright (C) 1992-2002 Trolltech AS. All rights reserved. | ||
9 | ** | ||
10 | ** This file is part of the tools module of the Qt GUI Toolkit. | ||
11 | ** | ||
12 | ** This file may be distributed under the terms of the Q Public License | ||
13 | ** as defined by Trolltech AS of Norway and appearing in the file | ||
14 | ** LICENSE.QPL included in the packaging of this file. | ||
15 | ** | ||
16 | ** This file may be distributed and/or modified under the terms of the | ||
17 | ** GNU General Public License version 2 as published by the Free Software | ||
18 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
19 | ** packaging of this file. | ||
20 | ** | ||
21 | ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition | ||
22 | ** licenses may use this file in accordance with the Qt Commercial License | ||
23 | ** Agreement provided with the Software. | ||
24 | ** | ||
25 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | ||
26 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
27 | ** | ||
28 | ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for | ||
29 | ** information about Qt Commercial License Agreements. | ||
30 | ** See http://www.trolltech.com/qpl/ for QPL licensing information. | ||
31 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
32 | ** | ||
33 | ** Contact info@trolltech.com if any conditions of this licensing are | ||
34 | ** not clear to you. | ||
35 | ** | ||
36 | **********************************************************************/ | ||
37 | |||
38 | #ifndef QGLOBAL_H | ||
39 | #define QGLOBAL_H | ||
40 | |||
41 | #define QT_VERSION_STR "3.1.0-b2" | ||
42 | /* | ||
43 | QT_VERSION is (major << 16) + (minor << 8) + patch. | ||
44 | */ | ||
45 | #define QT_VERSION 0x030100 | ||
46 | |||
47 | /* | ||
48 | The operating system, must be one of: (Q_OS_x) | ||
49 | |||
50 | MACX- Mac OS X | ||
51 | MAC9- Mac OS 9 | ||
52 | MSDOS- MS-DOS and Windows | ||
53 | OS2- OS/2 | ||
54 | OS2EMX- XFree86 on OS/2 (not PM) | ||
55 | WIN32- Win32 (Windows 95/98/ME and Windows NT/2000/XP) | ||
56 | CYGWIN- Cygwin | ||
57 | SOLARIS- Sun Solaris | ||
58 | HPUX- HP-UX | ||
59 | ULTRIX- DEC Ultrix | ||
60 | LINUX- Linux | ||
61 | FREEBSD- FreeBSD | ||
62 | NETBSD- NetBSD | ||
63 | OPENBSD- OpenBSD | ||
64 | BSDI- BSD/OS | ||
65 | IRIX- SGI Irix | ||
66 | OSF- HP Tru64 UNIX | ||
67 | SCO- SCO OpenServer 5 | ||
68 | UNIXWARE- UnixWare 7, Open UNIX 8 | ||
69 | AIX- AIX | ||
70 | HURD- GNU Hurd | ||
71 | DGUX- DG/UX | ||
72 | RELIANT- Reliant UNIX | ||
73 | DYNIX- DYNIX/ptx | ||
74 | QNX- QNX | ||
75 | QNX6- QNX RTP 6.1 | ||
76 | LYNX- LynxOS | ||
77 | BSD4- Any BSD 4.4 system | ||
78 | UNIX- Any UNIX BSD/SYSV system | ||
79 | */ | ||
80 | |||
81 | #if defined(__APPLE__) && defined(__GNUC__) | ||
82 | # define Q_OS_MACX | ||
83 | #elif defined(__MACOSX__) | ||
84 | # define Q_OS_MACX | ||
85 | #elif defined(macintosh) | ||
86 | # define Q_OS_MAC9 | ||
87 | #elif defined(__CYGWIN__) | ||
88 | # define Q_OS_CYGWIN | ||
89 | #elif defined(MSDOS) || defined(_MSDOS) | ||
90 | # define Q_OS_MSDOS | ||
91 | #elif defined(__OS2__) | ||
92 | # if defined(__EMX__) | ||
93 | # define Q_OS_OS2EMX | ||
94 | # else | ||
95 | # define Q_OS_OS2 | ||
96 | # endif | ||
97 | #elif !defined(SAG_COM) && (defined(WIN64) || defined(_WIN64) || defined(__WIN64__)) | ||
98 | # define Q_OS_WIN32 | ||
99 | # define Q_OS_WIN64 | ||
100 | #elif !defined(SAG_COM) && (defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)) | ||
101 | # define Q_OS_WIN32 | ||
102 | #elif defined(__MWERKS__) && defined(__INTEL__) | ||
103 | # define Q_OS_WIN32 | ||
104 | #elif defined(__sun) || defined(sun) | ||
105 | # define Q_OS_SOLARIS | ||
106 | #elif defined(hpux) || defined(__hpux) | ||
107 | # define Q_OS_HPUX | ||
108 | #elif defined(__ultrix) || defined(ultrix) | ||
109 | # define Q_OS_ULTRIX | ||
110 | #elif defined(sinix) | ||
111 | # define Q_OS_RELIANT | ||
112 | #elif defined(__linux__) || defined(__linux) | ||
113 | # define Q_OS_LINUX | ||
114 | #elif defined(__FreeBSD__) | ||
115 | # define Q_OS_FREEBSD | ||
116 | # define Q_OS_BSD4 | ||
117 | #elif defined(__NetBSD__) | ||
118 | # define Q_OS_NETBSD | ||
119 | # define Q_OS_BSD4 | ||
120 | #elif defined(__OpenBSD__) | ||
121 | # define Q_OS_OPENBSD | ||
122 | # define Q_OS_BSD4 | ||
123 | #elif defined(__bsdi__) | ||
124 | # define Q_OS_BSDI | ||
125 | # define Q_OS_BSD4 | ||
126 | #elif defined(__sgi) | ||
127 | # define Q_OS_IRIX | ||
128 | #elif defined(__osf__) | ||
129 | # define Q_OS_OSF | ||
130 | #elif defined(_AIX) | ||
131 | # define Q_OS_AIX | ||
132 | #elif defined(__Lynx__) | ||
133 | # define Q_OS_LYNX | ||
134 | #elif defined(__GNU_HURD__) | ||
135 | # define Q_OS_HURD | ||
136 | #elif defined(__DGUX__) | ||
137 | # define Q_OS_DGUX | ||
138 | #elif defined(__QNXNTO__) | ||
139 | # define Q_OS_QNX6 | ||
140 | #elif defined(__QNX__) | ||
141 | # define Q_OS_QNX | ||
142 | #elif defined(_SEQUENT_) | ||
143 | # define Q_OS_DYNIX | ||
144 | #elif defined(_SCO_DS) /* SCO OpenServer 5 */ | ||
145 | # define Q_OS_SCO | ||
146 | #elif defined(__UNIXWARE__) /* UnixWare 7 + GCC, Open UNIX 8 + GCC */ | ||
147 | # define Q_OS_UNIXWARE | ||
148 | # define Q_OS_UNIXWARE7 | ||
149 | #elif defined(__USLC__) /* UnixWare 7 + UDK, Open UNIX 8 + OUDK */ | ||
150 | # define Q_OS_UNIXWARE | ||
151 | # define Q_OS_UNIXWARE7 | ||
152 | #else | ||
153 | # error "Qt has not been ported to this OS - talk to qt-bugs@trolltech.com" | ||
154 | #endif | ||
155 | |||
156 | #if defined(Q_OS_MAC9) || defined(Q_OS_MACX) | ||
157 | # define Q_OS_MAC | ||
158 | #endif | ||
159 | |||
160 | #if defined(Q_OS_MAC9) || defined(Q_OS_MSDOS) || defined(Q_OS_OS2) || defined(Q_OS_WIN32) || defined(Q_OS_WIN64) | ||
161 | # undef Q_OS_UNIX | ||
162 | #elif !defined(Q_OS_UNIX) | ||
163 | # define Q_OS_UNIX | ||
164 | #endif | ||
165 | |||
166 | |||
167 | /* | ||
168 | The compiler, must be one of: (Q_CC_x) | ||
169 | |||
170 | SYM- Symantec C++ for both PC and Macintosh | ||
171 | MPW- MPW C++ | ||
172 | MWERKS- Metrowerks CodeWarrior | ||
173 | MSVC- Microsoft Visual C/C++ | ||
174 | BOR- Borland/Turbo C++ | ||
175 | WAT- Watcom C++ | ||
176 | GNU- GNU C++ | ||
177 | COMEAU- Comeau C++ | ||
178 | EDG- Edison Design Group C++ | ||
179 | OC - CenterLine C++ | ||
180 | SUN- Sun WorkShop, Forte Developer, or Sun ONE Studio C++ | ||
181 | MIPS- MIPSpro C++ | ||
182 | DEC- DEC C++ | ||
183 | HP - HPUX C++ | ||
184 | HPACC- HPUX ANSI C++ | ||
185 | USLC- SCO OUDK, UDK, and UnixWare 2.X C++ | ||
186 | CDS- Reliant C++ | ||
187 | KAI- KAI C++ | ||
188 | INTEL- Intel C++ | ||
189 | HIGHC- MetaWare High C/C++ | ||
190 | PGI- Portland Group C++ | ||
191 | GHS- Green Hills Optimizing C++ Compilers | ||
192 | |||
193 | Should be sorted most to least authoritative. | ||
194 | */ | ||
195 | |||
196 | /* Symantec C++ is now Digital Mars */ | ||
197 | #if defined(__DMC__) || defined(__SC__) | ||
198 | # define Q_CC_SYM | ||
199 | /* "explicit" semantics implemented in 8.1e but keyword recognized since 7.5 */ | ||
200 | # if defined(__SC__) && __SC__ < 0x750 | ||
201 | # define Q_NO_EXPLICIT_KEYWORD | ||
202 | # endif | ||
203 | # define Q_NO_USING_KEYWORD | ||
204 | # if !defined(_CPPUNWIND) | ||
205 | # define Q_NO_EXCEPTIONS | ||
206 | # endif | ||
207 | |||
208 | #elif defined(applec) | ||
209 | # define Q_CC_MPW | ||
210 | # define Q_NO_BOOL_TYPE | ||
211 | # define Q_NO_EXPLICIT_KEYWORD | ||
212 | # define Q_NO_USING_KEYWORD | ||
213 | |||
214 | #elif defined(__MWERKS__) | ||
215 | # define Q_CC_MWERKS | ||
216 | /* "explicit" recognized since 4.0d1 */ | ||
217 | # define QMAC_PASCAL pascal | ||
218 | # define Q_NO_USING_KEYWORD /* ### check "using" status */ | ||
219 | |||
220 | #elif defined(_MSC_VER) | ||
221 | # define Q_CC_MSVC | ||
222 | /* proper support of bool for _MSC_VER >= 1100 */ | ||
223 | # define Q_CANNOT_DELETE_CONSTANT | ||
224 | # define Q_INLINE_TEMPLATES inline | ||
225 | /* Visual C++.Net issues for _MSC_VER >= 1300 */ | ||
226 | # if _MSC_VER >= 1300 | ||
227 | # define Q_CC_MSVC_NET | ||
228 | # define Q_TYPENAME | ||
229 | # endif | ||
230 | # define Q_NO_USING_KEYWORD /* ### check "using" status */ | ||
231 | |||
232 | #elif defined(__BORLANDC__) || defined(__TURBOC__) | ||
233 | # define Q_CC_BOR | ||
234 | # if __BORLANDC__ < 0x502 | ||
235 | # define Q_NO_BOOL_TYPE | ||
236 | # define Q_NO_EXPLICIT_KEYWORD | ||
237 | # endif | ||
238 | # define Q_NO_USING_KEYWORD /* ### check "using" status */ | ||
239 | |||
240 | #elif defined(__WATCOMC__) | ||
241 | # define Q_CC_WAT | ||
242 | # if defined(Q_OS_QNX4) | ||
243 | /* compiler flags */ | ||
244 | # define Q_TYPENAME | ||
245 | # define Q_NO_BOOL_TYPE | ||
246 | # define Q_CANNOT_DELETE_CONSTANT | ||
247 | # define mutable | ||
248 | /* ??? */ | ||
249 | # define Q_BROKEN_TEMPLATE_SPECIALIZATION | ||
250 | /* no template classes in QVariant */ | ||
251 | # define QT_NO_TEMPLATE_VARIANT | ||
252 | /* Wcc does not fill in functions needed by valuelists, maps, and | ||
253 | valuestacks implicitly */ | ||
254 | # define Q_FULL_TEMPLATE_INSTANTIATION | ||
255 | /* can we just compare the structures? */ | ||
256 | # define Q_FULL_TEMPLATE_INSTANTIATION_MEMCMP | ||
257 | /* these are not useful to our customers */ | ||
258 | # define QT_QWS_NO_SHM | ||
259 | # define QT_NO_QWS_MULTIPROCESS | ||
260 | # define QT_NO_SQL | ||
261 | # define QT_NO_QWS_CURSOR | ||
262 | # endif | ||
263 | |||
264 | #elif defined(__GNUC__) | ||
265 | # define Q_CC_GNU | ||
266 | # define Q_C_CALLBACKS | ||
267 | # if __GNUC__ == 2 && __GNUC_MINOR__ <= 7 | ||
268 | # define Q_FULL_TEMPLATE_INSTANTIATION | ||
269 | # endif | ||
270 | /* GCC 2.95 knows "using" but does not support it correctly */ | ||
271 | # if __GNUC__ == 2 && __GNUC_MINOR__ <= 95 | ||
272 | # define Q_NO_USING_KEYWORD | ||
273 | # endif | ||
274 | # if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP) | ||
275 | # define Q_PACKED __attribute__ ((packed)) | ||
276 | # endif | ||
277 | # if !defined(__EXCEPTIONS) | ||
278 | # define Q_NO_EXCEPTIONS | ||
279 | # endif | ||
280 | |||
281 | /* IBM compiler versions are a bit messy. There are actually two products: | ||
282 | the C product, and the C++ product. The C++ compiler is always packaged | ||
283 | with the latest version of the C compiler. Version numbers do not always | ||
284 | match. This little table (I'm not sure it's accurate) should be helpful: | ||
285 | |||
286 | C++ product C product | ||
287 | |||
288 | C Set 3.1 C Compiler 3.0 | ||
289 | ... ... | ||
290 | C++ Compiler 3.6.6 C Compiler 4.3 | ||
291 | ... ... | ||
292 | Visual Age C++ 4.0 ... | ||
293 | ... ... | ||
294 | Visual Age C++ 5.0 C Compiler 5.0 | ||
295 | |||
296 | Now: | ||
297 | __xlC__ is the version of the C compiler in hexadecimal notation | ||
298 | is only an approximation of the C++ compiler version | ||
299 | __IBMCPP__ is the version of the C++ compiler in decimal notation | ||
300 | but it is not defined on older compilers like C Set 3.1 */ | ||
301 | #elif defined(__xlC__) | ||
302 | # define Q_CC_XLC | ||
303 | # define Q_FULL_TEMPLATE_INSTANTIATION | ||
304 | # if __xlC__ < 0x400 | ||
305 | # define Q_NO_BOOL_TYPE | ||
306 | # define Q_NO_EXPLICIT_KEYWORD | ||
307 | # define Q_NO_USING_KEYWORD | ||
308 | # define Q_TYPENAME | ||
309 | # define Q_INLINE_TEMPLATES inline | ||
310 | # define Q_BROKEN_TEMPLATE_SPECIALIZATION | ||
311 | # define Q_CANNOT_DELETE_CONSTANT | ||
312 | # endif | ||
313 | |||
314 | /* Older versions of DEC C++ do not define __EDG__ or __EDG - observed | ||
315 | on DEC C++ V5.5-004. New versions do define __EDG__ - observed on | ||
316 | Compaq C++ V6.3-002. | ||
317 | This compiler is different enough from other EDG compilers to handle | ||
318 | it separately anyway. */ | ||
319 | #elif defined(__DECCXX) | ||
320 | # define Q_CC_DEC | ||
321 | /* Compaq C++ V6 compilers are EDG-based but I'm not sure about older | ||
322 | DEC C++ V5 compilers. */ | ||
323 | # if defined(__EDG__) | ||
324 | # define Q_CC_EDG | ||
325 | # endif | ||
326 | /* Compaq have disabled EDG's _BOOL macro and use _BOOL_EXISTS instead | ||
327 | - observed on Compaq C++ V6.3-002. | ||
328 | In any case versions prior to Compaq C++ V6.0-005 do not have bool. */ | ||
329 | # if !defined(_BOOL_EXISTS) | ||
330 | # define Q_NO_BOOL_TYPE | ||
331 | # endif | ||
332 | /* Spurious (?) error messages observed on Compaq C++ V6.5-014. */ | ||
333 | # define Q_NO_USING_KEYWORD | ||
334 | /* Apply to all versions prior to Compaq C++ V6.0-000 - observed on | ||
335 | DEC C++ V5.5-004. */ | ||
336 | # if __DECCXX_VER < 60060000 | ||
337 | # define Q_TYPENAME | ||
338 | # define Q_BROKEN_TEMPLATE_SPECIALIZATION | ||
339 | # define Q_CANNOT_DELETE_CONSTANT | ||
340 | # endif | ||
341 | /* avoid undefined symbol problems with out-of-line template members */ | ||
342 | # define Q_INLINE_TEMPLATES inline | ||
343 | |||
344 | /* Compilers with EDG front end are similar. To detect them we test: | ||
345 | __EDG documented by SGI, observed on MIPSpro 7.3.1.1 and KAI C++ 4.0b | ||
346 | __EDG__ documented in EDG online docs, observed on Compaq C++ V6.3-002 */ | ||
347 | #elif defined(__EDG) || defined(__EDG__) | ||
348 | # define Q_CC_EDG | ||
349 | /* From the EDG documentation (does not seem to apply to Compaq C++): | ||
350 | _BOOL | ||
351 | Defined in C++ mode when bool is a keyword. The name of this | ||
352 | predefined macro is specified by a configuration flag. _BOOL | ||
353 | is the default. | ||
354 | __BOOL_DEFINED | ||
355 | Defined in Microsoft C++ mode when bool is a keyword. */ | ||
356 | # if !defined(_BOOL) && !defined(__BOOL_DEFINED) | ||
357 | # define Q_NO_BOOL_TYPE | ||
358 | # endif | ||
359 | |||
360 | /* The Portland Group compiler is based on EDG and does define __EDG__ */ | ||
361 | # if defined(__COMO__) | ||
362 | # define Q_CC_COMEAU | ||
363 | # define Q_C_CALLBACKS | ||
364 | |||
365 | /* Using the `using' keyword avoids KAI C++ warnings */ | ||
366 | # elif defined(__KCC) | ||
367 | # define Q_CC_KAI | ||
368 | # if !defined(_EXCEPTIONS) | ||
369 | # define Q_NO_EXCEPTIONS | ||
370 | # endif | ||
371 | |||
372 | /* Using the `using' keyword avoids Intel C++ warnings */ | ||
373 | # elif defined(__INTEL_COMPILER) | ||
374 | # define Q_CC_INTEL | ||
375 | # if !defined(__EXCEPTIONS) | ||
376 | # define Q_NO_EXCEPTIONS | ||
377 | # endif | ||
378 | |||
379 | /* The Portland Group compiler is based on EDG and does define __EDG__ */ | ||
380 | # elif defined(__PGI) | ||
381 | # define Q_CC_PGI | ||
382 | # if !defined(__EXCEPTIONS) | ||
383 | # define Q_NO_EXCEPTIONS | ||
384 | # endif | ||
385 | |||
386 | /* Never tested! */ | ||
387 | # elif defined(__ghs) | ||
388 | # define Q_CC_GHS | ||
389 | |||
390 | /* The UnixWare 7 UDK compiler is based on EDG and does define __EDG__ */ | ||
391 | # elif defined(__USLC__) && defined(__SCO_VERSION__) | ||
392 | # define Q_CC_USLC | ||
393 | # define Q_NO_USING_KEYWORD /* ### check "using" status */ | ||
394 | |||
395 | /* Never tested! */ | ||
396 | # elif defined(CENTERLINE_CLPP) || defined(OBJECTCENTER) | ||
397 | # define Q_CC_OC | ||
398 | # define Q_NO_USING_KEYWORD | ||
399 | |||
400 | /* CDS++ is not documented to define __EDG__ or __EDG in the Reliant | ||
401 | documentation but we suppose it does, in any case it does follow | ||
402 | conventions like _BOOL */ | ||
403 | # elif defined(sinix) | ||
404 | # define Q_CC_CDS | ||
405 | # define Q_NO_USING_KEYWORD | ||
406 | # if defined(__cplusplus) && (__cplusplus < 2) /* Cfront C++ mode */ | ||
407 | # define Q_NO_EXCEPTIONS | ||
408 | # endif | ||
409 | |||
410 | /* The MIPSpro compiler in o32 mode is based on EDG but disables features | ||
411 | such as template specialization nevertheless */ | ||
412 | # elif defined(__sgi) | ||
413 | # define Q_CC_MIPS | ||
414 | # if defined(_MIPS_SIM) && (_MIPS_SIM == _ABIO32) /* o32 ABI */ | ||
415 | # define Q_TYPENAME | ||
416 | # define Q_BROKEN_TEMPLATE_SPECIALIZATION | ||
417 | # define Q_STRICT_INLINING_RULES | ||
418 | # elif defined(_COMPILER_VERSION) && (_COMPILER_VERSION < 730) /* 7.2 */ | ||
419 | # define Q_TYPENAME | ||
420 | # define Q_BROKEN_TEMPLATE_SPECIALIZATION | ||
421 | # endif | ||
422 | # define Q_NO_USING_KEYWORD /* ### check "using" status */ | ||
423 | # endif | ||
424 | |||
425 | /* The older UnixWare 2.X compiler? */ | ||
426 | #elif defined(__USLC__) && !defined(__SCO_VERSION__) | ||
427 | # define Q_CC_USLC | ||
428 | # define Q_NO_BOOL_TYPE | ||
429 | # define Q_NO_EXPLICIT_KEYWORD | ||
430 | # define Q_NO_USING_KEYWORD | ||
431 | |||
432 | /* Never tested! */ | ||
433 | #elif defined(__HIGHC__) | ||
434 | # define Q_CC_HIGHC | ||
435 | |||
436 | #elif defined(__SUNPRO_CC) | ||
437 | # define Q_CC_SUN | ||
438 | /* 5.0 compiler or better | ||
439 | 'bool' is enabled by default but can be disabled using -features=nobool | ||
440 | in which case _BOOL is not defined | ||
441 | this is the default in 4.2 compatibility mode triggered by -compat=4 */ | ||
442 | # if __SUNPRO_CC >= 0x500 | ||
443 | # if !defined(_BOOL) | ||
444 | # define Q_NO_BOOL_TYPE | ||
445 | # endif | ||
446 | # if defined(__SUNPRO_CC_COMPAT) && (__SUNPRO_CC_COMPAT <= 4) | ||
447 | # define Q_NO_USING_KEYWORD | ||
448 | # endif | ||
449 | # define Q_C_CALLBACKS | ||
450 | /* 4.2 compiler or older */ | ||
451 | # else | ||
452 | # define Q_NO_BOOL_TYPE | ||
453 | # define Q_NO_EXPLICIT_KEYWORD | ||
454 | # define Q_NO_USING_KEYWORD | ||
455 | # endif | ||
456 | |||
457 | #elif defined(Q_OS_HPUX) | ||
458 | /* __HP_aCC was not defined in first aCC releases */ | ||
459 | # if defined(__HP_aCC) || __cplusplus >= 199707L | ||
460 | # define Q_CC_HPACC | ||
461 | # else | ||
462 | # define Q_CC_HP | ||
463 | # define Q_NO_BOOL_TYPE | ||
464 | # define Q_FULL_TEMPLATE_INSTANTIATION | ||
465 | # define Q_BROKEN_TEMPLATE_SPECIALIZATION | ||
466 | # define Q_NO_EXPLICIT_KEYWORD | ||
467 | # endif | ||
468 | # define Q_NO_USING_KEYWORD /* ### check "using" status */ | ||
469 | |||
470 | #else | ||
471 | # error "Qt has not been tested with this compiler - talk to qt-bugs@trolltech.com" | ||
472 | #endif | ||
473 | |||
474 | #ifndef Q_PACKED | ||
475 | # define Q_PACKED | ||
476 | #endif | ||
477 | |||
478 | |||
479 | /* | ||
480 | The window system, must be one of: (Q_WS_x) | ||
481 | |||
482 | MACX- Mac OS X | ||
483 | MAC9- Mac OS 9 | ||
484 | QWS- Qt/Embedded | ||
485 | WIN32- Windows | ||
486 | X11- X Window System | ||
487 | PM - unsupported | ||
488 | WIN16- unsupported | ||
489 | */ | ||
490 | |||
491 | #if defined(Q_OS_MAC9) | ||
492 | # define Q_WS_MAC9 | ||
493 | #elif defined(Q_OS_MSDOS) | ||
494 | # define Q_WS_WIN16 | ||
495 | # error "Qt requires Win32 and does not work with Windows 3.x" | ||
496 | #elif defined(_WIN32_X11_) | ||
497 | # define Q_WS_X11 | ||
498 | #elif defined(Q_OS_WIN32) | ||
499 | # define Q_WS_WIN32 | ||
500 | # if defined(Q_OS_WIN64) | ||
501 | # define Q_WS_WIN64 | ||
502 | # endif | ||
503 | #elif defined(Q_OS_OS2) | ||
504 | # define Q_WS_PM | ||
505 | # error "Qt does not work with OS/2 Presentation Manager or Workplace Shell" | ||
506 | #elif defined(Q_OS_UNIX) | ||
507 | # if defined(QWS) | ||
508 | # define Q_WS_QWS | ||
509 | # elif defined(Q_OS_MACX) | ||
510 | # define Q_WS_MACX | ||
511 | # else | ||
512 | # define Q_WS_X11 | ||
513 | # endif | ||
514 | #endif | ||
515 | #if defined(Q_OS_MAC) && !defined(QMAC_PASCAL) | ||
516 | # define QMAC_PASCAL | ||
517 | #endif | ||
518 | |||
519 | #if defined(Q_WS_WIN16) || defined(Q_WS_WIN32) | ||
520 | # define Q_WS_WIN | ||
521 | #endif | ||
522 | |||
523 | #if (defined(Q_WS_MAC9) || defined(Q_WS_MACX)) && !defined(Q_WS_QWS) && !defined(Q_WS_X11) | ||
524 | # define Q_WS_MAC | ||
525 | #endif | ||
526 | |||
527 | |||
528 | /* | ||
529 | Some classes do not permit copies to be made of an object. | ||
530 | These classes contains a private copy constructor and operator= | ||
531 | to disable copying (the compiler gives an error message). | ||
532 | Undefine Q_DISABLE_COPY to turn off this checking. | ||
533 | */ | ||
534 | |||
535 | #define Q_DISABLE_COPY | ||
536 | |||
537 | #if defined(__cplusplus) | ||
538 | |||
539 | |||
540 | // | ||
541 | // Useful type definitions for Qt | ||
542 | // | ||
543 | |||
544 | #if defined(Q_NO_BOOL_TYPE) | ||
545 | #if defined(Q_CC_HP) | ||
546 | // bool is an unsupported reserved keyword in later versions | ||
547 | #define bool int | ||
548 | #else | ||
549 | typedef int bool; | ||
550 | #endif | ||
551 | #endif | ||
552 | |||
553 | typedef unsigned char uchar; | ||
554 | typedef unsigned short ushort; | ||
555 | typedef unsigneduint; | ||
556 | typedef unsigned long ulong; | ||
557 | typedef char *pchar; | ||
558 | typedef uchar *puchar; | ||
559 | typedef const char *pcchar; | ||
560 | |||
561 | |||
562 | // | ||
563 | // Constant bool values | ||
564 | // | ||
565 | |||
566 | #ifndef TRUE | ||
567 | const bool FALSE = 0; | ||
568 | const bool TRUE = !0; | ||
569 | #endif | ||
570 | #if defined(__WATCOMC__) | ||
571 | # if defined(Q_OS_QNX4) | ||
572 | const bool false = FALSE; | ||
573 | const bool true = TRUE; | ||
574 | # endif | ||
575 | #endif | ||
576 | |||
577 | |||
578 | // | ||
579 | // Use the "explicit" keyword on platforms that support it. | ||
580 | // | ||
581 | |||
582 | #if !defined(Q_NO_EXPLICIT_KEYWORD) | ||
583 | # define Q_EXPLICIT explicit | ||
584 | #else | ||
585 | # define Q_EXPLICIT | ||
586 | #endif | ||
587 | |||
588 | |||
589 | // | ||
590 | // Workaround for static const members on MSVC++. | ||
591 | // | ||
592 | |||
593 | #if defined(Q_CC_MSVC) | ||
594 | # define QT_STATIC_CONST static | ||
595 | # define QT_STATIC_CONST_IMPL | ||
596 | #else | ||
597 | # define QT_STATIC_CONST static const | ||
598 | # define QT_STATIC_CONST_IMPL const | ||
599 | #endif | ||
600 | |||
601 | |||
602 | // | ||
603 | // Utility macros and inline functions | ||
604 | // | ||
605 | |||
606 | #define QMAX(a, b)((b) < (a) ? (a) : (b)) | ||
607 | #define QMIN(a, b)((a) < (b) ? (a) : (b)) | ||
608 | #define QABS(a)((a) >= 0 ? (a) : -(a)) | ||
609 | |||
610 | inline int qRound( double d ) | ||
611 | { | ||
612 | return d >= 0.0 ? int(d + 0.5) : int( d - ((int)d-1) + 0.5 ) + ((int)d-1); | ||
613 | } | ||
614 | |||
615 | |||
616 | // | ||
617 | // Size-dependent types (architechture-dependent byte order) | ||
618 | // | ||
619 | |||
620 | #if !defined(QT_CLEAN_NAMESPACE) | ||
621 | // source compatibility with Qt 1.x | ||
622 | typedef signed char INT8; // 8 bit signed | ||
623 | typedef unsigned char UINT8; // 8 bit unsigned | ||
624 | typedef short INT16; // 16 bit signed | ||
625 | typedef unsigned short UINT16; // 16 bit unsigned | ||
626 | typedef int INT32; // 32 bit signed | ||
627 | typedef unsigned int UINT32; // 32 bit unsigned | ||
628 | #endif | ||
629 | |||
630 | typedef signed char Q_INT8; // 8 bit signed | ||
631 | typedef unsigned char Q_UINT8;// 8 bit unsigned | ||
632 | typedef short Q_INT16;// 16 bit signed | ||
633 | typedef unsigned short Q_UINT16;// 16 bit unsigned | ||
634 | typedef int Q_INT32;// 32 bit signed | ||
635 | typedef unsigned int Q_UINT32;// 32 bit unsigned | ||
636 | #if defined(Q_OS_WIN64) | ||
637 | // LLP64 64-bit model on Windows | ||
638 | typedef __int64 Q_LONG; // word up to 64 bit signed | ||
639 | typedef unsigned __int64 Q_ULONG;// word up to 64 bit unsigned | ||
640 | #else | ||
641 | // LP64 64-bit model on Linux | ||
642 | typedef long Q_LONG; | ||
643 | typedef unsigned long Q_ULONG; | ||
644 | #endif | ||
645 | |||
646 | #if !defined(QT_CLEAN_NAMESPACE) | ||
647 | // mininum size of 64 bits is not guaranteed | ||
648 | #define Q_INT64 Q_LONG | ||
649 | #define Q_UINT64 Q_ULONG | ||
650 | #endif | ||
651 | |||
652 | #if defined(Q_OS_MACX) && !defined(QT_LARGEFILE_SUPPORT) | ||
653 | # define QT_LARGEFILE_SUPPORT 64 | ||
654 | #endif | ||
655 | #if defined(QT_LARGEFILE_SUPPORT) | ||
656 | typedef unsigned long long QtOffset; | ||
657 | #else | ||
658 | typedef Q_ULONG QtOffset; | ||
659 | #endif | ||
660 | |||
661 | |||
662 | // | ||
663 | // Data stream functions is provided by many classes (defined in qdatastream.h) | ||
664 | // | ||
665 | |||
666 | class QDataStream; | ||
667 | |||
668 | |||
669 | // | ||
670 | // Feature subsetting | ||
671 | // | ||
672 | // Note that disabling some features will produce a libqt that is not | ||
673 | // compatible with other libqt builds. Such modifications are only | ||
674 | // supported on Qt/Embedded where reducing the library size is important | ||
675 | // and where the application-suite is often a fixed set. | ||
676 | // | ||
677 | |||
678 | #if !defined(QT_MOC) | ||
679 | #if defined(QCONFIG_LOCAL) | ||
680 | #include <qconfig-local.h> | ||
681 | #elif defined(QCONFIG_MINIMAL) | ||
682 | #include <qconfig-minimal.h> | ||
683 | #elif defined(QCONFIG_SMALL) | ||
684 | #include <qconfig-small.h> | ||
685 | #elif defined(QCONFIG_MEDIUM) | ||
686 | #include <qconfig-medium.h> | ||
687 | #elif defined(QCONFIG_LARGE) | ||
688 | #include <qconfig-large.h> | ||
689 | #else // everything... | ||
690 | #include <qconfig.h> | ||
691 | #endif | ||
692 | #endif | ||
693 | |||
694 | |||
695 | #ifndef QT_BUILD_KEY | ||
696 | #define QT_BUILD_KEY "unspecified" | ||
697 | #endif | ||
698 | |||
699 | // prune to local config | ||
700 | #include "qmodules.h" | ||
701 | #ifndef QT_MODULE_ICONVIEW | ||
702 | # define QT_NO_ICONVIEW | ||
703 | #endif | ||
704 | #ifndef QT_MODULE_WORKSPACE | ||
705 | # define QT_NO_WORKSPACE | ||
706 | #endif | ||
707 | #ifndef QT_MODULE_NETWORK | ||
708 | #define QT_NO_NETWORK | ||
709 | #endif | ||
710 | #ifndef QT_MODULE_CANVAS | ||
711 | # define QT_NO_CANVAS | ||
712 | #endif | ||
713 | #ifndef QT_MODULE_TABLE | ||
714 | #define QT_NO_TABLE | ||
715 | #endif | ||
716 | #ifndef QT_MODULE_XML | ||
717 | # define QT_NO_XML | ||
718 | #endif | ||
719 | #ifndef QT_MODULE_OPENGL | ||
720 | # define QT_NO_OPENGL | ||
721 | #endif | ||
722 | #if !defined(QT_MODULE_SQL) | ||
723 | # define QT_NO_SQL | ||
724 | #endif | ||
725 | |||
726 | #if defined(Q_WS_MAC9) | ||
727 | //No need for menu merging | ||
728 | # ifndef QMAC_QMENUBAR_NO_MERGE | ||
729 | # define QMAC_QMENUBAR_NO_MERGE | ||
730 | # endif | ||
731 | //Mac9 does not use quartz | ||
732 | # ifndef QMAC_NO_QUARTZ | ||
733 | # define QMAC_NO_QUARTZ | ||
734 | # endif | ||
735 | # ifndef QMAC_QMENUBAR_NO_EVENT | ||
736 | # define QMAC_QMENUBAR_NO_EVENT | ||
737 | # endif | ||
738 | #endif | ||
739 | #if defined(Q_WS_MACX) //for no nobody uses quartz, just putting in first level hooks | ||
740 | # ifndef QMAC_NO_QUARTZ | ||
741 | # define QMAC_NO_QUARTZ | ||
742 | # endif | ||
743 | # ifndef QMAC_QMENUBAR_NO_EVENT | ||
744 | # define QMAC_QMENUBAR_NO_EVENT | ||
745 | # endif | ||
746 | #endif | ||
747 | |||
748 | #ifndef QT_H | ||
749 | #include <qfeatures.h> | ||
750 | #endif // QT_H | ||
751 | |||
752 | |||
753 | // | ||
754 | // Create Qt DLL if QT_DLL is defined (Windows only) | ||
755 | // | ||
756 | |||
757 | #if defined(Q_OS_WIN32) || defined(Q_OS_WIN64) | ||
758 | # if defined(QT_NODLL) | ||
759 | # undef QT_MAKEDLL | ||
760 | # undef QT_DLL | ||
761 | # elif defined(QT_MAKEDLL)/* create a Qt DLL library */ | ||
762 | # if defined(QT_DLL) | ||
763 | # undef QT_DLL | ||
764 | # endif | ||
765 | # define Q_EXPORT __declspec(dllexport) | ||
766 | # define Q_TEMPLATEDLL | ||
767 | # define Q_TEMPLATE_EXTERN | ||
768 | # undef Q_DISABLE_COPY/* avoid unresolved externals */ | ||
769 | # elif defined(QT_DLL) /* use a Qt DLL library */ | ||
770 | # define Q_EXPORT __declspec(dllimport) | ||
771 | # define Q_TEMPLATEDLL | ||
772 | # ifndef Q_TEMPLATE_EXTERN | ||
773 | # if defined(Q_CC_MSVC) | ||
774 | # define Q_TEMPLATE_EXTERN /*extern*/ //### too many warnings, even though disabled | ||
775 | # else | ||
776 | # define Q_TEMPLATE_EXTERN | ||
777 | # endif | ||
778 | # endif | ||
779 | # undef Q_DISABLE_COPY /* avoid unresolved externals */ | ||
780 | # endif | ||
781 | #else | ||
782 | # undef QT_MAKEDLL /* ignore these for other platforms */ | ||
783 | # undef QT_DLL | ||
784 | #endif | ||
785 | |||
786 | #ifndef Q_EXPORT | ||
787 | # define Q_EXPORT | ||
788 | #endif | ||
789 | |||
790 | |||
791 | // | ||
792 | // Some platform specific stuff | ||
793 | // | ||
794 | |||
795 | #if defined(Q_WS_WIN) | ||
796 | extern Q_EXPORT bool qt_winunicode; | ||
797 | #endif | ||
798 | |||
799 | |||
800 | // | ||
801 | // System information | ||
802 | // | ||
803 | |||
804 | Q_EXPORT const char *qVersion(); | ||
805 | Q_EXPORT bool qSysInfo( int *wordSize, bool *bigEndian ); | ||
806 | #if defined(Q_WS_WIN) | ||
807 | Q_EXPORT int qWinVersion(); | ||
808 | #if defined(UNICODE) | ||
809 | #define QT_WA( uni, ansi ) if ( qt_winunicode ) { uni } else { ansi } | ||
810 | #define QT_WA_INLINE( uni, ansi ) ( qt_winunicode ? uni : ansi ) | ||
811 | #else | ||
812 | #define QT_WA( uni, ansi ) ansi | ||
813 | #define QT_WA_INLINE( uni, ansi ) ansi | ||
814 | #endif | ||
815 | #endif | ||
816 | |||
817 | #ifdef Q_OS_TEMP | ||
818 | #ifdef QT_WA | ||
819 | #undef QT_WA | ||
820 | #undef QT_WA_INLINE | ||
821 | #endif | ||
822 | #define QT_WA( uni, ansi ) uni | ||
823 | #define QT_WA_INLINE( uni, ansi ) ( uni ) | ||
824 | #endif | ||
825 | |||
826 | #ifndef Q_INLINE_TEMPLATES | ||
827 | # define Q_INLINE_TEMPLATES | ||
828 | #endif | ||
829 | |||
830 | #ifndef Q_TYPENAME | ||
831 | # define Q_TYPENAME typename | ||
832 | #endif | ||
833 | |||
834 | // | ||
835 | // Use to avoid "unused parameter" warnings | ||
836 | // | ||
837 | |||
838 | #define Q_UNUSED(x) (void)x; | ||
839 | |||
840 | // | ||
841 | // Debugging and error handling | ||
842 | // | ||
843 | |||
844 | #if !defined(QT_NO_CHECK) | ||
845 | # define QT_CHECK_STATE // check state of objects etc. | ||
846 | # define QT_CHECK_RANGE // check range of indexes etc. | ||
847 | # define QT_CHECK_NULL // check null pointers | ||
848 | # define QT_CHECK_MATH // check math functions | ||
849 | #endif | ||
850 | |||
851 | #if !defined(QT_NO_DEBUG) && !defined(QT_DEBUG) | ||
852 | # define QT_DEBUG // display debug messages | ||
853 | # if !defined(QT_NO_COMPAT) // compatibility with Qt 2 | ||
854 | # if !defined(NO_DEBUG) && !defined(DEBUG) | ||
855 | # if !defined(Q_OS_MACX) // clash with MacOS X headers | ||
856 | # define DEBUG | ||
857 | # endif | ||
858 | # endif | ||
859 | # endif | ||
860 | #endif | ||
861 | |||
862 | |||
863 | Q_EXPORT void qDebug( const char *, ... )// print debug message | ||
864 | #if defined(Q_CC_GNU) && !defined(__INSURE__) | ||
865 | __attribute__ ((format (printf, 1, 2))) | ||
866 | #endif | ||
867 | ; | ||
868 | |||
869 | Q_EXPORT void qWarning( const char *, ... )// print warning message | ||
870 | #if defined(Q_CC_GNU) && !defined(__INSURE__) | ||
871 | __attribute__ ((format (printf, 1, 2))) | ||
872 | #endif | ||
873 | ; | ||
874 | |||
875 | Q_EXPORT void qFatal( const char *, ... )// print fatal message and exit | ||
876 | #if defined(Q_CC_GNU) | ||
877 | __attribute__ ((format (printf, 1, 2))) | ||
878 | #endif | ||
879 | ; | ||
880 | |||
881 | Q_EXPORT void qSystemWarning( const char *, int code = -1 ); | ||
882 | |||
883 | #if !defined(QT_CLEAN_NAMESPACE) // compatibility with Qt 1 | ||
884 | |||
885 | Q_EXPORT void debug( const char *, ... )// print debug message | ||
886 | #if defined(Q_CC_GNU) && !defined(__INSURE__) | ||
887 | __attribute__ ((format (printf, 1, 2))) | ||
888 | #endif | ||
889 | ; | ||
890 | |||
891 | Q_EXPORT void warning( const char *, ... )// print warning message | ||
892 | #if defined(Q_CC_GNU) && !defined(__INSURE__) | ||
893 | __attribute__ ((format (printf, 1, 2))) | ||
894 | #endif | ||
895 | ; | ||
896 | |||
897 | Q_EXPORT void fatal( const char *, ... )// print fatal message and exit | ||
898 | #if defined(Q_CC_GNU) && !defined(__INSURE__) | ||
899 | __attribute__ ((format (printf, 1, 2))) | ||
900 | #endif | ||
901 | ; | ||
902 | |||
903 | #endif // QT_CLEAN_NAMESPACE | ||
904 | |||
905 | |||
906 | #if !defined(Q_ASSERT) | ||
907 | # if defined(QT_CHECK_STATE) | ||
908 | # if defined(QT_FATAL_ASSERT) | ||
909 | # define Q_ASSERT(x) ((x) ? (void)0 : qFatal("ASSERT: \"%s\" in %s (%d)",#x,__FILE__,__LINE__)) | ||
910 | # else | ||
911 | # define Q_ASSERT(x) ((x) ? (void)0 : qWarning("ASSERT: \"%s\" in %s (%d)",#x,__FILE__,__LINE__)) | ||
912 | # endif | ||
913 | # else | ||
914 | # define Q_ASSERT(x) | ||
915 | # endif | ||
916 | #endif | ||
917 | |||
918 | #if !defined(QT_NO_COMPAT) // compatibility with Qt 2 | ||
919 | # if !defined(ASSERT) | ||
920 | # if !defined(Q_OS_TEMP) | ||
921 | # define ASSERT(x) Q_ASSERT(x) | ||
922 | # endif | ||
923 | # endif | ||
924 | #endif // QT_NO_COMPAT | ||
925 | |||
926 | |||
927 | Q_EXPORT bool qt_check_pointer( bool c, const char *, int ); | ||
928 | |||
929 | #if defined(QT_CHECK_NULL) | ||
930 | # define Q_CHECK_PTR(p) (qt_check_pointer((p)==0,__FILE__,__LINE__)) | ||
931 | #else | ||
932 | # define Q_CHECK_PTR(p) | ||
933 | #endif | ||
934 | |||
935 | #if !defined(QT_NO_COMPAT) // compatibility with Qt 2 | ||
936 | # if !defined(CHECK_PTR) | ||
937 | # define CHECK_PTR(x) Q_CHECK_PTR(x) | ||
938 | # endif | ||
939 | #endif // QT_NO_COMPAT | ||
940 | |||
941 | enum QtMsgType { QtDebugMsg, QtWarningMsg, QtFatalMsg }; | ||
942 | |||
943 | typedef void (*QtMsgHandler)(QtMsgType, const char *); | ||
944 | Q_EXPORT QtMsgHandler qInstallMsgHandler( QtMsgHandler ); | ||
945 | |||
946 | #if !defined(QT_NO_COMPAT) // compatibility with Qt 2 | ||
947 | typedef QtMsgHandler msg_handler; | ||
948 | #endif // QT_NO_COMPAT | ||
949 | |||
950 | Q_EXPORT void qSuppressObsoleteWarnings( bool = TRUE ); | ||
951 | |||
952 | Q_EXPORT void qObsolete( const char *obj, const char *oldfunc, | ||
953 | const char *newfunc ); | ||
954 | Q_EXPORT void qObsolete( const char *obj, const char *oldfunc ); | ||
955 | Q_EXPORT void qObsolete( const char *message ); | ||
956 | |||
957 | |||
958 | // | ||
959 | // Install paths from configure | ||
960 | // | ||
961 | |||
962 | Q_EXPORT const char *qInstallPath(); | ||
963 | Q_EXPORT const char *qInstallPathDocs(); | ||
964 | Q_EXPORT const char *qInstallPathHeaders(); | ||
965 | Q_EXPORT const char *qInstallPathLibs(); | ||
966 | Q_EXPORT const char *qInstallPathBins(); | ||
967 | Q_EXPORT const char *qInstallPathPlugins(); | ||
968 | Q_EXPORT const char *qInstallPathData(); | ||
969 | |||
970 | #endif // __cplusplus | ||
971 | |||
972 | #endif // QGLOBAL_H | ||
973 | |||
974 | // | ||
975 | // Avoid some particularly useless warnings from some stupid compilers. | ||
976 | // To get ALL C++ compiler warnings, define QT_CC_WARNINGS or comment out | ||
977 | // the line "#define QT_NO_WARNINGS" | ||
978 | // | ||
979 | |||
980 | #if !defined(QT_CC_WARNINGS) | ||
981 | # define QT_NO_WARNINGS | ||
982 | #endif | ||
983 | #if defined(QT_NO_WARNINGS) | ||
984 | # if defined(Q_CC_MSVC) | ||
985 | # pragma warning(disable: 4244) // 'conversion' conversion from 'type1' to 'type2', possible loss of data | ||
986 | # pragma warning(disable: 4275) // non - DLL-interface classkey 'identifier' used as base for DLL-interface classkey 'identifier' | ||
987 | # pragma warning(disable: 4514) // unreferenced inline/local function has been removed | ||
988 | # pragma warning(disable: 4800) // 'type' : forcing value to bool 'true' or 'false' (performance warning) | ||
989 | # pragma warning(disable: 4097) // typedef-name 'identifier1' used as synonym for class-name 'identifier2' | ||
990 | # pragma warning(disable: 4706) // assignment within conditional expression | ||
991 | # pragma warning(disable: 4786) // truncating debug info after 255 characters | ||
992 | # pragma warning(disable: 4660) // template-class specialization 'identifier' is already instantiated | ||
993 | # pragma warning(disable: 4355) // 'this' : used in base member initializer list | ||
994 | # pragma warning(disable: 4231) // nonstandard extension used : 'extern' before template explicit instantiation | ||
995 | # elif defined(Q_CC_BOR) | ||
996 | # pragma option -w-inl | ||
997 | # pragma option -w-aus | ||
998 | # pragma warn -inl | ||
999 | # pragma warn -pia | ||
1000 | # pragma warn -ccc | ||
1001 | # pragma warn -rch | ||
1002 | # pragma warn -sig | ||
1003 | # elif defined(Q_CC_MWERKS) | ||
1004 | # pragma warn_possunwant off | ||
1005 | # endif | ||
1006 | #endif | ||