-rw-r--r-- | qmake/include/qglobal.h | 87 |
1 files changed, 73 insertions, 14 deletions
diff --git a/qmake/include/qglobal.h b/qmake/include/qglobal.h index 13cff64..d212bff 100644 --- a/qmake/include/qglobal.h +++ b/qmake/include/qglobal.h | |||
@@ -35,17 +35,17 @@ | |||
35 | ** | 35 | ** |
36 | **********************************************************************/ | 36 | **********************************************************************/ |
37 | 37 | ||
38 | #ifndef QGLOBAL_H | 38 | #ifndef QGLOBAL_H |
39 | #define QGLOBAL_H | 39 | #define QGLOBAL_H |
40 | 40 | ||
41 | #define QT_VERSION_STR "3.1.0-b2" | 41 | #define QT_VERSION_STR "3.1.2" |
42 | /* | 42 | /* |
43 | QT_VERSION is (major << 16) + (minor << 8) + patch. | 43 | QT_VERSION is (major << 16) + (minor << 8) + patch. |
44 | */ | 44 | */ |
45 | #define QT_VERSION 0x030100 | 45 | #define QT_VERSION 0x030102 |
46 | 46 | ||
47 | /* | 47 | /* |
48 | The operating system, must be one of: (Q_OS_x) | 48 | The operating system, must be one of: (Q_OS_x) |
49 | 49 | ||
50 | MACX- Mac OS X | 50 | MACX- Mac OS X |
51 | MAC9- Mac OS 9 | 51 | MAC9- Mac OS 9 |
@@ -138,18 +138,18 @@ | |||
138 | #elif defined(__QNXNTO__) | 138 | #elif defined(__QNXNTO__) |
139 | # define Q_OS_QNX6 | 139 | # define Q_OS_QNX6 |
140 | #elif defined(__QNX__) | 140 | #elif defined(__QNX__) |
141 | # define Q_OS_QNX | 141 | # define Q_OS_QNX |
142 | #elif defined(_SEQUENT_) | 142 | #elif defined(_SEQUENT_) |
143 | # define Q_OS_DYNIX | 143 | # define Q_OS_DYNIX |
144 | #elif defined(_SCO_DS) /* SCO OpenServer 5 */ | 144 | #elif defined(_SCO_DS) /* SCO OpenServer 5 + GCC */ |
145 | # define Q_OS_SCO | 145 | # define Q_OS_SCO |
146 | #elif defined(__UNIXWARE__) /* UnixWare 7 + GCC, Open UNIX 8 + GCC */ | 146 | #elif defined(__USLC__) /* all SCO platforms + UDK or OUDK */ |
147 | # define Q_OS_UNIXWARE | 147 | # define Q_OS_UNIXWARE |
148 | # define Q_OS_UNIXWARE7 | 148 | # define Q_OS_UNIXWARE7 |
149 | #elif defined(__USLC__) /* UnixWare 7 + UDK, Open UNIX 8 + OUDK */ | 149 | #elif defined(__svr4__) && defined(i386) /* Open UNIX 8 + GCC */ |
150 | # define Q_OS_UNIXWARE | 150 | # define Q_OS_UNIXWARE |
151 | # define Q_OS_UNIXWARE7 | 151 | # define Q_OS_UNIXWARE7 |
152 | #else | 152 | #else |
153 | # error "Qt has not been ported to this OS - talk to qt-bugs@trolltech.com" | 153 | # error "Qt has not been ported to this OS - talk to qt-bugs@trolltech.com" |
154 | #endif | 154 | #endif |
155 | 155 | ||
@@ -222,13 +222,15 @@ | |||
222 | /* proper support of bool for _MSC_VER >= 1100 */ | 222 | /* proper support of bool for _MSC_VER >= 1100 */ |
223 | # define Q_CANNOT_DELETE_CONSTANT | 223 | # define Q_CANNOT_DELETE_CONSTANT |
224 | # define Q_INLINE_TEMPLATES inline | 224 | # define Q_INLINE_TEMPLATES inline |
225 | /* Visual C++.Net issues for _MSC_VER >= 1300 */ | 225 | /* Visual C++.Net issues for _MSC_VER >= 1300 */ |
226 | # if _MSC_VER >= 1300 | 226 | # if _MSC_VER >= 1300 |
227 | # define Q_CC_MSVC_NET | 227 | # define Q_CC_MSVC_NET |
228 | # define Q_TYPENAME | 228 | # if _MSC_VER < 1310 |
229 | # define Q_TYPENAME | ||
230 | # endif | ||
229 | # endif | 231 | # endif |
230 | # define Q_NO_USING_KEYWORD /* ### check "using" status */ | 232 | # define Q_NO_USING_KEYWORD /* ### check "using" status */ |
231 | 233 | ||
232 | #elif defined(__BORLANDC__) || defined(__TURBOC__) | 234 | #elif defined(__BORLANDC__) || defined(__TURBOC__) |
233 | # define Q_CC_BOR | 235 | # define Q_CC_BOR |
234 | # if __BORLANDC__ < 0x502 | 236 | # if __BORLANDC__ < 0x502 |
@@ -268,12 +270,16 @@ | |||
268 | # define Q_FULL_TEMPLATE_INSTANTIATION | 270 | # define Q_FULL_TEMPLATE_INSTANTIATION |
269 | # endif | 271 | # endif |
270 | /* GCC 2.95 knows "using" but does not support it correctly */ | 272 | /* GCC 2.95 knows "using" but does not support it correctly */ |
271 | # if __GNUC__ == 2 && __GNUC_MINOR__ <= 95 | 273 | # if __GNUC__ == 2 && __GNUC_MINOR__ <= 95 |
272 | # define Q_NO_USING_KEYWORD | 274 | # define Q_NO_USING_KEYWORD |
273 | # endif | 275 | # endif |
276 | /* GCC 3.1 and GCC 3.2 wrongly define _SB_CTYPE_MACROS on HP-UX */ | ||
277 | # if defined(Q_OS_HPUX) && __GNUC__ == 3 && __GNUC_MINOR__ >= 1 | ||
278 | # define Q_WRONG_SB_CTYPE_MACROS | ||
279 | # endif | ||
274 | # if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP) | 280 | # if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP) |
275 | # define Q_PACKED __attribute__ ((packed)) | 281 | # define Q_PACKED __attribute__ ((packed)) |
276 | # endif | 282 | # endif |
277 | # if !defined(__EXCEPTIONS) | 283 | # if !defined(__EXCEPTIONS) |
278 | # define Q_NO_EXCEPTIONS | 284 | # define Q_NO_EXCEPTIONS |
279 | # endif | 285 | # endif |
@@ -387,22 +393,25 @@ | |||
387 | # elif defined(__ghs) | 393 | # elif defined(__ghs) |
388 | # define Q_CC_GHS | 394 | # define Q_CC_GHS |
389 | 395 | ||
390 | /* The UnixWare 7 UDK compiler is based on EDG and does define __EDG__ */ | 396 | /* The UnixWare 7 UDK compiler is based on EDG and does define __EDG__ */ |
391 | # elif defined(__USLC__) && defined(__SCO_VERSION__) | 397 | # elif defined(__USLC__) && defined(__SCO_VERSION__) |
392 | # define Q_CC_USLC | 398 | # define Q_CC_USLC |
399 | /* The latest UDK 7.1.1b does not need this, but previous versions do */ | ||
400 | # if !defined(__SCO_VERSION__) || (__SCO_VERSION__ < 302200010) | ||
401 | # define Q_INLINE_TEMPLATES inline | ||
402 | # endif | ||
393 | # define Q_NO_USING_KEYWORD /* ### check "using" status */ | 403 | # define Q_NO_USING_KEYWORD /* ### check "using" status */ |
394 | 404 | ||
395 | /* Never tested! */ | 405 | /* Never tested! */ |
396 | # elif defined(CENTERLINE_CLPP) || defined(OBJECTCENTER) | 406 | # elif defined(CENTERLINE_CLPP) || defined(OBJECTCENTER) |
397 | # define Q_CC_OC | 407 | # define Q_CC_OC |
398 | # define Q_NO_USING_KEYWORD | 408 | # define Q_NO_USING_KEYWORD |
399 | 409 | ||
400 | /* CDS++ is not documented to define __EDG__ or __EDG in the Reliant | 410 | /* CDS++ defines __EDG__ although this is not documented in the Reliant |
401 | documentation but we suppose it does, in any case it does follow | 411 | documentation. It also follows conventions like _BOOL and this documented */ |
402 | conventions like _BOOL */ | ||
403 | # elif defined(sinix) | 412 | # elif defined(sinix) |
404 | # define Q_CC_CDS | 413 | # define Q_CC_CDS |
405 | # define Q_NO_USING_KEYWORD | 414 | # define Q_NO_USING_KEYWORD |
406 | # if defined(__cplusplus) && (__cplusplus < 2) /* Cfront C++ mode */ | 415 | # if defined(__cplusplus) && (__cplusplus < 2) /* Cfront C++ mode */ |
407 | # define Q_NO_EXCEPTIONS | 416 | # define Q_NO_EXCEPTIONS |
408 | # endif | 417 | # endif |
@@ -412,25 +421,29 @@ | |||
412 | # elif defined(__sgi) | 421 | # elif defined(__sgi) |
413 | # define Q_CC_MIPS | 422 | # define Q_CC_MIPS |
414 | # if defined(_MIPS_SIM) && (_MIPS_SIM == _ABIO32) /* o32 ABI */ | 423 | # if defined(_MIPS_SIM) && (_MIPS_SIM == _ABIO32) /* o32 ABI */ |
415 | # define Q_TYPENAME | 424 | # define Q_TYPENAME |
416 | # define Q_BROKEN_TEMPLATE_SPECIALIZATION | 425 | # define Q_BROKEN_TEMPLATE_SPECIALIZATION |
417 | # define Q_STRICT_INLINING_RULES | 426 | # define Q_STRICT_INLINING_RULES |
427 | # define Q_NO_EXPLICIT_KEYWORD | ||
428 | # define Q_INLINE_TEMPLATES inline | ||
418 | # elif defined(_COMPILER_VERSION) && (_COMPILER_VERSION < 730) /* 7.2 */ | 429 | # elif defined(_COMPILER_VERSION) && (_COMPILER_VERSION < 730) /* 7.2 */ |
419 | # define Q_TYPENAME | 430 | # define Q_TYPENAME |
420 | # define Q_BROKEN_TEMPLATE_SPECIALIZATION | 431 | # define Q_BROKEN_TEMPLATE_SPECIALIZATION |
421 | # endif | 432 | # endif |
422 | # define Q_NO_USING_KEYWORD /* ### check "using" status */ | 433 | # define Q_NO_USING_KEYWORD /* ### check "using" status */ |
423 | # endif | 434 | # endif |
424 | 435 | ||
425 | /* The older UnixWare 2.X compiler? */ | 436 | /* The older UnixWare 2.X compiler? */ |
426 | #elif defined(__USLC__) && !defined(__SCO_VERSION__) | 437 | #elif defined(__USLC__) |
427 | # define Q_CC_USLC | 438 | # define Q_CC_USLC |
439 | # define Q_TYPENAME | ||
428 | # define Q_NO_BOOL_TYPE | 440 | # define Q_NO_BOOL_TYPE |
429 | # define Q_NO_EXPLICIT_KEYWORD | 441 | # define Q_NO_EXPLICIT_KEYWORD |
430 | # define Q_NO_USING_KEYWORD | 442 | # define Q_NO_USING_KEYWORD |
443 | # define Q_INLINE_TEMPLATES inline | ||
431 | 444 | ||
432 | /* Never tested! */ | 445 | /* Never tested! */ |
433 | #elif defined(__HIGHC__) | 446 | #elif defined(__HIGHC__) |
434 | # define Q_CC_HIGHC | 447 | # define Q_CC_HIGHC |
435 | 448 | ||
436 | #elif defined(__SUNPRO_CC) | 449 | #elif defined(__SUNPRO_CC) |
@@ -451,12 +464,22 @@ | |||
451 | # else | 464 | # else |
452 | # define Q_NO_BOOL_TYPE | 465 | # define Q_NO_BOOL_TYPE |
453 | # define Q_NO_EXPLICIT_KEYWORD | 466 | # define Q_NO_EXPLICIT_KEYWORD |
454 | # define Q_NO_USING_KEYWORD | 467 | # define Q_NO_USING_KEYWORD |
455 | # endif | 468 | # endif |
456 | 469 | ||
470 | /* CDS++ does not seem to define __EDG__ or __EDG according to Reliant | ||
471 | documentation but nevertheless uses EDG conventions like _BOOL */ | ||
472 | #elif defined(sinix) | ||
473 | # define Q_CC_EDG | ||
474 | # define Q_CC_CDS | ||
475 | # if !defined(_BOOL) | ||
476 | # define Q_NO_BOOL_TYPE | ||
477 | # endif | ||
478 | # define Q_BROKEN_TEMPLATE_SPECIALIZATION | ||
479 | |||
457 | #elif defined(Q_OS_HPUX) | 480 | #elif defined(Q_OS_HPUX) |
458 | /* __HP_aCC was not defined in first aCC releases */ | 481 | /* __HP_aCC was not defined in first aCC releases */ |
459 | # if defined(__HP_aCC) || __cplusplus >= 199707L | 482 | # if defined(__HP_aCC) || __cplusplus >= 199707L |
460 | # define Q_CC_HPACC | 483 | # define Q_CC_HPACC |
461 | # else | 484 | # else |
462 | # define Q_CC_HP | 485 | # define Q_CC_HP |
@@ -503,12 +526,13 @@ | |||
503 | #elif defined(Q_OS_OS2) | 526 | #elif defined(Q_OS_OS2) |
504 | # define Q_WS_PM | 527 | # define Q_WS_PM |
505 | # error "Qt does not work with OS/2 Presentation Manager or Workplace Shell" | 528 | # error "Qt does not work with OS/2 Presentation Manager or Workplace Shell" |
506 | #elif defined(Q_OS_UNIX) | 529 | #elif defined(Q_OS_UNIX) |
507 | # if defined(QWS) | 530 | # if defined(QWS) |
508 | # define Q_WS_QWS | 531 | # define Q_WS_QWS |
532 | # define QT_NO_QWS_IM | ||
509 | # elif defined(Q_OS_MACX) | 533 | # elif defined(Q_OS_MACX) |
510 | # define Q_WS_MACX | 534 | # define Q_WS_MACX |
511 | # else | 535 | # else |
512 | # define Q_WS_X11 | 536 | # define Q_WS_X11 |
513 | # endif | 537 | # endif |
514 | #endif | 538 | #endif |
@@ -742,19 +766,24 @@ class QDataStream; | |||
742 | # endif | 766 | # endif |
743 | # ifndef QMAC_QMENUBAR_NO_EVENT | 767 | # ifndef QMAC_QMENUBAR_NO_EVENT |
744 | # define QMAC_QMENUBAR_NO_EVENT | 768 | # define QMAC_QMENUBAR_NO_EVENT |
745 | # endif | 769 | # endif |
746 | #endif | 770 | #endif |
747 | 771 | ||
772 | #if !defined(Q_WS_QWS) && !defined(QT_NO_COP) | ||
773 | # define QT_NO_COP | ||
774 | #endif | ||
775 | |||
748 | #ifndef QT_H | 776 | #ifndef QT_H |
749 | #include <qfeatures.h> | 777 | #include <qfeatures.h> |
750 | #endif // QT_H | 778 | #endif // QT_H |
751 | 779 | ||
752 | 780 | ||
753 | // | 781 | // |
754 | // Create Qt DLL if QT_DLL is defined (Windows only) | 782 | // Create Qt DLL if QT_DLL is defined (Windows only) |
783 | // or QT_SHARED is defined (Kylix only) | ||
755 | // | 784 | // |
756 | 785 | ||
757 | #if defined(Q_OS_WIN32) || defined(Q_OS_WIN64) | 786 | #if defined(Q_OS_WIN32) || defined(Q_OS_WIN64) |
758 | # if defined(QT_NODLL) | 787 | # if defined(QT_NODLL) |
759 | # undef QT_MAKEDLL | 788 | # undef QT_MAKEDLL |
760 | # undef QT_DLL | 789 | # undef QT_DLL |
@@ -767,19 +796,30 @@ class QDataStream; | |||
767 | # define Q_TEMPLATE_EXTERN | 796 | # define Q_TEMPLATE_EXTERN |
768 | # undef Q_DISABLE_COPY/* avoid unresolved externals */ | 797 | # undef Q_DISABLE_COPY/* avoid unresolved externals */ |
769 | # elif defined(QT_DLL) /* use a Qt DLL library */ | 798 | # elif defined(QT_DLL) /* use a Qt DLL library */ |
770 | # define Q_EXPORT __declspec(dllimport) | 799 | # define Q_EXPORT __declspec(dllimport) |
771 | # define Q_TEMPLATEDLL | 800 | # define Q_TEMPLATEDLL |
772 | # ifndef Q_TEMPLATE_EXTERN | 801 | # ifndef Q_TEMPLATE_EXTERN |
773 | # if defined(Q_CC_MSVC) | 802 | # if defined(Q_CC_MSVC_NET) |
774 | # define Q_TEMPLATE_EXTERN /*extern*/ //### too many warnings, even though disabled | 803 | # define Q_TEMPLATE_EXTERN extern |
775 | # else | 804 | # else |
776 | # define Q_TEMPLATE_EXTERN | 805 | # define Q_TEMPLATE_EXTERN |
777 | # endif | 806 | # endif |
778 | # endif | 807 | # endif |
779 | # undef Q_DISABLE_COPY /* avoid unresolved externals */ | 808 | # undef Q_DISABLE_COPY/* avoid unresolved externals */ |
809 | # endif | ||
810 | #elif defined(Q_OS_LINUX) && defined(Q_CC_BOR) | ||
811 | # if defined(QT_SHARED)/* create a Qt shared library */ | ||
812 | # define Q_EXPORT __declspec(dllexport) | ||
813 | # define Q_TEMPLATEDLL | ||
814 | # define Q_TEMPLATE_EXTERN | ||
815 | # undef Q_DISABLE_COPY/* avoid unresolved externals */ | ||
816 | # else | ||
817 | # define Q_TEMPLATEDLL | ||
818 | # define Q_TEMPLATE_EXTERN | ||
819 | # undef Q_DISABLE_COPY /* avoid unresolved externals */ | ||
780 | # endif | 820 | # endif |
781 | #else | 821 | #else |
782 | # undef QT_MAKEDLL /* ignore these for other platforms */ | 822 | # undef QT_MAKEDLL /* ignore these for other platforms */ |
783 | # undef QT_DLL | 823 | # undef QT_DLL |
784 | #endif | 824 | #endif |
785 | 825 | ||
@@ -800,13 +840,15 @@ extern Q_EXPORT bool qt_winunicode; | |||
800 | // | 840 | // |
801 | // System information | 841 | // System information |
802 | // | 842 | // |
803 | 843 | ||
804 | Q_EXPORT const char *qVersion(); | 844 | Q_EXPORT const char *qVersion(); |
805 | Q_EXPORT bool qSysInfo( int *wordSize, bool *bigEndian ); | 845 | Q_EXPORT bool qSysInfo( int *wordSize, bool *bigEndian ); |
806 | #if defined(Q_WS_WIN) | 846 | #if defined(Q_OS_MAC) |
847 | int qMacVersion(); | ||
848 | #elif defined(Q_WS_WIN) | ||
807 | Q_EXPORT int qWinVersion(); | 849 | Q_EXPORT int qWinVersion(); |
808 | #if defined(UNICODE) | 850 | #if defined(UNICODE) |
809 | #define QT_WA( uni, ansi ) if ( qt_winunicode ) { uni } else { ansi } | 851 | #define QT_WA( uni, ansi ) if ( qt_winunicode ) { uni } else { ansi } |
810 | #define QT_WA_INLINE( uni, ansi ) ( qt_winunicode ? uni : ansi ) | 852 | #define QT_WA_INLINE( uni, ansi ) ( qt_winunicode ? uni : ansi ) |
811 | #else | 853 | #else |
812 | #define QT_WA( uni, ansi ) ansi | 854 | #define QT_WA( uni, ansi ) ansi |
@@ -966,12 +1008,28 @@ Q_EXPORT const char *qInstallPathLibs(); | |||
966 | Q_EXPORT const char *qInstallPathBins(); | 1008 | Q_EXPORT const char *qInstallPathBins(); |
967 | Q_EXPORT const char *qInstallPathPlugins(); | 1009 | Q_EXPORT const char *qInstallPathPlugins(); |
968 | Q_EXPORT const char *qInstallPathData(); | 1010 | Q_EXPORT const char *qInstallPathData(); |
969 | 1011 | ||
970 | #endif // __cplusplus | 1012 | #endif // __cplusplus |
971 | 1013 | ||
1014 | // compilers which follow outdated template instantiation rules | ||
1015 | // require a class to have a comparison operator to exist when | ||
1016 | // a QValueList of this type is instantiated. It's not actually | ||
1017 | // used in the list, though. Hence the dummy implementation. | ||
1018 | // Just in case other code relies on it we better trigger a warning | ||
1019 | // mandating a real implementation. | ||
1020 | #ifdef Q_FULL_TEMPLATE_INSTANTIATION | ||
1021 | # define Q_DUMMY_COMPARISON_OPERATOR(C) \ | ||
1022 | bool operator==( const C& ) const { \ | ||
1023 | qWarning( #C"::operator==( const "#C"& ) got called." ); \ | ||
1024 | return FALSE; \ | ||
1025 | } | ||
1026 | #else | ||
1027 | # define Q_DUMMY_COMPARISON_OPERATOR(C) | ||
1028 | #endif | ||
1029 | |||
972 | #endif // QGLOBAL_H | 1030 | #endif // QGLOBAL_H |
973 | 1031 | ||
974 | // | 1032 | // |
975 | // Avoid some particularly useless warnings from some stupid compilers. | 1033 | // Avoid some particularly useless warnings from some stupid compilers. |
976 | // To get ALL C++ compiler warnings, define QT_CC_WARNINGS or comment out | 1034 | // To get ALL C++ compiler warnings, define QT_CC_WARNINGS or comment out |
977 | // the line "#define QT_NO_WARNINGS" | 1035 | // the line "#define QT_NO_WARNINGS" |
@@ -989,12 +1047,13 @@ Q_EXPORT const char *qInstallPathData(); | |||
989 | # pragma warning(disable: 4097) // typedef-name 'identifier1' used as synonym for class-name 'identifier2' | 1047 | # pragma warning(disable: 4097) // typedef-name 'identifier1' used as synonym for class-name 'identifier2' |
990 | # pragma warning(disable: 4706) // assignment within conditional expression | 1048 | # pragma warning(disable: 4706) // assignment within conditional expression |
991 | # pragma warning(disable: 4786) // truncating debug info after 255 characters | 1049 | # pragma warning(disable: 4786) // truncating debug info after 255 characters |
992 | # pragma warning(disable: 4660) // template-class specialization 'identifier' is already instantiated | 1050 | # pragma warning(disable: 4660) // template-class specialization 'identifier' is already instantiated |
993 | # pragma warning(disable: 4355) // 'this' : used in base member initializer list | 1051 | # pragma warning(disable: 4355) // 'this' : used in base member initializer list |
994 | # pragma warning(disable: 4231) // nonstandard extension used : 'extern' before template explicit instantiation | 1052 | # pragma warning(disable: 4231) // nonstandard extension used : 'extern' before template explicit instantiation |
1053 | # pragma warning(disable: 4710) // function not inlined | ||
995 | # elif defined(Q_CC_BOR) | 1054 | # elif defined(Q_CC_BOR) |
996 | # pragma option -w-inl | 1055 | # pragma option -w-inl |
997 | # pragma option -w-aus | 1056 | # pragma option -w-aus |
998 | # pragma warn -inl | 1057 | # pragma warn -inl |
999 | # pragma warn -pia | 1058 | # pragma warn -pia |
1000 | # pragma warn -ccc | 1059 | # pragma warn -ccc |