From 3938464eb37a395acfd135e66c722eddf6d6ed1a Mon Sep 17 00:00:00 2001 From: Iain Date: Thu, 4 Jun 2009 12:11:59 +0200 Subject: Ensure the correct set of symbols are exported in the DEF files (part 1) For DLLs using Qt-style class level exports, ensure that only public symbols are exported For static libraries (static, staticlib configs) we don't want/need/ can't have a DEF file --- mkspecs/common/symbian/symbian.conf | 3 ++- src/plugins/s60/s60pluginbase.pri | 3 ++- src/qbase.pri | 13 +++++++++++-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf index af2be8f..3ba2a8c 100644 --- a/mkspecs/common/symbian/symbian.conf +++ b/mkspecs/common/symbian/symbian.conf @@ -106,7 +106,8 @@ QMAKE_STRIPFLAGS_LIB += --strip-unneeded load(qt_config) load(platform_paths) -MMP_RULES += EXPORTUNFROZEN PAGED +MMP_RULES += PAGED +MMP_RULES += "OPTION_REPLACE ARMCC --export_all_vtbl // don't use --export_all_vtbl" SYMBIAN_PLATFORMS = WINSCW GCCE ARMV5 ARMV6 # Legacy support requires some hardcoded stdapis paths. diff --git a/src/plugins/s60/s60pluginbase.pri b/src/plugins/s60/s60pluginbase.pri index 0e11c7e..29e8eb3 100644 --- a/src/plugins/s60/s60pluginbase.pri +++ b/src/plugins/s60/s60pluginbase.pri @@ -3,7 +3,8 @@ include(../../qpluginbase.pri) CONFIG -= plugin -MMP_RULES -= EXPORTUNFROZEN + +MMP_RULES += NOEXPORTLIBRARY defBlock = \ "$${LITERAL_HASH}ifdef WINSCW" \ diff --git a/src/qbase.pri b/src/qbase.pri index 137b933..b285d88 100644 --- a/src/qbase.pri +++ b/src/qbase.pri @@ -90,9 +90,18 @@ win32 { !static: DEFINES+=QT_MAKEDLL } symbian { - !static { + shared { DEFINES+=QT_MAKEDLL - TARGET.CAPABILITY = All -Tcb + TARGET.CAPABILITY = All -Tcb + + defBlock = \ + "$${LITERAL_HASH}ifdef WINSCW" \ + "DEFFILE ../s60installs/bwins/$${TARGET}.def" \ + "$${LITERAL_HASH}elif defined EABI" \ + "DEFFILE ../s60installs/eabi/$${TARGET}.def" \ + "$${LITERAL_HASH}endif" + + MMP_RULES += defBlock } load(armcc_warnings) } -- cgit v0.12