README.s60-mkspec
branchGCC_SURGE
changeset 31 5daf16870df6
parent 30 5dc02b23752f
equal deleted inserted replaced
27:93b982ccede2 31:5daf16870df6
       
     1 How to build Qt for Symbian using the Linux makespec.
       
     2 
       
     3 Prerequisites:
       
     4 
       
     5   - Working RVCT 2.2 native Linux compiler. The new publicly
       
     6     available RVCT 4.0 compiler may work, but it hasn't been tested
       
     7     yet.
       
     8 
       
     9   - A working GnuPoc environment. See this page for details:
       
    10     http://www.martin.st/symbian/
       
    11     Download the latest version, unpack it and run the 'install_eka2_tools' script as
       
    12     described in the last part under the EKA2 part. The part about the your own gcc
       
    13     are not needed as we use the rvct compiler.
       
    14     Make sure you do the part about Wine setup as well.
       
    15 
       
    16   - Anderson Lizardo's patches for GnuPoc. Look for the
       
    17     qt_s60_gnupoc_v10.patch on this page:
       
    18     http://lizardo.wordpress.com/2009/09/24/installing-qt-for-s60-daily-snapshots-on-linux/
       
    19     and carry out the instructions under point 8: Installing Open C.
       
    20 
       
    21 Compiling:
       
    22 
       
    23  1. First a few environment variables need to be set:
       
    24 
       
    25         export RVCT22LIB=<rvct-dir>/lib/armlib
       
    26         export EPOCROOT=<s60-root>
       
    27         export PATH=$PATH:<s60-root>/epoc32/tools:<rvctInstallDir>/bin
       
    28         export PATH=$PATH:<qt-root>/bin
       
    29 
       
    30     Replace the s60-root with the installation directory of your SDK,
       
    31     and the qt-root with the root of your Qt repository.
       
    32     These are good candidates for putting in a script somewhere.
       
    33 
       
    34  2. Run configure. It needs a bit more switches than usual, so here's
       
    35     the full line:
       
    36 
       
    37         ./configure -developer-build -platform linux-g++ -xplatform \
       
    38             symbian/linux-armcc -little-endian -host-little-endian \
       
    39             -arch symbian
       
    40 
       
    41  3. Compile Qt
       
    42 
       
    43         cd src
       
    44         make
       
    45 
       
    46     and then wait for a while.
       
    47 
       
    48  4. Package and install Qt
       
    49 
       
    50         cd s60installs
       
    51 
       
    52     Edit Qt_template.pkg and change the first 0x2xxxxxxx to
       
    53     0xExxxxxxx. Then execute:
       
    54 
       
    55         makesis Qt_template.pkg
       
    56         signsis Qt_template.sis Qt_template.sisx selfsigned.cer selfsigned.key
       
    57 
       
    58     Then put Qt_template.sisx on a memory card and install it from
       
    59     the phone file manager.
       
    60 
       
    61     Alternatively, you can use the runonphone tool found in the tools
       
    62     directory of Qt. To build, this requires a separately configured
       
    63     Qt installation for Linux, unfortunately. To use it, you also
       
    64     need have App TRK running on the phone. At the time of writing,
       
    65     only bleeding edge Linux kernels are able to autodetect the USB
       
    66     serial port on the phone, but you can force detection by running:
       
    67 
       
    68         modprobe usbserial vendor=0xXXXX product=0xXXXX
       
    69 
       
    70     The XXXXs should be replaced with the two values listed for your
       
    71     device when executing "lsusb". In most distributions, this will
       
    72     lead to the creation of two devices: /dev/ttyUSB0 and
       
    73     /dev/ttyUSB1. The latter is usually the one that App TRK responds
       
    74     to. Then execute:
       
    75 
       
    76         runonphone -p /dev/ttyUSB1 -s Qt_template.sisx dummy.exe
       
    77 
       
    78     The dummy.exe argument is irrelevant, since we are not executing
       
    79     anything yet.
       
    80 
       
    81  5. Compile some helloworld application (I leave the details to you
       
    82     ;-)
       
    83 
       
    84         qmake
       
    85         make
       
    86 
       
    87  6. Package, install and run application.
       
    88 
       
    89         makesis helloworld_template.pkg
       
    90         signsis helloworld_template.sis helloworld_template.sisx \
       
    91             <QTDIR>/src/s60installs/selfsigned.cer \
       
    92             <QTDIR>/src/s60installs/selfsigned.key
       
    93 
       
    94     Then either install by memory card, or install and run like this:
       
    95 
       
    96         runonphone -p /dev/ttyUSB1 -s helloworld_template.sisx \
       
    97             helloworld.exe
       
    98 
       
    99  7. Enjoy "hello world" on the phone!