diff options
author | axis <qt-info@nokia.com> | 2010-01-14 10:38:30 (GMT) |
---|---|---|
committer | axis <qt-info@nokia.com> | 2010-01-14 10:38:30 (GMT) |
commit | 4f4c7e3f1a413d6a0e6f0186b84ae4579e61f73c (patch) | |
tree | db664204ffba7262df29f60c0b5e5ddd681450a2 /README.s60-mkspec | |
parent | b6457fc0b3b073e5164ca4beb2390705a60785fc (diff) | |
parent | 4f0dcc99a329796347e63bfa353c12694b6e1ff9 (diff) | |
download | Qt-4f4c7e3f1a413d6a0e6f0186b84ae4579e61f73c.zip Qt-4f4c7e3f1a413d6a0e6f0186b84ae4579e61f73c.tar.gz Qt-4f4c7e3f1a413d6a0e6f0186b84ae4579e61f73c.tar.bz2 |
Merge branch 'buildInstructions'
Diffstat (limited to 'README.s60-mkspec')
-rw-r--r-- | README.s60-mkspec | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/README.s60-mkspec b/README.s60-mkspec new file mode 100644 index 0000000..cee4b2f --- /dev/null +++ b/README.s60-mkspec @@ -0,0 +1,86 @@ +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/. Make sure you do the part about + Wine setup as well. + + - Anderson Lizardo's patches for GnuPoc. Look for the + qt_s60_gnupoc_v9.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 RVCT22INC=<s60-root>/epoc32/include + export RVCT22INC=$RVCT22INC,<s60-root>/epoc32/include/rvct2_2 + export RVCT22INC=$RVCT22INC,<s60-root>/epoc32/include/variant + export RVCT22INC=$RVCT22INC,<s60-root>/epoc32/include/stdapis + export RVCT22INC=$RVCT22INC,<s60-root>/epoc32/include/stdapis/stlport + export RVCT22LIB=<s60-root>/epoc32/release/armv5/lib + export PATH=$PATH:<s60-root>/epoc32/tools + 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. Switch out a few variables in profiles. Open + mkspecs/symbian/linux-armcc/qmake.conf, search for + "FIXME" and switch out the FIXME part with your SDK + installation directory. You might have to switch the case of the + Epoc32 directory as well. + There may also be other FIXMEs. + + 3. 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 + + 4. Compile the host tools. This unfortunately does not happen + automatically. + + cd src/tools + for i in bootstrap moc rcc uic; do make -C $i; done + + 5. Compile QtCore.dll: + + cd ../corelib + qmake -platform symbian/linux-armcc + make + + and then wait for a while. + + 6. Compile some helloworld application (I leave the details to you + ;-) + + qmake -platform symbian/linux-armcc + make + + 7. Package and run on the phone. This is unfortunately a bit of a + manual step at the moment. Your best bet is to look at a Windows + build of the same application, and manually grab the .rsc files + that it refers to and put them in the application directory on + Linux. Then you can take the pkg_template.pkg file provided in + the repository and tweak it to include the files you want. Note + that due to limitations on how the makesis tool interprets file + paths, all the files included need to be in the current directory + (or a link from there). + + Assuming that all the files are in place, do this: + + cp <qt-root>/src/s60installs/selfsigned.* . + winewrapper makesis.exe MyApp.pkg MyApp_unsigned.sis + winewrapper signsis.exe MyApp_unsigned.sis MyApp.sis \ + selfsigned.cer selfsigned.key + + 8. Enjoy QObjects and "hello world" on the phone! |