src/corelib/global/qglobal.h
changeset 3 41300fa6a67c
parent 0 1918ee327afb
child 4 3b1da2848fc7
equal deleted inserted replaced
2:56cd8111b7f7 3:41300fa6a67c
    42 #ifndef QGLOBAL_H
    42 #ifndef QGLOBAL_H
    43 #define QGLOBAL_H
    43 #define QGLOBAL_H
    44 
    44 
    45 #include <stddef.h>
    45 #include <stddef.h>
    46 
    46 
    47 #define QT_VERSION_STR   "4.6.0"
    47 #define QT_VERSION_STR   "4.6.1"
    48 /*
    48 /*
    49    QT_VERSION is (major << 16) + (minor << 8) + patch.
    49    QT_VERSION is (major << 16) + (minor << 8) + patch.
    50 */
    50 */
    51 #define QT_VERSION 0x040600
    51 #define QT_VERSION 0x040601
    52 /*
    52 /*
    53    can be used like #if (QT_VERSION >= QT_VERSION_CHECK(4, 4, 0))
    53    can be used like #if (QT_VERSION >= QT_VERSION_CHECK(4, 4, 0))
    54 */
    54 */
    55 #define QT_VERSION_CHECK(major, minor, patch) ((major<<16)|(minor<<8)|(patch))
    55 #define QT_VERSION_CHECK(major, minor, patch) ((major<<16)|(minor<<8)|(patch))
    56 
    56 
   435 
   435 
   436 /* Symbian GCCE */
   436 /* Symbian GCCE */
   437 #elif defined(__GCCE__)
   437 #elif defined(__GCCE__)
   438 #  define Q_CC_GCCE
   438 #  define Q_CC_GCCE
   439 #  define QT_VISIBILITY_AVAILABLE
   439 #  define QT_VISIBILITY_AVAILABLE
       
   440 #  if defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__)
       
   441 #    define QT_HAVE_ARMV6
       
   442 #  endif
   440 
   443 
   441 /* ARM Realview Compiler Suite
   444 /* ARM Realview Compiler Suite
   442    RVCT compiler also defines __EDG__ and __GNUC__ (if --gnu flag is given),
   445    RVCT compiler also defines __EDG__ and __GNUC__ (if --gnu flag is given),
   443    so check for it before that */
   446    so check for it before that */
   444 #elif defined(__ARMCC__) || defined(__CC_ARM)
   447 #elif defined(__ARMCC__) || defined(__CC_ARM)
   445 #  define Q_CC_RVCT
   448 #  define Q_CC_RVCT
   446 
   449 #  if __TARGET_ARCH_ARM >= 6
       
   450 #    define QT_HAVE_ARMV6
       
   451 #  endif
   447 #elif defined(__GNUC__)
   452 #elif defined(__GNUC__)
   448 #  define Q_CC_GNU
   453 #  define Q_CC_GNU
   449 #  define Q_C_CALLBACKS
   454 #  define Q_C_CALLBACKS
   450 #  if defined(__MINGW32__)
   455 #  if defined(__MINGW32__)
   451 #    define Q_CC_MINGW
   456 #    define Q_CC_MINGW
   806 #      define Q_WS_MAC64
   811 #      define Q_WS_MAC64
   807 #    elif defined(Q_OS_MAC32)
   812 #    elif defined(Q_OS_MAC32)
   808 #      define Q_WS_MAC32
   813 #      define Q_WS_MAC32
   809 #    endif
   814 #    endif
   810 #  elif defined(Q_OS_SYMBIAN)
   815 #  elif defined(Q_OS_SYMBIAN)
   811 #    if !defined(QT_NO_S60)
   816 #    if !defined(QT_NO_S60) /* :QTP:Version detection not working */
   812 #      define Q_WS_S60
   817 #      define Q_WS_S60
   813 #    endif
   818 #    endif
   814 #  elif !defined(Q_WS_QWS)
   819 #  elif !defined(Q_WS_QWS)
   815 #    define Q_WS_X11
   820 #    define Q_WS_X11
   816 #  endif
   821 #  endif
   903 
   908 
   904 #ifndef QT_LINUXBASE /* the LSB defines TRUE and FALSE for us */
   909 #ifndef QT_LINUXBASE /* the LSB defines TRUE and FALSE for us */
   905 /* Symbian OS defines TRUE = 1 and FALSE = 0,
   910 /* Symbian OS defines TRUE = 1 and FALSE = 0,
   906 redefine to built-in booleans to make autotests work properly */
   911 redefine to built-in booleans to make autotests work properly */
   907 #ifdef Q_OS_SYMBIAN
   912 #ifdef Q_OS_SYMBIAN
       
   913     #include <e32def.h> /* Symbian OS defines */
       
   914 
   908     #undef TRUE
   915     #undef TRUE
   909     #undef FALSE
   916     #undef FALSE
   910 #endif
   917 #endif
   911 #  ifndef TRUE
   918 #  ifndef TRUE
   912 #   define TRUE true
   919 #   define TRUE true
  1205 #    if defined(QT_BUILD_SVG_LIB)
  1212 #    if defined(QT_BUILD_SVG_LIB)
  1206 #      define Q_SVG_EXPORT Q_DECL_EXPORT
  1213 #      define Q_SVG_EXPORT Q_DECL_EXPORT
  1207 #    else
  1214 #    else
  1208 #      define Q_SVG_EXPORT Q_DECL_IMPORT
  1215 #      define Q_SVG_EXPORT Q_DECL_IMPORT
  1209 #    endif
  1216 #    endif
       
  1217 #    if defined(QT_BUILD_DECLARATIVE_LIB)
       
  1218 #      define Q_DECLARATIVE_EXPORT Q_DECL_EXPORT
       
  1219 #    else
       
  1220 #      define Q_DECLARATIVE_EXPORT Q_DECL_IMPORT
       
  1221 #    endif
  1210 #    if defined(QT_BUILD_OPENGL_LIB)
  1222 #    if defined(QT_BUILD_OPENGL_LIB)
  1211 #      define Q_OPENGL_EXPORT Q_DECL_EXPORT
  1223 #      define Q_OPENGL_EXPORT Q_DECL_EXPORT
  1212 #    else
  1224 #    else
  1213 #      define Q_OPENGL_EXPORT Q_DECL_IMPORT
  1225 #      define Q_OPENGL_EXPORT Q_DECL_IMPORT
  1214 #    endif
  1226 #    endif
  1257 #    define Q_CORE_EXPORT Q_DECL_IMPORT
  1269 #    define Q_CORE_EXPORT Q_DECL_IMPORT
  1258 #    define Q_GUI_EXPORT Q_DECL_IMPORT
  1270 #    define Q_GUI_EXPORT Q_DECL_IMPORT
  1259 #    define Q_SQL_EXPORT Q_DECL_IMPORT
  1271 #    define Q_SQL_EXPORT Q_DECL_IMPORT
  1260 #    define Q_NETWORK_EXPORT Q_DECL_IMPORT
  1272 #    define Q_NETWORK_EXPORT Q_DECL_IMPORT
  1261 #    define Q_SVG_EXPORT Q_DECL_IMPORT
  1273 #    define Q_SVG_EXPORT Q_DECL_IMPORT
       
  1274 #    define Q_DECLARATIVE_EXPORT Q_DECL_IMPORT
  1262 #    define Q_CANVAS_EXPORT Q_DECL_IMPORT
  1275 #    define Q_CANVAS_EXPORT Q_DECL_IMPORT
  1263 #    define Q_OPENGL_EXPORT Q_DECL_IMPORT
  1276 #    define Q_OPENGL_EXPORT Q_DECL_IMPORT
  1264 #    define Q_MULTIMEDIA_EXPORT Q_DECL_IMPORT
  1277 #    define Q_MULTIMEDIA_EXPORT Q_DECL_IMPORT
  1265 #    define Q_OPENVG_EXPORT Q_DECL_IMPORT
  1278 #    define Q_OPENVG_EXPORT Q_DECL_IMPORT
  1266 #    define Q_XML_EXPORT Q_DECL_IMPORT
  1279 #    define Q_XML_EXPORT Q_DECL_IMPORT
  1285 #    define Q_CORE_EXPORT Q_DECL_EXPORT
  1298 #    define Q_CORE_EXPORT Q_DECL_EXPORT
  1286 #    define Q_GUI_EXPORT Q_DECL_EXPORT
  1299 #    define Q_GUI_EXPORT Q_DECL_EXPORT
  1287 #    define Q_SQL_EXPORT Q_DECL_EXPORT
  1300 #    define Q_SQL_EXPORT Q_DECL_EXPORT
  1288 #    define Q_NETWORK_EXPORT Q_DECL_EXPORT
  1301 #    define Q_NETWORK_EXPORT Q_DECL_EXPORT
  1289 #    define Q_SVG_EXPORT Q_DECL_EXPORT
  1302 #    define Q_SVG_EXPORT Q_DECL_EXPORT
       
  1303 #    define Q_DECLARATIVE_EXPORT Q_DECL_EXPORT
  1290 #    define Q_OPENGL_EXPORT Q_DECL_EXPORT
  1304 #    define Q_OPENGL_EXPORT Q_DECL_EXPORT
  1291 #    define Q_MULTIMEDIA_EXPORT Q_DECL_EXPORT
  1305 #    define Q_MULTIMEDIA_EXPORT Q_DECL_EXPORT
  1292 #    define Q_OPENVG_EXPORT Q_DECL_EXPORT
  1306 #    define Q_OPENVG_EXPORT Q_DECL_EXPORT
  1293 #    define Q_XML_EXPORT Q_DECL_EXPORT
  1307 #    define Q_XML_EXPORT Q_DECL_EXPORT
  1294 #    define Q_XMLPATTERNS_EXPORT Q_DECL_EXPORT
  1308 #    define Q_XMLPATTERNS_EXPORT Q_DECL_EXPORT
  1299 #    define Q_CORE_EXPORT
  1313 #    define Q_CORE_EXPORT
  1300 #    define Q_GUI_EXPORT
  1314 #    define Q_GUI_EXPORT
  1301 #    define Q_SQL_EXPORT
  1315 #    define Q_SQL_EXPORT
  1302 #    define Q_NETWORK_EXPORT
  1316 #    define Q_NETWORK_EXPORT
  1303 #    define Q_SVG_EXPORT
  1317 #    define Q_SVG_EXPORT
       
  1318 #    define Q_DECLARATIVE_EXPORT
  1304 #    define Q_OPENGL_EXPORT
  1319 #    define Q_OPENGL_EXPORT
  1305 #    define Q_MULTIMEDIA_EXPORT
  1320 #    define Q_MULTIMEDIA_EXPORT
  1306 #    define Q_XML_EXPORT
  1321 #    define Q_XML_EXPORT
  1307 #    define Q_XMLPATTERNS_EXPORT
  1322 #    define Q_XMLPATTERNS_EXPORT
  1308 #    define Q_SCRIPT_EXPORT
  1323 #    define Q_SCRIPT_EXPORT
  1476     static const MacVersion MacintoshVersion;
  1491     static const MacVersion MacintoshVersion;
  1477 #endif
  1492 #endif
  1478 #ifdef Q_OS_SYMBIAN
  1493 #ifdef Q_OS_SYMBIAN
  1479     enum SymbianVersion {
  1494     enum SymbianVersion {
  1480         SV_Unknown = 0x0000,
  1495         SV_Unknown = 0x0000,
       
  1496         //These are the Symbian Ltd versions 9.2-9.4
  1481         SV_9_2 = 10,
  1497         SV_9_2 = 10,
  1482         SV_9_3 = 20,
  1498         SV_9_3 = 20,
  1483         SV_9_4 = 30
  1499         SV_9_4 = 30,
       
  1500         //Following values are the symbian foundation versions, i.e. Symbian^1 == SV_SF_1
       
  1501         SV_SF_1 = SV_9_4,
       
  1502         SV_SF_2 = 40,
       
  1503         SV_SF_3 = 50,
       
  1504         SV_SF_4 = 60
  1484     };
  1505     };
  1485     static SymbianVersion symbianVersion();
  1506     static SymbianVersion symbianVersion();
  1486     enum S60Version {
  1507     enum S60Version {
  1487         SV_S60_None = 0,
  1508         SV_S60_None = 0,
  1488         SV_S60_Unknown = 1,
  1509         SV_S60_Unknown = 1,
  1489         SV_S60_3_1 = 10,
  1510         SV_S60_3_1 = SV_9_2,
  1490         SV_S60_3_2 = 20,
  1511         SV_S60_3_2 = SV_9_3,
  1491         SV_S60_5_0 = 30
  1512         SV_S60_5_0 = SV_9_4,
       
  1513         //versions beyond 5.0 are to be confirmed - it is better to use symbian version
       
  1514         SV_S60_5_1 = SV_SF_2,
       
  1515         SV_S60_5_2 = SV_SF_3
  1492     };
  1516     };
  1493     static S60Version s60Version();
  1517     static S60Version s60Version();
  1494 #endif
  1518 #endif
  1495 };
  1519 };
  1496 
  1520 
  2063    a similar name from Qt header files (especially template classes).
  2087    a similar name from Qt header files (especially template classes).
  2064 */
  2088 */
  2065 Q_CORE_EXPORT void *qMalloc(size_t size);
  2089 Q_CORE_EXPORT void *qMalloc(size_t size);
  2066 Q_CORE_EXPORT void qFree(void *ptr);
  2090 Q_CORE_EXPORT void qFree(void *ptr);
  2067 Q_CORE_EXPORT void *qRealloc(void *ptr, size_t size);
  2091 Q_CORE_EXPORT void *qRealloc(void *ptr, size_t size);
       
  2092 Q_CORE_EXPORT void *qMallocAligned(size_t size, size_t alignment);
       
  2093 Q_CORE_EXPORT void *qReallocAligned(void *ptr, size_t size, size_t oldsize, size_t alignment);
       
  2094 Q_CORE_EXPORT void qFreeAligned(void *ptr);
  2068 Q_CORE_EXPORT void *qMemCopy(void *dest, const void *src, size_t n);
  2095 Q_CORE_EXPORT void *qMemCopy(void *dest, const void *src, size_t n);
  2069 Q_CORE_EXPORT void *qMemSet(void *dest, int c, size_t n);
  2096 Q_CORE_EXPORT void *qMemSet(void *dest, int c, size_t n);
  2070 
  2097 
  2071 
  2098 
  2072 /*
  2099 /*
  2457 #define QT_MODULE_TEST                 0x04000
  2484 #define QT_MODULE_TEST                 0x04000
  2458 #define QT_MODULE_DBUS                 0x08000
  2485 #define QT_MODULE_DBUS                 0x08000
  2459 #define QT_MODULE_SCRIPTTOOLS          0x10000
  2486 #define QT_MODULE_SCRIPTTOOLS          0x10000
  2460 #define QT_MODULE_OPENVG               0x20000
  2487 #define QT_MODULE_OPENVG               0x20000
  2461 #define QT_MODULE_MULTIMEDIA           0x40000
  2488 #define QT_MODULE_MULTIMEDIA           0x40000
       
  2489 #define QT_MODULE_DECLARATIVE          0x80000
  2462 
  2490 
  2463 /* Qt editions */
  2491 /* Qt editions */
  2464 #define QT_EDITION_CONSOLE      (QT_MODULE_CORE \
  2492 #define QT_EDITION_CONSOLE      (QT_MODULE_CORE \
  2465                                  | QT_MODULE_NETWORK \
  2493                                  | QT_MODULE_NETWORK \
  2466                                  | QT_MODULE_SQL \
  2494                                  | QT_MODULE_SQL \
  2487                                  | QT_MODULE_SCRIPT \
  2515                                  | QT_MODULE_SCRIPT \
  2488                                  | QT_MODULE_SCRIPTTOOLS \
  2516                                  | QT_MODULE_SCRIPTTOOLS \
  2489                                  | QT_MODULE_QT3SUPPORTLIGHT \
  2517                                  | QT_MODULE_QT3SUPPORTLIGHT \
  2490                                  | QT_MODULE_QT3SUPPORT \
  2518                                  | QT_MODULE_QT3SUPPORT \
  2491                                  | QT_MODULE_SVG \
  2519                                  | QT_MODULE_SVG \
       
  2520                                  | QT_MODULE_DECLARATIVE \
  2492                                  | QT_MODULE_GRAPHICSVIEW \
  2521                                  | QT_MODULE_GRAPHICSVIEW \
  2493                                  | QT_MODULE_HELP \
  2522                                  | QT_MODULE_HELP \
  2494                                  | QT_MODULE_TEST \
  2523                                  | QT_MODULE_TEST \
  2495                                  | QT_MODULE_DBUS \
  2524                                  | QT_MODULE_DBUS \
  2496                                  | QT_MODULE_ACTIVEQT)
  2525                                  | QT_MODULE_ACTIVEQT)
  2558 QT_LICENSED_MODULE(Qt3Support)
  2587 QT_LICENSED_MODULE(Qt3Support)
  2559 #endif
  2588 #endif
  2560 #if (QT_EDITION & QT_MODULE_SVG)
  2589 #if (QT_EDITION & QT_MODULE_SVG)
  2561 QT_LICENSED_MODULE(Svg)
  2590 QT_LICENSED_MODULE(Svg)
  2562 #endif
  2591 #endif
       
  2592 #if (QT_EDITION & QT_MODULE_DECLARATIVE)
       
  2593 QT_LICENSED_MODULE(Declarative)
       
  2594 #endif
  2563 #if (QT_EDITION & QT_MODULE_ACTIVEQT)
  2595 #if (QT_EDITION & QT_MODULE_ACTIVEQT)
  2564 QT_LICENSED_MODULE(ActiveQt)
  2596 QT_LICENSED_MODULE(ActiveQt)
  2565 #endif
  2597 #endif
  2566 #if (QT_EDITION & QT_MODULE_TEST)
  2598 #if (QT_EDITION & QT_MODULE_TEST)
  2567 QT_LICENSED_MODULE(Test)
  2599 QT_LICENSED_MODULE(Test)