wiki:BuildingQtOnSymbian

Version 11 (modified by siddharth.mathur@nokia.com, 14 years ago) (diff)

CONFIG-=def_files and --no-depend-generate could be default

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 best built with Sbsv2 (aka Raptor). 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 example c:\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.6
  • Set up the 4.6 Branch:
    • cd qt-4.6
    • git checkout -b 4.6 origin/4.6
    • 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] 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.6\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 WebKitTools\Scripts\build-webkit --qt --symbian CONFIG-=def_files
      • 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 well
    • cd WebCore
    • Build for hardware: sbs -c armv6_urel -j8 --no-depend-generate
    • [OPTIONAL] 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.
  • 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 QtLauncher, autotests and DumprenderTree for Symbian.

Building WebKit for debug

  • Almost the same as above:
    • You need to have Qt built for debug as well
    • cd where-your-webkit-sources-are
    • perl WebKitTools\Scripts\build-webkit --qt --symbian CONFIG-=def_files --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_udeb -j8 --no-depend-generate
    • [OPTIONAL]perl %QTDIR%\bin\patch_capabilities.pl QtWebKit_template.pkg debug-armv6
    • make sis