src/s60installs/s60installs.pro
changeset 33 3e2da88830cd
parent 30 5dc02b23752f
child 37 758a864f9613
--- a/src/s60installs/s60installs.pro	Tue Jul 06 15:10:48 2010 +0300
+++ b/src/s60installs/s60installs.pro	Wed Aug 18 10:37:55 2010 +0300
@@ -11,21 +11,24 @@
 
     isEmpty(QT_LIBINFIX) {
         TARGET.UID3 = 0x2001E61C
-
-        # sqlite3 is expected to be already found on phone if infixed configuration is built.
-        BLD_INF_RULES.prj_exports += \
-            "sqlite3.sis $${EPOCROOT}epoc32/data/qt/sis/sqlite3.sis" \
-            "sqlite3_selfsigned.sis $${EPOCROOT}epoc32/data/qt/sis/sqlite3_selfsigned.sis"
-        symbian-abld|symbian-sbsv2 {
-            sqlitedeployment = \
-                "; Deploy sqlite onto phone that does not have it already" \
-                "@\"$${EPOCROOT}epoc32/data/qt/sis/sqlite3.sis\", (0x2002af5f)"
-        } else {
-            sqlitedeployment = \
-                "; Deploy sqlite onto phone that does not have it already" \
-                "@\"$${PWD}/sqlite3.sis\", (0x2002af5f)"
+        
+        # Sqlite3 is expected to be already found on phone if infixed configuration is built.
+        # It is also expected that devices newer than those based on S60 5.0 all have sqlite3.dll.
+        contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) {            
+            BLD_INF_RULES.prj_exports += \
+                "sqlite3.sis /epoc32/data/qt/sis/sqlite3.sis" \
+                "sqlite3_selfsigned.sis /epoc32/data/qt/sis/sqlite3_selfsigned.sis"
+            symbian-abld|symbian-sbsv2 {
+                sqlitedeployment = \
+                    "; Deploy sqlite onto phone that does not have it already" \
+                    "@\"$${EPOCROOT}epoc32/data/qt/sis/sqlite3.sis\", (0x2002af5f)"
+            } else {
+                sqlitedeployment = \
+                    "; Deploy sqlite onto phone that does not have it already" \
+                    "@\"$${PWD}/sqlite3.sis\", (0x2002af5f)"
+            }
+            qtlibraries.pkg_postrules += sqlitedeployment
         }
-        qtlibraries.pkg_postrules += sqlitedeployment
     } else {
         # Always use experimental UID for infixed configuration to avoid UID clash
         TARGET.UID3 = 0xE001E61C
@@ -51,20 +54,35 @@
 
     symbian-abld|symbian-sbsv2 {
         pluginLocations = $${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)
+        bearerPluginLocation = $${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)
+        bearerStubZ = $${EPOCROOT}$${HW_ZDIR}$${QT_PLUGINS_BASE_DIR}/bearer/qsymbianbearer$${QT_LIBINFIX}.qtplugin
+        BLD_INF_RULES.prj_exports += \
+            "qsymbianbearer.qtplugin $$bearerStubZ" \
+            "qsymbianbearer.qtplugin $${EPOCROOT}epoc32/winscw/c$${QT_PLUGINS_BASE_DIR}/bearer/qsymbianbearer$${QT_LIBINFIX}.qtplugin"
     } else {
         pluginLocations = $$QT_BUILD_TREE/plugins/s60
+        bearerPluginLocation = $$QT_BUILD_TREE/plugins/bearer
+        bearerStubZ = $${PWD}/qsymbianbearer.qtplugin
     }
 
     qts60plugindeployment = \
-        "IF package(0x1028315F)" \
+        "IF package(0x20022E6D)" \
         "   \"$$pluginLocations/qts60plugin_5_0$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qts60plugin_5_0$${QT_LIBINFIX}.dll\"" \
+        "   \"$$bearerPluginLocation/qsymbianbearer$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \
+        "ELSEIF package(0x1028315F)" \
+        "   \"$$pluginLocations/qts60plugin_5_0$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qts60plugin_5_0$${QT_LIBINFIX}.dll\"" \
+        "   \"$$bearerPluginLocation/qsymbianbearer$${QT_LIBINFIX}_3_2.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \
         "ELSEIF package(0x102752AE)" \
         "   \"$$pluginLocations/qts60plugin_3_2$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qts60plugin_3_2$${QT_LIBINFIX}.dll\"" \
+        "   \"$$bearerPluginLocation/qsymbianbearer$${QT_LIBINFIX}_3_2.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \
         "ELSEIF package(0x102032BE)" \
         "   \"$$pluginLocations/qts60plugin_3_1$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qts60plugin_3_1$${QT_LIBINFIX}.dll\"" \
+        "   \"$$bearerPluginLocation/qsymbianbearer$${QT_LIBINFIX}_3_1.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \
         "ELSE" \
         "   \"$$pluginLocations/qts60plugin_5_0$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qts60plugin_5_0$${QT_LIBINFIX}.dll\"" \
-        "ENDIF"
+        "   \"$$bearerPluginLocation/qsymbianbearer$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \
+        "ENDIF" \
+        "   \"$$bearerStubZ\" - \"c:$$replace(QT_PLUGINS_BASE_DIR,/,\\)\\bearer\\qsymbianbearer$${QT_LIBINFIX}.qtplugin\"
     qtlibraries.pkg_postrules += qts60plugindeployment
 
 
@@ -81,12 +99,16 @@
 
     qtlibraries.pkg_prerules = vendorinfo
     qtlibraries.pkg_prerules += "; Dependencies of Qt libraries"
-    qtlibraries.pkg_prerules += "(0x20013851), 1, 5, 1, {\"PIPS Installer\"}"
-    contains(QT_CONFIG, openssl) | contains(QT_CONFIG, openssl-linked) {
-        qtlibraries.pkg_prerules += "(0x200110CB), 1, 5, 1, {\"Open C LIBSSL Common\"}"
-    }
-    contains(CONFIG, stl) {
-        qtlibraries.pkg_prerules += "(0x2000F866), 1, 0, 0, {\"Standard C++ Library Common\"}"
+    
+    # It is expected that Symbian^3 and newer phones will have sufficiently new OpenC already installed
+    contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) {                
+        qtlibraries.pkg_prerules += "(0x20013851), 1, 5, 1, {\"PIPS Installer\"}"
+        contains(QT_CONFIG, openssl) | contains(QT_CONFIG, openssl-linked) {
+            qtlibraries.pkg_prerules += "(0x200110CB), 1, 5, 1, {\"Open C LIBSSL Common\"}"
+        }
+        contains(CONFIG, stl) {
+            qtlibraries.pkg_prerules += "(0x2000F866), 1, 0, 0, {\"Standard C++ Library Common\"}"
+        }
     }
     qtlibraries.pkg_prerules += "(0x2002af5f), 0, 5, 0, {\"sqlite3\"}"
 
@@ -111,15 +133,11 @@
     qtbackup.sources = backup_registration.xml
     qtbackup.path = c:/private/10202D56/import/packages/$$replace(TARGET.UID3, 0x,)
 
-    bearer_plugins.path = c:$$QT_PLUGINS_BASE_DIR/bearer
-    bearer_plugins.sources += $$QT_BUILD_TREE/plugins/bearer/qsymbianbearer$${QT_LIBINFIX}.dll
-
     DEPLOYMENT += qtlibraries \
                   qtbackup \
                   imageformats_plugins \
                   codecs_plugins \
-                  graphicssystems_plugins \
-                  bearer_plugins
+                  graphicssystems_plugins
 
     contains(QT_CONFIG, svg): {
        qtlibraries.sources += $$QMAKE_LIBDIR_QT/QtSvg$${QT_LIBINFIX}.dll
@@ -143,12 +161,32 @@
 
     contains(QT_CONFIG, declarative): {
         qtlibraries.sources += $$QMAKE_LIBDIR_QT/QtDeclarative$${QT_LIBINFIX}.dll
+
+        folderlistmodelImport.sources = $$QT_BUILD_TREE/imports/Qt/labs/folderlistmodel/qmlfolderlistmodelplugin$${QT_LIBINFIX}.dll
+        gesturesImport.sources = $$QT_BUILD_TREE/imports/Qt/labs/gestures/qmlgesturesplugin$${QT_LIBINFIX}.dll
+        particlesImport.sources = $$QT_BUILD_TREE/imports/Qt/labs/particles/qmlparticlesplugin$${QT_LIBINFIX}.dll
+
+        folderlistmodelImport.sources += $$QT_SOURCE_TREE/src/imports/folderlistmodel/qmldir
+        gesturesImport.sources += $$QT_SOURCE_TREE/src/imports/gestures/qmldir
+        particlesImport.sources += $$QT_SOURCE_TREE/src/imports/particles/qmldir
+
+        folderlistmodelImport.path = c:$$QT_IMPORTS_BASE_DIR/Qt/labs/folderlistmodel
+        gesturesImport.path = c:$$QT_IMPORTS_BASE_DIR/Qt/labs/gestures
+        particlesImport.path = c:$$QT_IMPORTS_BASE_DIR/Qt/labs/particles
+
+        DEPLOYMENT += folderlistmodelImport gesturesImport particlesImport
     }
 
     graphicssystems_plugins.path = c:$$QT_PLUGINS_BASE_DIR/graphicssystems
     contains(QT_CONFIG, openvg) {
         qtlibraries.sources += $$QMAKE_LIBDIR_QT/QtOpenVG$${QT_LIBINFIX}.dll
         graphicssystems_plugins.sources += $$QT_BUILD_TREE/plugins/graphicssystems/qvggraphicssystem$${QT_LIBINFIX}.dll
+        # OpenVG requires Symbian^3 or later
+        pkg_platform_dependencies -= \
+            "[0x101F7961],0,0,0,{\"S60ProductID\"}" \
+            "[0x102032BE],0,0,0,{\"S60ProductID\"}" \
+            "[0x102752AE],0,0,0,{\"S60ProductID\"}" \
+            "[0x1028315F],0,0,0,{\"S60ProductID\"}"
     }
 
     contains(QT_CONFIG, multimedia){