Pdaxrom: Development
From OESF
Zumi (Talk | contribs)
(Moved the "Development" page here, because it was pdaXrom specific)
Next diff →
Revision as of 16:10, 2 March 2005
Contents |
Native or cross compilation
Cross compilation means compiling application on a standard pc, up to now a x86 pc running Linux, that will runs on the Zaurus. Native Compilation means compiling application on the Z itself.
Cross compilation is (normally) a lot faster than on the compilation on the Z, but developpers do not always have cross compilation in mind when they write their configure / makefile / build scripts. Meaning it might not work out of the box. When compiling natively your are not subject to cross compilation problems, but other problems arise:
- compilation might require more ram than the Z have
- compilation might creates a lot of files that takes a lot of space on your storage
- and most importantly the compilation might requires some external tools that are normally found on a standard Linux distribution but for space reason are not by default installed with pdaxrom. (or worse not yet compiled). For instance you might need to install perl just to be able to compile your application.
Cross compilation
See the installation and tutorial section inside the documentation on [1].
Note that starting from RC5 the directory /opt/arm/3.3.2 has been renamed to /opt/arm/3.3.2-vfp so if you use the latest sdk read use 3.3.2-vfp where you see 3.3.2
Native compilation
more space
The space problem can be easily solved by mounting an nfs partition of a unix server of yours. Then you can have as much space as is available on the server.
Using a nfs or samba drive on MS windows server will probably NOT work because of the difference of the filesystem (no symbolic link etc..). If you only have a windows machine there is still a solution:
- create an image file with dd
- format this image with ext2 format
- mount this image.
This will not speed up the compilation.
more ram
The ram problem can be solved by creating a swap (search on this subject). You can even create a swap image on an network drive if your are afraid to damage your cards/ internal flash.
This will definitely not make the build faster.
more speed
If you have a linux pc you can use distcc to speed up a bit the compilation. Distcc allows to distribute the compilation between the zaurus and the pc.
For now see this thread
Building an ipk
....
Compiling Qt Apps
To natively compile Qt applications, make sure you use gcc with CXXFLAGS=-fno-rtti, otherwise you might get into problems at the linking stage, with errors such as "undefined reference to `typeinfo for QWidget'".
For further info, see [2].
Compiling the distribution from scratch
You can find a HOWTO on the PdaXrom: pdaXrom-builder page about the compilation of the distribution.

