From f937d985e9599c16e72b504c404bc8232787c98e Mon Sep 17 00:00:00 2001
From: axis <qt-info@nokia.com>
Date: Fri, 30 Jul 2010 09:10:47 +0200
Subject: Fixed additional case differences between Gnupoc and Symbian^3.

RevBy:    Trust me
---
 mkspecs/common/symbian/header-wrappers/AknBitmapAnimation.h   |  1 +
 mkspecs/common/symbian/header-wrappers/AknFontAccess.h        |  1 +
 mkspecs/common/symbian/header-wrappers/AknInputLanguageInfo.h |  1 +
 mkspecs/common/symbian/header-wrappers/ApAccessPointItem.h    |  1 +
 mkspecs/common/symbian/header-wrappers/ApDataHandler.h        |  1 +
 mkspecs/common/symbian/header-wrappers/ApUtils.h              |  1 +
 mkspecs/common/symbian/symbian-makefile.conf                  |  7 ++++++-
 src/gui/inputmethod/qinputcontextfactory.cpp                  |  2 +-
 src/gui/s60framework/qs60maindocument.h                       |  2 +-
 src/gui/styles/qs60style_s60.cpp                              |  6 +++---
 src/plugins/bearer/symbian/3_1/3_1.pro                        |  6 +++++-
 src/plugins/bearer/symbian/symbian.pri                        | 10 ++++++++--
 src/plugins/bearer/symbian/symbian_3/symbian_3.pro            |  6 +++++-
 src/plugins/bearer/symbian/symbianengine.cpp                  |  6 +++---
 14 files changed, 38 insertions(+), 13 deletions(-)
 create mode 100644 mkspecs/common/symbian/header-wrappers/AknBitmapAnimation.h
 create mode 100644 mkspecs/common/symbian/header-wrappers/AknFontAccess.h
 create mode 100644 mkspecs/common/symbian/header-wrappers/AknInputLanguageInfo.h
 create mode 100644 mkspecs/common/symbian/header-wrappers/ApAccessPointItem.h
 create mode 100644 mkspecs/common/symbian/header-wrappers/ApDataHandler.h
 create mode 100644 mkspecs/common/symbian/header-wrappers/ApUtils.h

diff --git a/mkspecs/common/symbian/header-wrappers/AknBitmapAnimation.h b/mkspecs/common/symbian/header-wrappers/AknBitmapAnimation.h
new file mode 100644
index 0000000..d53605e
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/AknBitmapAnimation.h
@@ -0,0 +1 @@
+#include <aknbitmapanimation.h>
diff --git a/mkspecs/common/symbian/header-wrappers/AknFontAccess.h b/mkspecs/common/symbian/header-wrappers/AknFontAccess.h
new file mode 100644
index 0000000..e33baaf
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/AknFontAccess.h
@@ -0,0 +1 @@
+#include <aknfontaccess.h>
diff --git a/mkspecs/common/symbian/header-wrappers/AknInputLanguageInfo.h b/mkspecs/common/symbian/header-wrappers/AknInputLanguageInfo.h
new file mode 100644
index 0000000..5f993d7
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/AknInputLanguageInfo.h
@@ -0,0 +1 @@
+#include <akninputlanguageinfo.h>
diff --git a/mkspecs/common/symbian/header-wrappers/ApAccessPointItem.h b/mkspecs/common/symbian/header-wrappers/ApAccessPointItem.h
new file mode 100644
index 0000000..75b6c69
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/ApAccessPointItem.h
@@ -0,0 +1 @@
+#include <apaccesspointitem.h>
diff --git a/mkspecs/common/symbian/header-wrappers/ApDataHandler.h b/mkspecs/common/symbian/header-wrappers/ApDataHandler.h
new file mode 100644
index 0000000..b7b972d
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/ApDataHandler.h
@@ -0,0 +1 @@
+#include <apdatahandler.h>
diff --git a/mkspecs/common/symbian/header-wrappers/ApUtils.h b/mkspecs/common/symbian/header-wrappers/ApUtils.h
new file mode 100644
index 0000000..09cedce
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/ApUtils.h
@@ -0,0 +1 @@
+#include <aputils.h>
diff --git a/mkspecs/common/symbian/symbian-makefile.conf b/mkspecs/common/symbian/symbian-makefile.conf
index b1ca367..364e91b 100644
--- a/mkspecs/common/symbian/symbian-makefile.conf
+++ b/mkspecs/common/symbian/symbian-makefile.conf
@@ -29,7 +29,12 @@ QMAKE_PREFIX_STATICLIB =
 QMAKE_EXTENSION_STATICLIB = lib
 QMAKE_SYMBIAN_SHLIB   = 1
 
