summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron McCarthy <aaron.mccarthy@nokia.com>2010-06-02 05:41:22 (GMT)
committerAaron McCarthy <aaron.mccarthy@nokia.com>2010-06-02 08:36:22 (GMT)
commitcd50f97a9f09eece645c9d7d01cb14c04521a915 (patch)
treeab6d25d1b9404e6e56a5e07f001d47fa08026722
parent65f4148dc8c2ecd6538c1e2313c633d65e2b7fcc (diff)
downloadQt-cd50f97a9f09eece645c9d7d01cb14c04521a915.zip
Qt-cd50f97a9f09eece645c9d7d01cb14c04521a915.tar.gz
Qt-cd50f97a9f09eece645c9d7d01cb14c04521a915.tar.bz2
Split Symbian bearer plugin into three platform specfic plugins
Symbian bearer plugin has more functionality when built for newer platforms, so split the plugin into three platform specific plugins, and deploy the correct one depending on what the device supports. Written by: Miikka Heikkinen <miikka.heikkinen@digia.com>
-rw-r--r--src/plugins/bearer/symbian/3_1/3_1.pro4
-rw-r--r--src/plugins/bearer/symbian/3_2/3_2.pro12
-rw-r--r--src/plugins/bearer/symbian/symbian.pri30
-rw-r--r--src/plugins/bearer/symbian/symbian.pro42
-rw-r--r--src/plugins/bearer/symbian/symbian_3/symbian_3.pro14
-rw-r--r--src/s60installs/qsymbianbearer.qtplugin1
-rw-r--r--src/s60installs/s60installs.pro25
7 files changed, 81 insertions, 47 deletions
diff --git a/src/plugins/bearer/symbian/3_1/3_1.pro b/src/plugins/bearer/symbian/3_1/3_1.pro
new file mode 100644
index 0000000..a60d18b
--- /dev/null
+++ b/src/plugins/bearer/symbian/3_1/3_1.pro
@@ -0,0 +1,4 @@
+include(../symbian.pri)
+
+LIBS += -lapengine
+TARGET = $${TARGET}_3_1
diff --git a/src/plugins/bearer/symbian/3_2/3_2.pro b/src/plugins/bearer/symbian/3_2/3_2.pro
new file mode 100644
index 0000000..4e5b416
--- /dev/null
+++ b/src/plugins/bearer/symbian/3_2/3_2.pro
@@ -0,0 +1,12 @@
+include(../symbian.pri)
+
+exists($${EPOCROOT}epoc32/release/winscw/udeb/cmmanager.lib)| \
+exists($${EPOCROOT}epoc32/release/armv5/lib/cmmanager.lib) {
+ DEFINES += SNAP_FUNCTIONALITY_AVAILABLE
+ LIBS += -lcmmanager
+} else {
+ # Fall back to 3_1 implementation on platforms that do not have cmmanager
+ LIBS += -lapengine
+}
+
+TARGET = $${TARGET}_3_2
diff --git a/src/plugins/bearer/symbian/symbian.pri b/src/plugins/bearer/symbian/symbian.pri
new file mode 100644
index 0000000..bfcd9ed
--- /dev/null
+++ b/src/plugins/bearer/symbian/symbian.pri
@@ -0,0 +1,30 @@
+TARGET = qsymbianbearer
+include(../../qpluginbase.pri)
+
+QT += network
+
+HEADERS += ../symbianengine.h \
+ ../qnetworksession_impl.h
+
+SOURCES += ../symbianengine.cpp \
+ ../qnetworksession_impl.cpp \
+ ../main.cpp
+
+TARGET.UID3=0x20021319
+
+INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+symbian-abld:INCLUDEPATH += $$QT_BUILD_TREE/include/QtNetwork/private
+
+LIBS += -lcommdb \
+ -lapsettingshandlerui \
+ -lconnmon \
+ -lcentralrepository \
+ -lesock \
+ -linsock \
+ -lecom \
+ -lefsrv \
+ -lnetmeta
+
+QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/bearer
+target.path += $$[QT_INSTALL_PLUGINS]/bearer
+INSTALLS += target
diff --git a/src/plugins/bearer/symbian/symbian.pro b/src/plugins/bearer/symbian/symbian.pro
index 4f1e51c..f320eb6 100644
--- a/src/plugins/bearer/symbian/symbian.pro
+++ b/src/plugins/bearer/symbian/symbian.pro
@@ -1,41 +1,3 @@
-TARGET = qsymbianbearer
-include(../../qpluginbase.pri)
+TEMPLATE = subdirs
-QT += network
-
-HEADERS += symbianengine.h \
- qnetworksession_impl.h
-
-SOURCES += symbianengine.cpp \
- qnetworksession_impl.cpp \
- main.cpp
-
-symbian {
- TARGET.UID3=0x20021319
- exists($${EPOCROOT}epoc32/release/winscw/udeb/cmmanager.lib)| \
- exists($${EPOCROOT}epoc32/release/armv5/lib/cmmanager.lib) {
- message("Building with SNAP support")
- DEFINES += SNAP_FUNCTIONALITY_AVAILABLE
- LIBS += -lcmmanager
- } else {
- message("Building without SNAP support")
- LIBS += -lapengine
- }
-}
-
-INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
-symbian-abld:INCLUDEPATH += $$QT_BUILD_TREE/include/QtNetwork/private
-
-LIBS += -lcommdb \
- -lapsettingshandlerui \
- -lconnmon \
- -lcentralrepository \
- -lesock \
- -linsock \
- -lecom \
- -lefsrv \
- -lnetmeta
-
-QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/bearer
-target.path += $$[QT_INSTALL_PLUGINS]/bearer
-INSTALLS += target
+SUBDIRS += 3_1 3_2 symbian_3 \ No newline at end of file
diff --git a/src/plugins/bearer/symbian/symbian_3/symbian_3.pro b/src/plugins/bearer/symbian/symbian_3/symbian_3.pro
new file mode 100644
index 0000000..455aa67
--- /dev/null
+++ b/src/plugins/bearer/symbian/symbian_3/symbian_3.pro
@@ -0,0 +1,14 @@
+include(../symbian.pri)
+
+exists($${EPOCROOT}epoc32/release/winscw/udeb/cmmanager.lib)| \
+exists($${EPOCROOT}epoc32/release/armv5/lib/cmmanager.lib) {
+ DEFINES += SNAP_FUNCTIONALITY_AVAILABLE
+ LIBS += -lcmmanager
+
+ exists($$MW_LAYER_PUBLIC_EXPORT_PATH(extendedconnpref.h)) {
+ DEFINES += OCC_FUNCTIONALITY_AVAILABLE
+ }
+} else {
+ # Fall back to 3_1 implementation on platforms that do not have cmmanager
+ LIBS += -lapengine
+}
diff --git a/src/s60installs/qsymbianbearer.qtplugin b/src/s60installs/qsymbianbearer.qtplugin
new file mode 100644
index 0000000..5c45bdd
--- /dev/null
+++ b/src/s60installs/qsymbianbearer.qtplugin
@@ -0,0 +1 @@
+This file is a Qt plugin stub file. The real Qt plugin is located in /sys/bin. Created:2010-06-02T14:02:21
diff --git a/src/s60installs/s60installs.pro b/src/s60installs/s60installs.pro
index 90c362b..15d7830 100644
--- a/src/s60installs/s60installs.pro
+++ b/src/s60installs/s60installs.pro
@@ -51,20 +51,35 @@ symbian: {
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 /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_3_2$${QT_LIBINFIX}.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_3_2$${QT_LIBINFIX}.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_3_1$${QT_LIBINFIX}.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
@@ -111,15 +126,11 @@ symbian: {
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