summaryrefslogtreecommitdiffstats
path: root/doc/src/deployment
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2009-11-20 08:31:19 (GMT)
committerSimon Hausmann <simon.hausmann@nokia.com>2009-11-20 08:31:19 (GMT)
commit01fec63b7b8f8cae94f92fca1d806fe8c6156299 (patch)
treecd07670f7521cce4743497c4b21ce56cc8fbbfec /doc/src/deployment
parent095c92f03e0c01b878eaa0cd1b7844171ce9241f (diff)
parent3e5d4bcbcd6a4bdf0bfd6ae5933a61293720656a (diff)
downloadQt-01fec63b7b8f8cae94f92fca1d806fe8c6156299.zip
Qt-01fec63b7b8f8cae94f92fca1d806fe8c6156299.tar.gz
Qt-01fec63b7b8f8cae94f92fca1d806fe8c6156299.tar.bz2
Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt into 4.6
Diffstat (limited to 'doc/src/deployment')
-rw-r--r--doc/src/deployment/deployment.qdoc102
1 files changed, 98 insertions, 4 deletions
diff --git a/doc/src/deployment/deployment.qdoc b/doc/src/deployment/deployment.qdoc
index f94dde1..6a1760e 100644
--- a/doc/src/deployment/deployment.qdoc
+++ b/doc/src/deployment/deployment.qdoc
@@ -187,6 +187,7 @@
\o \l{Deploying an Application on Windows}{Qt for Windows}
\o \l{Deploying an Application on Mac OS X}{Qt for Mac OS X}
\o \l{Deploying Qt for Embedded Linux Applications}{Qt for Embedded Linux}
+ \o \l{Deploying an Application on the Symbian platform}{Qt for the Symbian platform}
\endlist
\sa Installation {Platform-Specific Documentation}
@@ -1498,8 +1499,101 @@
\c macdeployqt supports the following options:
\list
- \o -no-plugins: Skip plugin deployment
- \o -dmg : Create a .dmg disk image
- \o -no-strip : Don't run 'strip' on the binaries
- \endlist
+ \o -no-plugins: Skip plugin deployment
+ \o -dmg : Create a .dmg disk image
+ \o -no-strip : Don't run 'strip' on the binaries
+ \endlist
+*/
+
+/*!
+ \page deployment-symbian.html
+ \contentspage Deploying Qt Applications
+
+ \title Deploying an Application on the Symbian platform
+
+ Applications are deployed to Symbian devices in signed \c .sis package files.
+ The \c .sis file content is controlled with \c .pkg files. The \c .pkg file contains a set
+ of instructions used by tools to produce a \c .sis file. \c qmake generates a
+ default \c .pkg file for your project. The \c .pkg file generated by \c qmake is typically
+ fully functional for testing purposes but when planning to deliver your application
+ to end-users some changes are needed. This document describes what changes are
+ typically needed and how to implement them.
+
+ \section1 Static Linking
+
+ Qt for the Symbian platform does currently not support static linking of
+ Qt libraries.
+
+ \section1 Shared Libraries
+
+ When deploying the application using the shared libraries approach we must ensure that the
+ Qt runtime is correctly redistributed along with the application executable,
+ and also that all Qt dependencies are redistributed along with the application.
+
+ We will demonstrate these procedures in terms of deploying the \l {widgets/wiggly}{Wiggly}
+ application that is provided in Qt's examples directory.
+
+ \section2 Building Qt as a Shared Library
+
+ We assume that you already have installed Qt as a shared library,
+ in the \c C:\path\to\Qt directory which is the default when installing Qt for Symbian.
+ For more information on how to build Qt, see the \l {Installation} documentation.
+
+ \section1 Shared Libraries
+
+ After ensuring that Qt is built as a shared library, we can build
+ the \l {widgets/wiggly}{Wiggly} application. First, we
+ must go into the directory that contains the application:
+
+ \snippet doc/src/snippets/code/doc_src_deployment.qdoc 55
+
+ To prepare the application for deployment we must ensure that the \c .pkg file generated by
+ \c qmake contains the relevant vendor information and embeds the necessary
+ dependencies to the application deployment file (\c .sis). The content of the generated \c .pkg
+ file can be controlled with the Symbian specific \c qmake \l DEPLOYMENT keyword extensions.
+
+ First, we will change the vendor statement to something more meaningful. The application
+ vendor is visible to end-user during the installation.
+
+ \snippet doc/src/snippets/code/doc_src_deployment.qdoc 56
+
+ Second we will tell the Symbian application installer that this application supports
+ only S60 5.0 based devices:
+
+ \snippet doc/src/snippets/code/doc_src_deployment.qdoc 57
+
+ You can find a list of platform and device indentification codes from
+ \l {http://wiki.forum.nokia.com/index.php/S60_Platform_and_device_identification_codes}{Forum Nokia Wiki}.
+ By default \c .pkg file generated by \c qmake adds support for all
+ S60 3rd edition FP1, S60 3rd edition FP2 and S60 5th edition devices.
+
+ As a last step we will embed the Open C, Open C++ and Qt \c .sis files to the Wiggly
+ deployment file:
+
+ \snippet doc/src/snippets/code/doc_src_deployment.qdoc 58
+
+ By embedding all dependencies to the application deployment file, the
+ end-user does not need to download and install all dependencies separately.
+ The drawback of \c .sis embedding is that the application \c .sis file size becomes
+ big. To address these problems Forum Nokia is planning to release a smart installer
+ which will take care of downloading and installing the necessary dependencies
+ over-the-air. The expected availability of smart installer is 1Q 2010.
+
+ Now we are ready to compile the application and create the application
+ deployment file. Run \c qmake to create Symbian specific makefiles, resources (\.rss)
+ and deployment packaging files (\c .pkg). And do build to create the
+ application binaries and resources.
+
+ \snippet doc/src/snippets/code/doc_src_deployment.qdoc 59
+
+ If everything compiled and linked without any errors, we are now ready to create
+ an application installation file:
+
+ \snippet doc/src/snippets/code/doc_src_deployment.qdoc 60
+
+ If all binaries and dependencies were found, we should now have a self-signed
+ \c wiggly_release-gcce.sis ready to be installed on a device. For more information
+ about creating a \c .sis file and installing it to device see also
+ \l {The Symbian platform - Introduction to Qt#Installing your own applications}{here}.
+
*/