summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIain <qt-info@nokia.com>2009-09-18 09:53:39 (GMT)
committerIain <qt-info@nokia.com>2009-09-18 12:08:25 (GMT)
commit1640d74f61ccc4921e5d26ddfe7f3613f0221da4 (patch)
tree80915aae6f5d54891222390a965141e35ba542d9
parent9076fba7ad1f8c4bde69169d3a91d7fa77a34d21 (diff)
downloadQt-1640d74f61ccc4921e5d26ddfe7f3613f0221da4.zip
Qt-1640d74f61ccc4921e5d26ddfe7f3613f0221da4.tar.gz
Qt-1640d74f61ccc4921e5d26ddfe7f3613f0221da4.tar.bz2
Workaround for problems interworking RVCT-built s60main with GCCE apps
This is a workaround for the fact that removing --export_all_vtbl from the RVCT command line seems to cause problems when linking the static s60main lib with apps built with GCCE (at least 4.3, haven't tested earlier versions) The root cause still needs to be found and fixed, after which this workaround can hopefully be removed. Problem observed on Symbian^3 release, RVCT 2.2 build 686, GCC-E 2009q1-162 release from CodeSourcery. Reviewed-by: axis
-rw-r--r--mkspecs/common/symbian/symbian.conf3
-rw-r--r--mkspecs/features/static.prf5
2 files changed, 7 insertions, 1 deletions
diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf
index abc8a7a..b69e308 100644
--- a/mkspecs/common/symbian/symbian.conf
+++ b/mkspecs/common/symbian/symbian.conf
@@ -106,8 +106,9 @@ QMAKE_STRIPFLAGS_LIB += --strip-unneeded
load(qt_config)
load(platform_paths)
+MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA = "OPTION_REPLACE ARMCC --export_all_vtbl // don't use --export_all_vtbl"
MMP_RULES += PAGED
-MMP_RULES += "OPTION_REPLACE ARMCC --export_all_vtbl // don't use --export_all_vtbl"
+MMP_RULES += $$MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA
SYMBIAN_PLATFORMS = WINSCW GCCE ARMV5 ARMV6
# Legacy support requires some hardcoded stdapis paths.
diff --git a/mkspecs/features/static.prf b/mkspecs/features/static.prf
index 7ee7a8a..21a532e 100644
--- a/mkspecs/features/static.prf
+++ b/mkspecs/features/static.prf
@@ -12,4 +12,9 @@ mac {
CONFIG += hide_symbols
}
+symbian {
+ # we don't care about exports from static libraries, as they don't end up in DEF files
+ MMP_RULES -= $$MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA
+}
+
!static_and_shared:fix_output_dirs:fixExclusiveOutputDirs(static, shared)