summaryrefslogtreecommitdiffstats
path: root/README.s60-mkspec
diff options
context:
space:
mode:
authoraxis <qt-info@nokia.com>2010-01-14 10:38:30 (GMT)
committeraxis <qt-info@nokia.com>2010-01-14 10:38:30 (GMT)
commit4f4c7e3f1a413d6a0e6f0186b84ae4579e61f73c (patch)
treedb664204ffba7262df29f60c0b5e5ddd681450a2 /README.s60-mkspec
parentb6457fc0b3b073e5164ca4beb2390705a60785fc (diff)
parent4f0dcc99a329796347e63bfa353c12694b6e1ff9 (diff)
downloadQt-4f4c7e3f1a413d6a0e6f0186b84ae4579e61f73c.zip
Qt-4f4c7e3f1a413d6a0e6f0186b84ae4579e61f73c.tar.gz
Qt-4f4c7e3f1a413d6a0e6f0186b84ae4579e61f73c.tar.bz2
Merge branch 'buildInstructions'
Diffstat (limited to 'README.s60-mkspec')
-rw-r--r--README.s60-mkspec86
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!