-DEFINES *= __PRODUCT_INCLUDE__=\\<$${EPOCROOT}epoc32/include/variant/symbian_os.hrh\\> \
+is_using_gnupoc {
+    DEFINES *= __PRODUCT_INCLUDE__=\\<$${EPOCROOT}epoc32/include/variant/symbian_os.hrh\\>
+} else {
+    DEFINES *= __PRODUCT_INCLUDE__=\\<$${EPOCROOT}epoc32/include/variant/Symbian_OS.hrh\\>
+}
+DEFINES *= \
     __SYMBIAN32__ \
     __MARM_INTERWORK__ \
     _UNICODE \
diff --git a/src/gui/inputmethod/qinputcontextfactory.cpp b/src/gui/inputmethod/qinputcontextfactory.cpp
index ec8d8e2..865c1b2 100644
--- a/src/gui/inputmethod/qinputcontextfactory.cpp
+++ b/src/gui/inputmethod/qinputcontextfactory.cpp
@@ -73,7 +73,7 @@
 #endif
 #ifdef Q_WS_S60
 #include "qcoefepinputcontext_p.h"
-#include "akninputlanguageinfo.h"
+#include "AknInputLanguageInfo.h"
 #endif
 
 #include "private/qfactoryloader_p.h"
diff --git a/src/gui/s60framework/qs60maindocument.h b/src/gui/s60framework/qs60maindocument.h
index 2f0564f..fc32d8b 100644
--- a/src/gui/s60framework/qs60maindocument.h
+++ b/src/gui/s60framework/qs60maindocument.h
@@ -47,7 +47,7 @@
 #ifdef Q_OS_SYMBIAN
 
 #ifdef Q_WS_S60
-#include <akndoc.h>
+#include <AknDoc.h>
 typedef CAknDocument QS60MainDocumentBase;
 #else
 #include <eikdoc.h>
diff --git a/src/gui/styles/qs60style_s60.cpp b/src/gui/styles/qs60style_s60.cpp
index 2527662..f44b85e 100644
--- a/src/gui/styles/qs60style_s60.cpp
+++ b/src/gui/styles/qs60style_s60.cpp
@@ -58,12 +58,12 @@
 #include <AknsSkinInstance.h>
 #include <AknsBasicBackgroundControlContext.h>
 #include <avkon.mbg>
-#include <aknfontaccess.h>
-#include <aknlayoutfont.h>
+#include <AknFontAccess.h>
+#include <AknLayoutFont.h>
 #include <AknUtils.h>
 #include <aknnavi.h>
 #include <gulicon.h>
-#include <aknbitmapanimation.h>
+#include <AknBitmapAnimation.h>
 
 #if !defined(QT_NO_STYLE_S60) || defined(QT_PLUGIN)
 
diff --git a/src/plugins/bearer/symbian/3_1/3_1.pro b/src/plugins/bearer/symbian/3_1/3_1.pro
index 2d721a8..b7c6aef 100644
--- a/src/plugins/bearer/symbian/3_1/3_1.pro
+++ b/src/plugins/bearer/symbian/3_1/3_1.pro
@@ -1,5 +1,9 @@
 include(../symbian.pri)
 
