Version 24 (modified by 14 years ago) ( diff ) | ,
---|
Note that these instructions are preliminary and work in progress...
These instructions assume that you have a Symbian development set up and that you have the source code checked out.
Requirements
- QtWebKit is built with SBSv2 (aka Raptor) v2.15.1 or higher. This setup assumes the availability of it.
- Please install the Bison, Flex, ActiveState Perl etc. tools from GnuWin32. See the instructions for building on Windows where to get these.
- Make sure that the GnuWin32 tools are installed in a path without spaces, i.e. not
Program Files\GnuWin32
but for examplec:\GnuWin32
. - You need to have
\GnuWin32\bin
and\Perl64\bin
(if that's where your Perl is installed) in your%PATH%
before the S60 SDK tools path. - In addition you need to have a native Windows compiler in your PATH, i.e. MSVC or MingW.
- You can download Raptor from here: http://developer.symbian.org/wiki/index.php/Symbian_Build_System_v2
Building Qt
If you haven't done so already, try these instructions for a release build:
- Clone Qt:
git clone git://gitorious.org/qt/qt.git qt-4.7
- Set up the 4.7 Branch:
cd qt-4.7
git checkout -b 4.7 origin/4.7
git branch -D master
- Configure:
configure -xplatform symbian-sbsv2
- Build for arm with 8 cores:
sbs -c armv6_urel -j8
- Get a cup of tea/coffee.
- [OPTIONAL, only needed for self-signed SIS packages] Patch capabilities and generate the sis package:
cd src/s60installs
perl ..\..\bin\patch_capabilities.pl Qt_template.pkg release-armv6
make sis
- Put the
qt-4.7\bin
directory in your%PATH%
.
Building WebKit for release
- Build the generated files and set up the build system:
cd where-your-webkit-sources-are
perl Tools\Scripts\build-webkit --qt --symbian
- If you are a build master, manage .def export files, and/or want to freeze exports (i.e the .def files get processed), pass CONFIG+=def_files as an argument too
- If you want faster rebuild times for your personal sandbox, pass --no-svg.
- If you want even faster build times for a _very_ feature-stripped QtWebkit, use --minimal
- To selectively turn on or off features, see features.pri
- Build for hardware:
sbs -c armv6_urel -j8 -b Source\bld.inf -b Tools\bld.inf
- [OPTIONAL, only needed for self-signed SIS packages] Patch capabilities:
perl %QTDIR%\bin\patch_capabilities.pl QtWebKit_template.pkg release-armv6
- Create the sis file:
make sis
- Install it on the phone:
"C:\Program Files\Nokia\Nokia PC Suite 7\ApplicationInstaller.exe" %CD%\qtwebkit.sis
You can also Drag'n'drop the resulting .sis file onto Nokia PC Suite to install it.
Building WebKit for debug
- 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 the latter bit rots often. You may likely need a 64-bit Windows OS and a 64-bit RVCT 4.1 linker (armlink.exe) binary. See next section for RVCT4.x notes
- Almost the same as above:
- You need to have Qt built for debug as well
cd where-your-webkit-sources-are
perl Tools\Scripts\build-webkit --qt --symbian --minimal
--debug- 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
This is necessary because the quantity of debug information in WebKit makes armlink fail. This script works around the problem. sbs -c armv6_u
deb.slimdebug-j8 -b Source\bld.inf -b Tools\bld.inf
[OPTIONAL, only needed for self-signed SIS packages]perl %QTDIR%\bin\patch_capabilities.pl QtWebKit_template.pkg
debug-armv6
make sis
Using RVCT4.0 and 64-bit armlink.exe
- RVCT4.0 is know to work nicely with Webkit.org trunk, particularly with UDEB mode where 2.2 often segfaults.
- First set up your RVCT4.0 installation by obtaining the binaries and setting up environment variables per ARM's instructions (Nokians may use SymSEE to activate it)
- If using with Symbian3 SDKs, you may have to compile the compiler support libraries first (or you will see linker errors)
sbs -b sf\os\kernelhwsrv\kernel\eka\compsupp\bld.inf -b sf\os\kernelhwsrv\kernel\eka\euser\bld.inf -c arm.v5.urel.rvct4_0 -c arm.v5.udeb.rvct4_0
- To explicitly specify RVCT 4.0 with Symbian3 SDKS, use the following (not necessary for MCL):
sbs -c arm.v5.urel.rvct4_0
In case your link stages run into OOM even with --minimal, you need a 64-bit Windows OS and a 64-bit linker (armlink.exe)
- Back-up your armlink.exe from the 4.0 install
- Obtain the RVCT4.1 toolchain from your organization's compiler tools team, or from ARM.com directly.
- Extract the 64-bit armlink.exe and drop it over your 4.0 installation's armlink.exe
cd Source
and them compile as ARMV5 or ARMV6sbs -c arm.v5.udeb.rvct4_0
Note:
See TracWiki
for help on using the wiki.