From 1640d74f61ccc4921e5d26ddfe7f3613f0221da4 Mon Sep 17 00:00:00 2001 From: Iain Date: Fri, 18 Sep 2009 10:53:39 +0100 Subject: 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 --- mkspecs/common/symbian/symbian.conf | 3 ++- mkspecs/features/static.prf | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) 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) -- cgit v0.12