-LIBS += -lapengine
+is_using_gnupoc {
+    LIBS += -lapengine
+} else {
+    LIBS += -lAPEngine
+}
 TARGET = $${TARGET}_3_1
 TARGET.UID3 = 0x2002131C
diff --git a/src/plugins/bearer/symbian/symbian.pri b/src/plugins/bearer/symbian/symbian.pri
index afe84dc..9b3f50c 100644
--- a/src/plugins/bearer/symbian/symbian.pri
+++ b/src/plugins/bearer/symbian/symbian.pri
@@ -14,8 +14,6 @@ INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
 symbian-abld:INCLUDEPATH += $$QT_BUILD_TREE/include/QtNetwork/private
 
 LIBS += -lcommdb \
-        -lapsettingshandlerui \
-        -lconnmon \
         -lcentralrepository \
         -lesock \
         -linsock \
@@ -23,6 +21,14 @@ LIBS += -lcommdb \
         -lefsrv \
         -lnetmeta
 
+is_using_gnupoc {
+    LIBS += -lconnmon \
+            -lapsettingshandlerui
+} else {
+    LIBS += -lConnMon \
+            -lApSettingsHandlerUI
+}
+
 QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/bearer
 target.path += $$[QT_INSTALL_PLUGINS]/bearer
 INSTALLS += target
diff --git a/src/plugins/bearer/symbian/symbian_3/symbian_3.pro b/src/plugins/bearer/symbian/symbian_3/symbian_3.pro
index ff0f11c..fd66198 100644
--- a/src/plugins/bearer/symbian/symbian_3/symbian_3.pro
+++ b/src/plugins/bearer/symbian/symbian_3/symbian_3.pro
@@ -12,7 +12,11 @@ symbian {
         }
     } else {
         # Fall back to 3_1 implementation on platforms that do not have cmmanager
-        LIBS += -lapengine
+        is_using_gnupoc {
+            LIBS += -lapengine
+        } else {
+            LIBS += -lAPEngine
+        }
     }
 }
 
diff --git a/src/plugins/bearer/symbian/symbianengine.cpp b/src/plugins/bearer/symbian/symbianengine.cpp
index 4bd6d2f..a7e2936 100644
--- a/src/plugins/bearer/symbian/symbianengine.cpp
+++ b/src/plugins/bearer/symbian/symbianengine.cpp
@@ -63,9 +63,9 @@
     #include <cmpluginpacketdatadef.h>
     #include <cmplugindialcommondefs.h>
 #else
-    #include <apaccesspointitem.h>
-    #include <apdatahandler.h>
-    #include <aputils.h> 
+    #include <ApAccessPointItem.h>
+    #include <ApDataHandler.h>
+    #include <ApUtils.h>
 #endif
 
 #ifndef QT_NO_BEARERMANAGEMENT
-- 
cgit v0.12


From ee9d985f1a3d7071a83fc025c8b8d163effffbc0 Mon Sep 17 00:00:00 2001
From: axis <qt-info@nokia.com>
Date: Fri, 30 Jul 2010 09:12:03 +0200
Subject: Prevented makefile build system from using platform provided paths.

Platform paths provided by Symbian do not provide the full path to
headers. Ideally they should be used, by looking for and replacing
/epoc32 with the correct path. However, for now this is a good enough
solution.

RevBy:    Miikka Heikkinen
---
 mkspecs/features/symbian/platform_paths.prf | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/mkspecs/features/symbian/platform_paths.prf b/mkspecs/features/symbian/platform_paths.prf
index 5c190c8..f19898f 100644
--- a/mkspecs/features/symbian/platform_paths.prf
+++ b/mkspecs/features/symbian/platform_paths.prf
@@ -65,8 +65,11 @@ symbian-abld|symbian-sbsv2 {
     epocroot_prefix = $${EPOCROOT}
 }
 
