diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2010-03-17 10:12:54 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2010-03-17 10:12:54 (GMT) |
commit | f0c615651fabb3e15469ab1eee3b4765dc1274d3 (patch) | |
tree | 7e7052dfcac781a99b3696efe2ee0b1df12652e9 /README.s60-mkspec | |
parent | ed08d67fea713e550da0fd0542672cc4443806e2 (diff) | |
parent | ab5fbde3235a6d613a8dfb58deb79c67b70d9f55 (diff) | |
download | Qt-f0c615651fabb3e15469ab1eee3b4765dc1274d3.zip Qt-f0c615651fabb3e15469ab1eee3b4765dc1274d3.tar.gz Qt-f0c615651fabb3e15469ab1eee3b4765dc1274d3.tar.bz2 |
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: (190 commits)
Fixed Symbian applications with DESTDIR set.
Removed a warning about generated rss files.
Revert "Temporarily disable problematic dll."
Fixed "Cannot install protected application" message on Symbian.
Worked around a crash in the elf2e32 postlinker tool.
Worked around case differences in Symbian^3 and Gnupoc.
Enabled compilation of plugins again.
Fixed a building bug where the DLL entry point was undefined.
Moved UID2 processing from cpp code to profiles.
Added rpp and rsg files to ignore filter.
Moved two profiles to the correct directory.
Fix build break caused by undefined symbol SetDialogPreference
Temporarily disable problematic dll.
Use the same concept for per-lib tweaks as armcc
Consistently use the * in configure
Symbian doesn't have large file support currently, just turn it off
Remove largefile config test
Make sure that we have all compile flags available always
Enabled dependencies for .dso and .lib libraries only.
Switched to using DEF_FILE, which is the official variable.
...
Diffstat (limited to 'README.s60-mkspec')
-rw-r--r-- | README.s60-mkspec | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/README.s60-mkspec b/README.s60-mkspec new file mode 100644 index 0000000..af500e1 --- /dev/null +++ b/README.s60-mkspec @@ -0,0 +1,99 @@ +How to build Qt for Symbian using the Linux makespec. + +Prerequisites: + + - Working RVCT 2.2 native Linux compiler. The new publicly + available RVCT 4.0 compiler may work, but it hasn't been tested + yet. + + - A working GnuPoc environment. See this page for details: + http://www.martin.st/symbian/ + Download the latest version, unpack it and run the 'install_eka2_tools' script as + described in the last part under the EKA2 part. The part about the your own gcc + are not needed as we use the rvct compiler. + Make sure you do the part about Wine setup as well. + + - Anderson Lizardo's patches for GnuPoc. Look for the + qt_s60_gnupoc_v10.patch on this page: + http://lizardo.wordpress.com/2009/09/24/installing-qt-for-s60-daily-snapshots-on-linux/ + and carry out the instructions under point 8: Installing Open C. + +Compiling: + + 1. First a few environment variables need to be set: + + export RVCT22LIB=<rvct-dir>/lib/armlib + export EPOCROOT=<s60-root> + export PATH=$PATH:<s60-root>/epoc32/tools:<rvctInstallDir>/bin + export PATH=$PATH:<qt-root>/bin + + Replace the s60-root with the installation directory of your SDK, + and the qt-root with the root of your Qt repository. + These are good candidates for putting in a script somewhere. + + 2. Run configure. It needs a bit more switches than usual, so here's + the full line: + + ./configure -developer-build -platform linux-g++ -xplatform \ + symbian/linux-armcc -little-endian -host-little-endian \ + -arch symbian + + 3. Compile Qt + + cd src + make + + and then wait for a while. + + 4. Package and install Qt + + cd s60installs + + Edit Qt_template.pkg and change the first 0x2xxxxxxx to + 0xExxxxxxx. Then execute: + + makesis Qt_template.pkg + signsis Qt_template.sis Qt_template.sisx selfsigned.cer selfsigned.key + + Then put Qt_template.sisx on a memory card and install it from + the phone file manager. + + Alternatively, you can use the runonphone tool found in the tools + directory of Qt. To build, this requires a separately configured + Qt installation for Linux, unfortunately. To use it, you also + need have App TRK running on the phone. At the time of writing, + only bleeding edge Linux kernels are able to autodetect the USB + serial port on the phone, but you can force detection by running: + + modprobe usbserial vendor=0xXXXX product=0xXXXX + + The XXXXs should be replaced with the two values listed for your + device when executing "lsusb". In most distributions, this will + lead to the creation of two devices: /dev/ttyUSB0 and + /dev/ttyUSB1. The latter is usually the one that App TRK responds + to. Then execute: + + runonphone -p /dev/ttyUSB1 -s Qt_template.sisx dummy.exe + + The dummy.exe argument is irrelevant, since we are not executing + anything yet. + + 5. Compile some helloworld application (I leave the details to you + ;-) + + qmake + make + + 6. Package, install and run application. + + makesis helloworld_template.pkg + signsis helloworld_template.sis helloworld_template.sisx \ + <QTDIR>/src/s60installs/selfsigned.cer \ + <QTDIR>/src/s60installs/selfsigned.key + + Then either install by memory card, or install and run like this: + + runonphone -p /dev/ttyUSB1 -s helloworld_template.sisx \ + helloworld.exe + + 7. Enjoy "hello world" on the phone! |