summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIain <qt-info@nokia.com>2009-06-04 10:11:59 (GMT)
committerIain <qt-info@nokia.com>2009-08-19 06:54:03 (GMT)
commit3938464eb37a395acfd135e66c722eddf6d6ed1a (patch)
treedfefda2c75ee50ab3765d61673ac46ea542b6d24
parenta1cfdc273bac90d58754c286810353ccb0be4b2e (diff)
downloadQt-3938464eb37a395acfd135e66c722eddf6d6ed1a.zip
Qt-3938464eb37a395acfd135e66c722eddf6d6ed1a.tar.gz
Qt-3938464eb37a395acfd135e66c722eddf6d6ed1a.tar.bz2
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
-rw-r--r--mkspecs/common/symbian/symbian.conf3
-rw-r--r--src/plugins/s60/s60pluginbase.pri3
-rw-r--r--src/qbase.pri13
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)
}