COMPILING INSTRUCTIONS FOR XMMS-EMBEDDED-OPIE/QTOPIA Not included in the source, but you will also need the qtopia-sdk rpm, the cross-compiling tool chain from sharp, libz, Tremor (fixed point vorbis decoder) libmad(&libid3tag) and libmikmod(patched with the patch in the root directory) to compile and run everything. Put the .so* files of libz, libmad & libid3tag and libmikmod in /opt/Embedix/tools/arm-linux/lib, and the include files to /opt/Embedix/tools/arm-linux/include(/tremor for tremor)! Also after compiling libsidplay, put the .so file in /opt/Embedix/tools/arm-linux/lib too, and the include files of sidplay to /opt/Embedix/tools/arm-linux/include/sidplay! You will also need glib-1.2, and the header files of gtk 1.2 in /usr/include . This source-collection is to be cross-compiled for the strongarm cpu. The environment I used: export QPEDIR=/opt/Qtopia/sharp export QTDIR=/opt/Qtopia/sharp export PATH=/opt/Embedix/tools/bin:opt/Embedix/tools/arm-linux/bin:$QTDIR/bin:$PATH export TMAKEPATH=/usr/local/lib/tmake/qws/linux-sharp-g++ export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH After compiling and placing all the libraries mentioned before in the right place, in the root of the source distribution run "make" . The compiled binaries of xmms will be in the "compiled" directory. If your environment is different from mine, you need to delete the "Makefile"s from the source directories - you might also need to edit the .pro project files too. ----------------------------------------------------------------------------- The ./configure file in the sidplay tree is changed, so that it won't exit when it realizes that gcc is a cross-compiler, SIZEOF_ defines are hard-wired. The SIZE_OF defines used - hopefully my guess was correct: SIZEOF_CHAR 1 (for sidplay,doesn't seem to be used..?) SIZEOF_SHORT 2 (for sidplay if it uses it at all?) SIZEOF_INT 0 (for sidplay if it uses it at all?) SIZEOF_LONG 4 (for xmms)(and sidplay if it uses it at all?) Tremor's, mikmod's and libmad's configure script is smart, use ./configure --host=i386-linux, and everything will work fine (-linux is needed for them to build shared libs too). I had no problems with libz either.