summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
authorIain <qt-info@nokia.com>2011-02-09 17:34:27 (GMT)
committerIain <qt-info@nokia.com>2011-02-09 18:00:51 (GMT)
commit34aca9f03e25e94b4ca730ddd3c88aa95653a0b5 (patch)
tree5e1d664f122d08f408eded273b1bf5acf45dd9a4 /mkspecs
parentbf47aa67e286f31db5a8b84060f278f7fea217b2 (diff)
downloadQt-34aca9f03e25e94b4ca730ddd3c88aa95653a0b5.zip
Qt-34aca9f03e25e94b4ca730ddd3c88aa95653a0b5.tar.gz
Qt-34aca9f03e25e94b4ca730ddd3c88aa95653a0b5.tar.bz2
Change paging attributes for Symbian binaries
Removed UNPAGED workaround from QtCore and QtSql on OS releases where data paging is supported. Depends on new macro being defined in the OS builds (SYMBIAN_DLL_DATA_EXPORTS_SUPPORTED) to allow us to detect this. Data exports are supported in all S^3 builds after early 2009, however, this macro is only added recently (and thus isn't defined in, eg. Symbian Foundation PDKs (v3.0.4), or current releases (v0.9) of the S^3 SDK from Nokia). Thus building Qt against these older S^3 builds will still result in QtCore and QtSql being unpaged. Also, remove PAGED keyword from all Qt-based software. This changes the code paging field in the Symbian (E32Image) header from "paged" to "default". Thus it is left to the configuration of the particular device whether paging is used for the binary or not. All devices that support code paging should have it turned on (the value is stored in the HAL, so can be checked using eg. fshell); data paging may or may not be turned on depending on the device characteristics. Leaving both code and data paging as "default" means that any limitations in the device (eg. around flash wear) can be controlled by that device by disabling the appropriate types of paging. This change also leaves the way open to deprecated PAGED as a keyword in the Symbian build systems, so you can only opt out of paging. This makes more sense, as the default for code paging will be on, the default for data paging will be on if the device can handle it, and binaries should only be opting out of paging if they have some specific real-time requirements that paging inhibits. Task-number: QT-3503 Task-number: QTBUG-13931 Reviewed-by: Shane Kearns
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/common/symbian/symbian-mmp.conf5
1 files changed, 3 insertions, 2 deletions
diff --git a/mkspecs/common/symbian/symbian-mmp.conf b/mkspecs/common/symbian/symbian-mmp.conf
index 4d554bd..8ed326a 100644
--- a/mkspecs/common/symbian/symbian-mmp.conf
+++ b/mkspecs/common/symbian/symbian-mmp.conf
@@ -13,7 +13,7 @@ symbian-abld {
} else {
MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA = "OPTION_REPLACE ARMCC --export_all_vtbl // don't use --export_all_vtbl"
}
-MMP_RULES += PAGED BYTEPAIRCOMPRESSTARGET
+MMP_RULES += BYTEPAIRCOMPRESSTARGET
MMP_RULES += $$MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA
SYMBIAN_PLATFORMS = WINSCW GCCE ARMV5 ARMV6
@@ -28,7 +28,8 @@ INCLUDEPATH = \
# RVCT seems to do this automatically, but WINSCW compiler does not, so add it here.
MMP_RULES += "USERINCLUDE ."
-contains(S60_VERSION, 3.1):MMP_RULES -= PAGED BYTEPAIRCOMPRESSTARGET
+# S60 3.1 devices don't support paging for non-ROM components, so no point in using the less efficient compression mechanism
+contains(S60_VERSION, 3.1):MMP_RULES -= BYTEPAIRCOMPRESSTARGET
QMAKE_CXXFLAGS_FAST_VFP.ARMCC = --fpmode fast
# [TODO] QMAKE_CXXFLAGS_FAST_VFP.GCCE =