SVN_SILENT made messages (.desktop file)
[trojita.git] / README.harmattan
blob5b4eb7f4e9f431f4deb2df674894bef3534858ff
1 How to build the Harmattan version:
3 This is going to be involved. Trojita now requires a compiler which speaks
4 C++11, and GCC 4.4 which comes in the ancient Nokia's SDK is not one of these.
5 The only known way of creating the Harmattan builds is the following setup which
6 uses both the ancient toolchain and a recent clang.
8 For compiling with clang, make sure that it's built with the required targets
9 (Gentoo: USE=multitarget) and provide a custom "profile" for Madde. Instructions
10 for that are in packaging/harmattan-rm680-madde-c++ . New enough clang is
11 required (tested with 3.3) because the support for exceptions on ARM is not
12 enabled by default.
14 You'll also need to patch the QtSDK's headers so that they work with clang, see
15 [1]. A patch for the STL [2] shall be applied inside
16 ~/QtSDK/Madde/sysroots/harmattan_sysroot_10.2011.34-1_slim/usr/include/c++/4.4.
17 and Qt needs to be patched not to concatenate string literals carelessly (see
18 packaging/harmattan-qt4-c++11.patch). Finally, moc produces constructs which
19 trigger the narrowing error in C++11 (Qt4 commit
20 b1696fab84c411da025d255fef82f64c78bd92b5); we're "fixing" this by sed-ing the
21 output of moc to add an explicit cast -- sweet, isn't it?
23 After this initial setup is done (i.e. you have a toolchain capable of speaking
24 C++11, supporting exceptions *and* creating Harmattan binaries at the same time,
25 which in itself is an impressive accomplishment, you may proceed to the actual
26 build:
28 1) change directory into the top-level directory of trojita's repository
29 2) `mkdir _build_harmattan && cd _build_harmattan`
30 3) `cp -a ../qtc_packaging/debian_harmattan debian`
31 4) `~/QtSDK/Madde/bin/mad -t clang-rm680 dpkg-buildpackage -j4 -b -nc -uc`
32 5) profit!
34 [1] http://stackoverflow.com/questions/15120004/compiling-with-clang-fails-with-libstdc4-4-7-and-std-c0x
35 [2] http://clang.llvm.org/libstdc++4.4-clang0x.patch