-exists($${EPOCROOT}epoc32/include/platform_paths.prf) {
-    
+symbian-abld|symbian-sbsv2:exists($${EPOCROOT}epoc32/include/platform_paths.prf) {
+
+    # Symbian does not provide correct profiles for non-mmp based systems, so
+    # we only should get in here with abld and sbsv2.
+
     # Load platform specific paths
     load($${EPOCROOT}epoc32/include/platform_paths.prf)
 
-- 
cgit v0.12


From 6e449acfb98b31fbbdd44830af61376db45fdd8c Mon Sep 17 00:00:00 2001
From: axis <qt-info@nokia.com>
Date: Fri, 30 Jul 2010 09:22:17 +0200
Subject: Included libstdcppv5 support for the makefile build system.

RevBy:    Miikka Heikkinen
---
 mkspecs/features/symbian/stl.prf | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/mkspecs/features/symbian/stl.prf b/mkspecs/features/symbian/stl.prf
index 3091fce..2a3bce4 100644
--- a/mkspecs/features/symbian/stl.prf
+++ b/mkspecs/features/symbian/stl.prf
@@ -15,18 +15,24 @@ INCLUDEPATH += $$OS_LAYER_STDCPP_SYSTEMINCLUDE
 INCLUDEPATH -= $$[QT_INSTALL_PREFIX]/mkspecs/common/symbian/stl-off
 
 # libstdcppv5 is preferred over libstdcpp as it has/uses the throwing version of operator new
-STL_LIB = -llibstdcppv5.dll
-
 # STDCPP turns on standard C++ new behaviour (ie. throwing new)
-STL_MMP_RULE = "STDCPP"
+use_libstdcppv5 = true
 
 # Fall back to old implementation if that is the only one that is found
 exists($${EPOCROOT}epoc32/release/armv5/lib/libstdcpp.dso)|exists($${EPOCROOT}epoc32/release/winscw/udeb/libstdcpp.dll) {
     !exists($${EPOCROOT}epoc32/release/armv5/lib/libstdcppv5.dso):!exists($${EPOCROOT}epoc32/release/winscw/udeb/libstdcppv5.dll) {
-        STL_LIB = -llibstdcpp.dll
-        STL_MMP_RULE =
+        use_libstdcppv5 = false
     }
 }
 
-LIBS *= $$STL_LIB
-MMP_RULES *= $$STL_MMP_RULE
+equals(use_libstdcppv5, true) {
+    LIBS *= -llibstdcppv5.dll
+    symbian-abld|symbian-sbsv2 {
+        MMP_RULES *= "STDCPP"
+    } else {
+        DEFINES *= __SYMBIAN_STDCPP_SUPPORT__
+        LIBS *= -lstdnew.dll
+    }
+} else {
+    LIBS *= -llibstdcpp.dll
+}
-- 
cgit v0.12


From 737552b90fce50cd3a3eb6ab44be373d2aacf371 Mon Sep 17 00:00:00 2001
From: axis <qt-info@nokia.com>
Date: Fri, 30 Jul 2010 09:24:17 +0200
Subject: Fixed rvct.h header inclusion on Symbian^3.

RevBy:    Trust me
---
 mkspecs/symbian/linux-armcc/qmake.conf | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/mkspecs/symbian/linux-armcc/qmake.conf b/mkspecs/symbian/linux-armcc/qmake.conf
index f8072e3..f058421 100644
--- a/mkspecs/symbian/linux-armcc/qmake.conf
+++ b/mkspecs/symbian/linux-armcc/qmake.conf
@@ -31,7 +31,7 @@ QMAKE_QtWebKit_CXXFLAGS	=  --arm
 # Move RW-section base address to start from 0xE00000 instead of the toolchain default 0x400000.
 QMAKE_QtWebKit_LFLAGS	=  --rw-base 0xE00000
 
-QMAKE_CFLAGS		+= --dllimport_runtime --preinclude rvct2_2.h  --diag_suppress 186,611,654,1300 --thumb --fpu softvfp --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --no_vfe --apcs /inter
+QMAKE_CFLAGS		+= --dllimport_runtime --diag_suppress 186,611,654,1300 --thumb --fpu softvfp --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --no_vfe --apcs /inter
 QMAKE_CXXFLAGS		+= $$QMAKE_CFLAGS
 QMAKE_LFLAGS      	+=  --symver_soname --diag_suppress 6331,6780 --bpabi --reloc --datacompressor=off --split --dll --no_scanlib
 QMAKE_LFLAGS_APP        += --entry _E32Startup
@@ -47,7 +47,16 @@ QMAKE_LIBDIR += $${EPOCROOT}epoc32/release/armv5/lib
 QMAKE_LIBDIR *= $$(RVCT22LIB)
 
 INCLUDEPATH = $${EPOCROOT}epoc32/include \
-    $${EPOCROOT}epoc32/include/rvct2_2 \
     $${EPOCROOT}epoc32/include/variant \
     $${EPOCROOT}epoc32/include/stdapis \
     $$INCLUDEPATH
+
+exists($${EPOCROOT}epoc32/include/rvct2_2) {
+    INCLUDEPATH += $${EPOCROOT}epoc32/include/rvct2_2
+    QMAKE_CFLAGS += --preinclude rvct2_2.h
+    QMAKE_CXXFLAGS += --preinclude rvct2_2.h
+} else {
+    INCLUDEPATH += $${EPOCROOT}epoc32/include/rvct
+    QMAKE_CFLAGS += --preinclude rvct.h
+    QMAKE_CXXFLAGS += --preinclude rvct.h
+}
-- 
cgit v0.12


From 053e703fda93dcb31bfda8b4ea90631191a77f84 Mon Sep 17 00:00:00 2001
From: axis <qt-info@nokia.com>
Date: Fri, 30 Jul 2010 09:24:56 +0200
Subject: Fixed circular dependency warning.

RevBy:    Trust me
---
 src/src.pro | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/src.pro b/src/src.pro
index 9704716..f856a0c 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -112,6 +112,7 @@ src_webkit_declarative.target = sub-webkitdeclarative
    src_declarative.depends = src_gui src_script src_network
    src_plugins.depends = src_gui src_sql src_svg src_multimedia
    src_s60installs.depends = $$TOOLS_SUBDIRS $$SRC_SUBDIRS
+   src_s60installs.depends -= src_s60installs
    src_imports.depends = src_gui src_declarative
    contains(QT_CONFIG, webkit)  {
       src_webkit.depends = src_gui src_sql src_network
-- 
cgit v0.12


From 4e5622a850783264ecb6cb9f944bccc49cc73b86 Mon Sep 17 00:00:00 2001
From: axis <qt-info@nokia.com>
Date: Fri, 30 Jul 2010 11:48:24 +0200
Subject: Moved the S60 version detection to the common symbian profile.

RevBy:    Trust me
---
 mkspecs/common/symbian/symbian-mmp.conf | 19 +------------------
 mkspecs/common/symbian/symbian.conf     | 18 ++++++++++++++++++
 2 files changed, 19 insertions(+), 18 deletions(-)

diff --git a/mkspecs/common/symbian/symbian-mmp.conf b/mkspecs/common/symbian/symbian-mmp.conf
index 5a7b2d2..4230ad7 100644
--- a/mkspecs/common/symbian/symbian-mmp.conf
+++ b/mkspecs/common/symbian/symbian-mmp.conf
@@ -38,24 +38,7 @@ INCLUDEPATH = \
 # RVCT seems to do this automatically, but WINSCW compiler does not, so add it here.
 MMP_RULES += "USERINCLUDE ."
 
-exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.2.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.2.sis) {
-    S60_VERSION = 5.2 symbian3
-} else {
-    exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.1.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.1.sis) {
-        S60_VERSION = 5.1 symbian2
-    } else {
-        exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.0.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.0.sis) {
-            S60_VERSION = 5.0
-        } else {
-            exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v3.2.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v3.2.sis) {
-                S60_VERSION = 3.2
-            } else {
-                S60_VERSION = 3.1
-                MMP_RULES -= PAGED BYTEPAIRCOMPRESSTARGET
-            }
-        }
-    }
-}
+contains(S60_VERSION, 3.1):MMP_RULES -= PAGED BYTEPAIRCOMPRESSTARGET
 
 QMAKE_CXXFLAGS_FAST_VFP.ARMCC = --fpmode fast
 # [TODO] QMAKE_CXXFLAGS_FAST_VFP.GCCE =
diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf
index 7ec5c6c..161cfe9 100644
--- a/mkspecs/common/symbian/symbian.conf
+++ b/mkspecs/common/symbian/symbian.conf
@@ -119,6 +119,24 @@ QT_IMPORTS_BASE_DIR = /resource/qt/imports
 load(qt_config)
 load(symbian/platform_paths)
 
+exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.2.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.2.sis) {
+    S60_VERSION = 5.2 symbian3
+} else {
+    exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.1.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.1.sis) {
+        S60_VERSION = 5.1 symbian2
+    } else {
+        exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.0.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.0.sis) {
+            S60_VERSION = 5.0
+        } else {
+            exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v3.2.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v3.2.sis) {
+                S60_VERSION = 3.2
+            } else {
+                S60_VERSION = 3.1
+            }
+        }
+    }
+}
+
 # pkg_depends_webkit, pkg_depends_core, and pkg_platform_dependencies can be removed by developer
 # if multiple languages need to be supported by pkg file. In that case the developer should declare
 # multiple language compatible dependency statements him/herself.
-- 
cgit v0.12


From ca3c76a567602533ccdd2f7700ec915f675e6bef Mon Sep 17 00:00:00 2001
From: axis <qt-info@nokia.com>
Date: Mon, 2 Aug 2010 16:30:32 +0200
Subject: Added SYMBIAN_VERSION variable to qmake.

