wiki:BuildingQtOnSymbian

Version 7 (modified by siddharth.mathur@nokia.com, 15 years ago) ( diff )

running on HW issues

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.
  • 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
    • cd WebCore
    • Build for hardware: sbs -c armv6_urel -j8
    • 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

  • 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 --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
    • perl %QTDIR%\bin\patch_capabilities.pl QtWebKit_template.pkg debug-armv6
    • make sis

Running a Browser on device/emulator

If you have problems starting your favourite browser (Anomaly/QtLauncher) on Symbian HW, here are some choices to remember:

  • Use QtLauncher that ships inside Webkit.org trunk to build your test browser. You don't have to worry about exports and .DEF files in this case.
  • To use Anomaly from $QTSRC/demos/embedded/, you may have to update the .DEF files known to the Qt installation to make Anomaly link OK.
    To do so , recompile QtWebkit.dll by passing an additional --qmake-arg="CONFIG+=def_files" argument to the build-webkit script mentioned above. (Re)deploy the updated QtWebkit.dll to your device.
Note: See TracWiki for help on using the wiki.