mkspecs/common/symbian/symbian.conf
changeset 37 758a864f9613
parent 33 3e2da88830cd
--- a/mkspecs/common/symbian/symbian.conf	Fri Sep 17 08:34:18 2010 +0300
+++ b/mkspecs/common/symbian/symbian.conf	Mon Oct 04 01:19:32 2010 +0300
@@ -70,7 +70,12 @@
 QMAKE_LIBS_GUI          = $$QMAKE_LIBS_CORE -lfbscli -lbitgdi -lgdi -lws32 -lapgrfx -lcone -leikcore -lmediaclientaudio -lapparc -lcentralrepository
 QMAKE_LIBS_NETWORK      = 
 QMAKE_LIBS_EGL          = -llibEGL
-QMAKE_LIBS_OPENGL       = 
+QMAKE_LIBS_OPENGL       = -llibglesv2
+QMAKE_LIBS_OPENGL_ES1   = -llibGLESv1_CM
+QMAKE_LIBS_OPENGL_ES2   = -llibglesv2
+QMAKE_LIBS_OPENGL_QT     = -llibglesv2 -lcone -lws32
+QMAKE_LIBS_OPENGL_ES1_QT = -llibGLESv1_CM -lcone -lws32
+QMAKE_LIBS_OPENGL_ES2_QT = -llibglesv2 -lcone -lws32
 QMAKE_LIBS_OPENVG       = -llibOpenVG -lfbscli -lbitgdi -lgdi
 QMAKE_LIBS_THREAD       = -llibpthread
 QMAKE_LIBS_COMPAT       = 
@@ -112,13 +117,46 @@
 
 QT_ARCH               = symbian
 
+load(qt_config)
+
 # These directories must match what configure uses for QT_INSTALL_PLUGINS and QT_INSTALL_IMPORTS
 QT_PLUGINS_BASE_DIR = /resource/qt$${QT_LIBINFIX}/plugins
 QT_IMPORTS_BASE_DIR = /resource/qt/imports
 
-load(qt_config)
 load(symbian/platform_paths)
 
+# 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
+    } 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
+            }
+        }
+    }
+}
+
+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.
@@ -137,3 +175,21 @@
 
 DEPLOYMENT += default_deployment
 
+defineReplace(symbianRemoveSpecialCharacters) {
+    # Produce identical string to what SymbianCommonGenerator::removeSpecialCharacters and
+    # SymbianCommonGenerator::removeEpocSpecialCharacters produce
+
+    fixedStr = $$1
+
+    fixedStr = $$replace(fixedStr, /,_)
+    fixedStr = $$replace(fixedStr, \\\\,_)
+    fixedStr = $$replace(fixedStr, " ",_)
+    symbian-abld|symbian-sbsv2 {
+        fixedStr = $$replace(fixedStr, -,_)
+        fixedStr = $$replace(fixedStr, \\.,_)
+        fixedStr = $$replace(fixedStr, :,_)
+    }
+
+    return ($$fixedStr)
+}
+