forked from mirrors/linphone-iphone
93 lines
4.5 KiB
Text
93 lines
4.5 KiB
Text
LINPHONE ON M68k-LINUX (by GIAN)
|
||
********************************
|
||
|
||
The console version of linphone works on arm-linux, but also on m68k-linux? I’m trying to provide this:
|
||
|
||
* I used the same toolchain specified in the LTIB menu configuration, that is, on my system:
|
||
/opt/mtwk/usr/local/m68k-linux/gcc-3.4.0-glibc-2.3.2-v4e
|
||
|
||
* I have created within my home directory a ColdFire-install-environment/ directory, copied into it the fresh tarballs of libogg-1.1.3, libosip2-2.2.2, speex-1.1.12, linphone-1.4.0 readline-5.1 and ncurses-5.5 (readline needs ncurses) Uncompressed all these
|
||
tarballs.
|
||
|
||
Very important things common to all packages being cross compiled:
|
||
******************************************************************
|
||
* Copy the ipaq-config.site in the ipkg/ directory of linphone into some safe place, for example:
|
||
cp /home/gianluca/ColdFire-install-environment/linphone-1.4.0-install/linphone-1.4.0/ipkg/ipag-config.site /home/gianluca/ColdFire-install-environment/linphone-1.4.0-install/
|
||
Edit the ipaq-config.site file and replace all the arm-linux strings with m68k-linux one. Add also the –mcfv4e flag to the CFLAGS, CXXFLAGS, and CPPFLAGS labels.
|
||
* You need a directory that we call M68K_INSTALL_TREE that will own files in the same way they will be installed on the target computer.
|
||
|
||
mkdir /ColdFire-linphonec-1.4.0-mcfv4e
|
||
export M68K_INSTALL_TREE=/ColdFire-linphonec-1.4.0-mcfv4e
|
||
export CONFIG_SITE=/home/gianluca/ColdFire-install-environment/linphone-1.4.0-install/ipaq-config.site
|
||
export PATH=$PATH:/opt/mtwk/usr/local/m68k-linux/gcc-3.4.0-glibc-2.3.2-v4e/bin
|
||
|
||
|
||
Cross compiling ncurses for M68k:
|
||
********************************
|
||
./configure --prefix=/usr --host=m68k-linux --with-gnu-ld --with-shared
|
||
make
|
||
make install DESTDIR=$M68K_INSTALL_TREE
|
||
|
||
|
||
Cross compiling readline for M68k:
|
||
*********************************
|
||
./configure --prefix=/usr --host=m68k-linux --with-gnu-ld --disable-static
|
||
make
|
||
make install DESTDIR=$M68K_INSTALL_TREE
|
||
|
||
|
||
|
||
Cross compiling libosip for M68k:
|
||
********************************
|
||
./configure --prefix=/usr --host=m68k-linux --with-gnu-ld --disable-static
|
||
make
|
||
make install DESTDIR=$M68K_INSTALL_TREE
|
||
|
||
|
||
Cross compiling libogg for M68k:
|
||
********************************
|
||
./configure --prefix=/usr --host=m68k-linux --with-gnu-ld --disable-static –enable-fixed-point
|
||
make
|
||
make install DESTDIR=$M68K_INSTALL_TREE
|
||
|
||
|
||
Cross compiling speex for M68k:
|
||
********************************
|
||
./configure --prefix=/usr --host=m68k-linux --with-gnu-ld --disable-static --enable-fixed-point --enable-m68k-asm --with-ogg=/ColdFire-linphonec-1.4.0-mcfv4e/usr --with-ogg-includes=/ColdFire-linphonec-1.4.0-mcfv4e/usr/include –with-ogg-libraries=/ColdFire-linphonec-1.4.0-mcfv4e/usr/lib --disable-oggtest
|
||
make
|
||
make install DESTDIR=$M68K_INSTALL_TREE
|
||
|
||
|
||
cp /home/gianluca/ColdFire-iinstall-environment/linphone-1.4.0-install/linphone-1.4.0/mediastreamer2/src/.libs/libquickstream.so.0.0.0 /opt/mtwk/usr/local/m68k-linux/gcc-3.4.0-glibc-2.3.2-v4e/m68k-linux/lib
|
||
cd /opt/mtwk/usr/local/m68k-linux/gcc-3.4.0-glibc-2.3.2-v4e/m68k-linux/lib
|
||
ln -s libquickstream.so.0.0.0 libquickstream.so.0
|
||
ln -s libquickstream.so.0.0.0 libquickstream.so
|
||
|
||
cp /home/gianluca/ColdFire-install-environment/linphone-1.4.0-install/linphone-1.4.0/mediastreamer2/src/.libs/libmediastreamer.so.0.0.0 /opt/mtwk/usr/local/m68k-linux/gcc-3.4.0-glibc-2.3.2-v4e/m68k-linux/lib
|
||
cd /opt/mtwk/usr/local/m68k-linux/gcc-3.4.0-glibc-2.3.2-v4e/m68k-linux/lib
|
||
ln -s libmediastreamer.so.0.0.0 libmediastreamer.so.0
|
||
ln -s libmediastreamer.so.0.0.0 libmediastreamer.so
|
||
|
||
|
||
Cross compiling linphone for M68k:
|
||
********************************
|
||
First you need to remove all .la files from the M68K_INSTALL_TREE because it confuses libtool and makes
|
||
the linker use your build machine binaries instead of the m68k-crosscompiled ones.
|
||
rm -f $M68K_INSTALL_TREE/usr/lib/*.la
|
||
#for some reason pkg-config doesn't like cross-compiling...
|
||
export PKG_CONFIG=/usr/bin/pkg-config
|
||
./configure --prefix=/usr --host=m68k-linux --with-gnu-ld --disable-static --disable-strict --enable-gnome_ui=no --enable-alsa --disable-glib --disable-video --with-osip=$ARM_INSTALL_TREE/usr --with-osipparser=$ARM_INSTALL_TREE/usr --with-readline=$ARM_INSTALL_TREE/usr SPEEX_CFLAGS="-I$ARM_INSTALL_TREE/usr/include" SPEEX_LIBS="-L$ARM_INSTALL_TREE/usr/lib -lspeex"
|
||
make
|
||
make install DESTDIR=$M68K_INSTALL_TREE
|
||
|
||
|
||
Binaries can also be stripped with m68k-linux-strip to save more space.
|
||
|
||
|
||
Running linphone under the ColdFire board
|
||
********************************************
|
||
|
||
You just have to start linphone from a terminal by typing 'linphonec'.
|
||
|
||
Gianluca Salvador
|
||
|