summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/symbian/stl.prf
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2009-06-10 12:26:12 (GMT)
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2009-06-10 12:26:12 (GMT)
commitea953378e71afaa4b6eb7c95bbe2e507b2ab6a7c (patch)
tree47a26e1c68b49477a15a383caf6c1c1d0397c276 /mkspecs/features/symbian/stl.prf
parent03b28bf56b2edd76ca55ec6e3702db7bca69e757 (diff)
parent1fddb14c4d0ee82ac66c89061e8a20932f961883 (diff)
downloadQt-ea953378e71afaa4b6eb7c95bbe2e507b2ab6a7c.zip
Qt-ea953378e71afaa4b6eb7c95bbe2e507b2ab6a7c.tar.gz
Qt-ea953378e71afaa4b6eb7c95bbe2e507b2ab6a7c.tar.bz2
Merge branch 'master' of git@scm.dev.troll.no:qt/qt-s60-public
Diffstat (limited to 'mkspecs/features/symbian/stl.prf')
-rw-r--r--mkspecs/features/symbian/stl.prf27
1 files changed, 23 insertions, 4 deletions
diff --git a/mkspecs/features/symbian/stl.prf b/mkspecs/features/symbian/stl.prf
index b91d783..f01cc18 100644
--- a/mkspecs/features/symbian/stl.prf
+++ b/mkspecs/features/symbian/stl.prf
@@ -9,11 +9,30 @@ DEFINES *= $$STLLIB_USAGE_DEFINES
# Legacy support requires some hardcoded stdapis paths.
# Note: Also the new header is used from STL when it is enabled
-INCLUDEPATH += \
- $${EPOCROOT}epoc32/include/stdapis/stlport \
- $$OS_LAYER_STDCPP_SYSTEMINCLUDE
-LIBS *= -llibstdcpp.dll
+INCLUDEPATH += $$OS_LAYER_STDCPP_SYSTEMINCLUDE \
+ $${EPOCROOT}epoc32/include/stdapis/stlport
# Remove mkspecs/common/symbian/stl-off from beginning of includepath
# in order to use new and delete operators from STL
INCLUDEPATH -= $$[QT_INSTALL_PREFIX]/mkspecs/common/symbian/stl-off
+
+# libstdcppv5 is preferred over libstdcpp as it has/uses the throwing version of operator new
+exists($${EPOCROOT}epoc32/release/armv5/urel/libstdcppv5.dll ) {
+ LIBS *= -llibstdcppv5.dll
+
+ # STDCPP turns on standard C++ new behaviour in SBSv2
+ MMP_RULES += "STDCPP"
+
+ # defining __SYMBIAN_STDCPP_SUPPORT__ turns on standard C++ new behaviour pre SBSv2
+ DEFINES += "__SYMBIAN_STDCPP_SUPPORT__"
+
+ # operator new is actually supplied in stdnew.lib for hardware builds
+ eabiStdNewLibBlock = \
+ "$${LITERAL_HASH}ifdef EABI" \
+ "LIBRARY stdnew.lib" \
+ "$${LITERAL_HASH}endif"
+
+ MMP_RULES += eabiStdNewLibBlock
+} else {
+ LIBS *= -llibstdcpp.dll
+}