13 # Remove mkspecs/common/symbian/stl-off from beginning of includepath |
13 # Remove mkspecs/common/symbian/stl-off from beginning of includepath |
14 # in order to use new and delete operators from STL |
14 # in order to use new and delete operators from STL |
15 INCLUDEPATH -= $$[QT_INSTALL_PREFIX]/mkspecs/common/symbian/stl-off |
15 INCLUDEPATH -= $$[QT_INSTALL_PREFIX]/mkspecs/common/symbian/stl-off |
16 |
16 |
17 # libstdcppv5 is preferred over libstdcpp as it has/uses the throwing version of operator new |
17 # libstdcppv5 is preferred over libstdcpp as it has/uses the throwing version of operator new |
18 STL_LIB = -llibstdcppv5.dll |
|
19 |
|
20 # STDCPP turns on standard C++ new behaviour (ie. throwing new) |
18 # STDCPP turns on standard C++ new behaviour (ie. throwing new) |
21 STL_MMP_RULE = "STDCPP" |
19 use_libstdcppv5 = true |
22 |
20 |
23 # Fall back to old implementation if that is the only one that is found |
21 # Fall back to old implementation if that is the only one that is found |
24 exists($${EPOCROOT}epoc32/release/armv5/lib/libstdcpp.dso)|exists($${EPOCROOT}epoc32/release/winscw/udeb/libstdcpp.dll) { |
22 exists($${EPOCROOT}epoc32/release/armv5/lib/libstdcpp.dso)|exists($${EPOCROOT}epoc32/release/winscw/udeb/libstdcpp.dll) { |
25 !exists($${EPOCROOT}epoc32/release/armv5/lib/libstdcppv5.dso):!exists($${EPOCROOT}epoc32/release/winscw/udeb/libstdcppv5.dll) { |
23 !exists($${EPOCROOT}epoc32/release/armv5/lib/libstdcppv5.dso):!exists($${EPOCROOT}epoc32/release/winscw/udeb/libstdcppv5.dll) { |
26 STL_LIB = -llibstdcpp.dll |
24 use_libstdcppv5 = false |
27 STL_MMP_RULE = |
|
28 } |
25 } |
29 } |
26 } |
30 |
27 |
31 LIBS *= $$STL_LIB |
28 equals(use_libstdcppv5, true) { |
32 MMP_RULES *= $$STL_MMP_RULE |
29 LIBS *= -llibstdcppv5.dll |
|
30 symbian-abld|symbian-sbsv2 { |
|
31 MMP_RULES *= "STDCPP" |
|
32 } else { |
|
33 DEFINES *= __SYMBIAN_STDCPP_SUPPORT__ |
|
34 LIBS *= -lstdnew.dll |
|
35 } |
|
36 } else { |
|
37 LIBS *= -llibstdcpp.dll |
|
38 } |