In addition, made Symbian^3 detection depend on libstdcppv5, which
seems like the only option in the public Symbian^3 PDK.

RevBy:    Miikka Heikkinen
---
 doc/src/development/qmake-manual.qdoc |  7 +++++++
 mkspecs/common/symbian/symbian.conf   | 20 +++++++++++++++++---
 2 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/doc/src/development/qmake-manual.qdoc b/doc/src/development/qmake-manual.qdoc
index 0fdeff8..baa30fc 100644
--- a/doc/src/development/qmake-manual.qdoc
+++ b/doc/src/development/qmake-manual.qdoc
@@ -3015,6 +3015,13 @@ For example:
 
     \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 150
 
+    \target SYMBIAN_VERSION
+    \section1 SYMBIAN_VERSION
+
+    \e {This is only used on the Symbian platform.}
+
+    Contains the version number of the underlying Symbian SDK; e.g. "9.2" or "Symbian3".
+
     \target TARGET
     \section1 TARGET
 
diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf
index 161cfe9..6d96b01 100644
--- a/mkspecs/common/symbian/symbian.conf
+++ b/mkspecs/common/symbian/symbian.conf
@@ -119,11 +119,13 @@ QT_IMPORTS_BASE_DIR = /resource/qt/imports
 load(qt_config)
 load(symbian/platform_paths)
 
-exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.2.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.2.sis) {
-    S60_VERSION = 5.2 symbian3
+# The Symbian^3 PDK does not necessarily contain the required sis files.
+# However, libstdcppv5 first appeared in Symbian^3 (S60 5.2), so check for that too.
+exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.2.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.2.sis)|exists($${EPOCROOT}epoc32/release/armv5/lib/libstdcppv5.dso) {
+    S60_VERSION = 5.2
 } else {
     exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.1.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.1.sis) {
-        S60_VERSION = 5.1 symbian2
+        S60_VERSION = 5.1
     } else {
         exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.0.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.0.sis) {
             S60_VERSION = 5.0
@@ -137,6 +139,18 @@ exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.2.sis)
     }
 }
 
