Changes between Version 13 and Version 14 of BuildingQtOnSymbian
- Timestamp:
- Jan 28, 2011, 8:24:44 AM (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
BuildingQtOnSymbian
v13 v14 16 16 If you haven't done so already, try these instructions for a release build: 17 17 18 * Clone Qt: {{{git clone git://gitorious.org/qt/qt.git qt-4. 6}}}19 * Set up the 4. 6Branch:20 * {{{cd qt-4. 6}}}21 * {{{git checkout -b 4. 6 origin/4.6}}}18 * Clone Qt: {{{git clone git://gitorious.org/qt/qt.git qt-4.7}}} 19 * Set up the 4.7 Branch: 20 * {{{cd qt-4.7}}} 21 * {{{git checkout -b 4.7 origin/4.7}}} 22 22 * {{{git branch -D master}}} 23 23 * Configure: {{{configure -xplatform symbian-sbsv2}}} 24 24 * Build for arm with 8 cores: {{{sbs -c armv6_urel -j8}}} 25 25 * Get a cup of tea/coffee. 26 * [OPTIONAL ] Patch capabilities and generate the sis package:[[BR]]{{{cd src/s60installs}}}[[BR]]{{{perl ..\..\bin\patch_capabilities.pl Qt_template.pkg release-armv6}}}[[BR]]{{{make sis}}}26 * [OPTIONAL, only needed for self-signed SIS packages] Patch capabilities and generate the sis package:[[BR]]{{{cd src/s60installs}}}[[BR]]{{{perl ..\..\bin\patch_capabilities.pl Qt_template.pkg release-armv6}}}[[BR]]{{{make sis}}} 27 27 * Put the {{{qt-4.6\bin}}} directory in your {{{%PATH%}}}. 28 28 … … 31 31 * Build the generated files and set up the build system: 32 32 * {{{cd where-your-webkit-sources-are}}} 33 * {{{perl Tools\Scripts\build-webkit --qt --symbian CONFIG-=def_files}}}34 * If you 're building the trunk where the export def file for Symbian is not always up-to-date you need to pass CONFIG-=def_files as an argument to build-webkit as well35 * {{{cd WebCore}}}36 * Build for hardware: {{{sbs -c armv6_urel -j8 --no-depend-generate}}}37 * [OPTIONAL ] Patch capabilities: {{{perl %QTDIR%\bin\patch_capabilities.pl QtWebKit_template.pkg release-armv6}}}33 * {{{perl Tools\Scripts\build-webkit --qt --symbian --minimal}}} 34 * If you want to freeze exports (i.e the .def get processed), pass CONFIG+=def_files as an argument to build-webkit as well 35 * {{{cd Source}}} 36 * Build for hardware: {{{sbs -c armv6_urel -j8}}} 37 * [OPTIONAL, only needed for self-signed SIS packages] Patch capabilities: {{{perl %QTDIR%\bin\patch_capabilities.pl QtWebKit_template.pkg release-armv6}}} 38 38 * Create the sis file: {{{make sis}}} 39 39 * Install it on the phone: {{{"C:\Program Files\Nokia\Nokia PC Suite 7\ApplicationInstaller.exe" %CD%\qtwebkit.sis}}}[[BR]]You can also Drag'n'drop the resulting .sis file onto Nokia PC Suite to install it. 40 40 41 * Note that as of May-2010 (from r58756) you should be able to build not only from WebCore but from "top level". Building from top will also build QtTestBrowser, autotests and DumprenderTree for Symbian.42 43 41 == Building WebKit for debug == 42 * To reduce size and number of object files, you need either --minimal or --no-svg for build-webkit. With --minimal, the debug-webkit-patch-sbsv2.py script below may not required as it bit rots often. Also needed is a 64-bit Windows OS and a 64-bit RVCT 4.1 linker (armlink.exe) binary. See next section for RVCT4.x notes 44 43 * Almost the same as above: 45 44 * You need to have''' Qt built for debug''' as well 46 45 * {{{cd where-your-webkit-sources-are}}} 47 * {{{perl Tools\Scripts\build-webkit --qt --symbian }}} {{{CONFIG-=def_files}}} '''--debug'''46 * {{{perl Tools\Scripts\build-webkit --qt --symbian --minimal}}} '''--debug''' 48 47 * Run the script {{{debug-webkit-patch-sbsv2.py}}} from [git://gitorious.org/qtwebkit/tools.git]. It was tested to work at least with Python 2.6[[BR]] This is necessary because the quantity of debug information in WebKit makes armlink fail. This script works around the problem. 49 * {{{sbs -c armv6_u}}}'''deb'''{{{ -j8 --no-depend-generate}}} 50 * {{{[OPTIONAL]perl %QTDIR%\bin\patch_capabilities.pl QtWebKit_template.pkg }}}'''debug'''{{{-armv6}}} 48 * {{{cd Source}}} 49 * {{{sbs -c armv6_u}}}'''deb'''{{{ -j8}}} 50 * {{{[OPTIONAL, only needed for self-signed SIS packages]perl %QTDIR%\bin\patch_capabilities.pl QtWebKit_template.pkg }}}'''debug'''{{{-armv6}}} 51 51 * {{{make sis}}} 52 52 53 == Using RVCT4.0 and 64-bit armlink.exe == 54 * RVCT4.0 is know to work nicely with WEbkit.org trunk 55 * First setup your RVCT4.0 installation by obtaining the binaries and setting up environment variables per ARM's instructions (Nokians may use SymSEE to activate it) 56 * If using with Symbian^3 SDKs, use {{{sbs -c arm.v5.urel.rvct4_0}}} to compile any project with RVCT4.0. Symbian MCL supports RVCT4.0 out of the box. 57 58 In case your link stages run into OOM even with the .py script or with --minimal, you need a 64-bit Windows OS and a 64-bit linker (armlink.exe) 59 * Back-up your armlink.exe from the 4.0 install 60 * Obtain the RVCT4.1 toolchain from your organizations compiler tools team, or from ARM.com directly. 61 * Extract the 64-bit armlink.exe and drop it over your 4.0 installation's armlink.exe 62 * {{{cd Source}}} and them compile as ARMV5 or ARMV6 {{{sbs -c arm.v5.urel.rvct4_0}}}