[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Linphone-developers] Linphone and Sharp Zaurus (ARM)?
From: |
Jamey Hicks |
Subject: |
Re: [Linphone-developers] Linphone and Sharp Zaurus (ARM)? |
Date: |
27 Aug 2003 08:53:01 -0400 |
On Tue, 2003-08-26 at 20:33, Vangelis Bouzianis wrote:
> Hallo everyone,
>
> I am trying to get Linphonec to cross-compile for the ARM platform of a
> Zaurus SL-5500 which uses Linux 2.4.6-rmk1-np2-embedix.
>
> I have been going through the Zaurus cross-compilation How-To and the
> linphone mailing lists looking for tips and also the README.arm file of
> course, but before diving into it I was wondering whether someone has
> already successfuly done the cross-compilation for this specific platform
> and whether you have any do's and dont's I should take into consideration
> that could save me valuable time.
>
I was able to cross-compile linphone, but it was rather an involved process.
I ended up removing the use of libtool because I could not get the final
'make install' step to work with libtool in a cross-compilation
environment. I made some other changes to configure.in and possibly
Makefile.am. I believe the changes I made have been fed back to Simon
Morlat as part of a snapshot sent by my coworker Leonidas.
I did not build the qt linphone, but did build a GTK-only interface that
Leonidas wrote.
The following steps are pretty generic instructions for how to
cross-compile an application.
First, you need to add to the cross-compiler all the libraries and
header you will need to build the application. For linphone gtk, this
is quite a long list, including gtk, gdk, pango, ... I gave up on
installing individual libraries and copied over all the files from the
devcluster machine ipaq3.handhelds.org.
The toolchain I used was installed in /usr/local/arm/3.2.3/ so the ARM
headers were copied to /usr/local/arm/3.2.3/arm-linux/include and the
ARM libraries were copied to /usr/local/arm/3.2.3/arm-linux/lib
Make sure /usr/local/arm/3.2.3/bin is on your PATH.
Next: configure the package:
export PKG_CONFIG=arm-linux-package-config
./configure --host=arm-linux
arm-linux-package-config is a short script I wrote so that packages that
configure using pkg-config will use the headers/libraries in
/usr/local/arm/3.2.3 instead of /usr:
#!/bin/sh
export PREFIX=/usr/local/arm/3.2.3/arm-linux
result=`pkg-config $* | sed 's|/usr|/usr/local/arm/3.2.3/arm-linux|g'`
echo $result
It is still a bit of a hack because it uses the build machine's .pc
files for pkg-config instead of .pc files installed under
/usr/local/arm/3.2.3/arm-linux/lib -- but I could not find an option to
cause pkg-config to look at different .pc files.
At this point: make all should invoke the arm-linux toolchain instead of
the build machine's toolchain.
Hope this helps.
Jamey