+contains(S60_VERSION, "3\\.1") {
+    SYMBIAN_VERSION = 9.2
+} else:contains(S60_VERSION, "3\\.2") {
+    SYMBIAN_VERSION = 9.3
+} else:contains(S60_VERSION, "5\\.0") {
+    SYMBIAN_VERSION = 9.4
+} else:contains(S60_VERSION, "5\\.1") {
+    SYMBIAN_VERSION = Symbian2
+} else:contains(S60_VERSION, "5\\.2") {
+    SYMBIAN_VERSION = Symbian3
+}
+
 # pkg_depends_webkit, pkg_depends_core, and pkg_platform_dependencies can be removed by developer
 # if multiple languages need to be supported by pkg file. In that case the developer should declare
 # multiple language compatible dependency statements him/herself.
-- 
cgit v0.12


From d18e3ec7e4e63e2612af18796dd6a3171df6fdca Mon Sep 17 00:00:00 2001
From: axis <qt-info@nokia.com>
Date: Mon, 2 Aug 2010 16:20:57 +0200
Subject: Switched from using hardlinks to copies in Symbian building.

The problem with hardlinks is that things start to behave funny when
you build several times, because on the next compile, the target from
armlink is moved to the .sym file location, and in this case it will
be hardlinked too. In the end you have all three files (bare, .exe
and .sym) being hardlinked together, when the .sym should be an ELF
file and the other two should be an E32 image.

RevBy:    Trust me
---
 mkspecs/features/symbian/symbian_building.prf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mkspecs/features/symbian/symbian_building.prf b/mkspecs/features/symbian/symbian_building.prf
index c119c90..374fe21 100644
--- a/mkspecs/features/symbian/symbian_building.prf
+++ b/mkspecs/features/symbian/symbian_building.prf
@@ -186,7 +186,7 @@ contains(TEMPLATE, app):!contains(QMAKE_LINK, "^@:.*") {
                       $$elf2e32_LIBPATH \
                       $$capability \
                       $$QMAKE_ELF2E32_FLAGS \
-                      && ln "$${symbianDestdir}/$${baseTarget}.exe" "$${symbianDestdir}/$${baseTarget}" \
+                      && $$QMAKE_COPY "$${symbianDestdir}/$${baseTarget}.exe" "$${symbianDestdir}/$${baseTarget}" \
                       $$QMAKE_POST_LINK
     silent:QMAKE_POST_LINK = @echo postlinking $@ && $$QMAKE_POST_LINK
     QMAKE_DISTCLEAN += $${symbianDestdir}/$${baseTarget}.sym
-- 
cgit v0.12


From 63d56a0815fead98b4bedc5b039458eea455495e Mon Sep 17 00:00:00 2001
From: axis <qt-info@nokia.com>
Date: Tue, 3 Aug 2010 09:15:40 +0200
Subject: Fixed incorrect values for QSysInfo::symbianVersion().

RevBy:    Miikka Heikkinen
---
 src/corelib/global/qglobal.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp
index 861d77d..0e3a8d3 100644
--- a/src/corelib/global/qglobal.cpp
+++ b/src/corelib/global/qglobal.cpp
@@ -1877,9 +1877,9 @@ QSysInfo::SymbianVersion QSysInfo::symbianVersion()
     case SV_S60_5_0:
         return SV_9_4;
     case SV_S60_5_1:
-        return SV_9_4;
+        return SV_SF_2;
     case SV_S60_5_2:
-        return SV_9_4;
+        return SV_SF_3;
     default:
         return SV_Unknown;
     }
-- 
cgit v0.12