[BRLTTY] building brlapi for Android (ARM processor)

Shiri Azenkot shiri.azenkot at gmail.com
Thu Apr 22 23:54:10 EDT 2010


Hi Dave,

I've been working on trying to get brltty to build for the Android platform
for the last couple of weeks and I'm running into some problems when running
the configure script. \

The Android architecture is arm-eabi. To build a program for Android, we
need two things: a toolchain (including a cross compiler) for arm-eabi and
the bionic libraries (standard c libraries modified for Android). Here's
what I did:

I downloaded and built the Android source. It has a prebuilt toolchain
(includes a cross compiler, arm-eabi-gcc) and a custom libc called bionic
that must be used to build native Android programs. This was pretty simple.
You can get the source here: http://source.android.com/download.

Then I set a CFLAGS environment variable with a list of flags that are
needed to properly cross compile an application and link bionic to it. I
wrote a script to do this--let me know if you want me to post it online or
send it to you. My script is based on the flags set by agcc:
http://plausible.org/andy/agcc.

Now, I ran the configure script using the "host" option (required for
cross-compilation).
$ ./configure --host arm-eabi

Setting host tells autoconf to use the proper build tools, such as
arm-eabi-gcc instead of gcc.

Here is the output from running configure (the error is at the bottom):

configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
./revision: 29: svnversion: not found
checking build system type... i686-pc-linux-gnu
checking host system type... arm-unknown-eabi
checking target system type... arm-unknown-eabi
checking whether make sets $(MAKE)... yes
checking for arm-eabi-gcc... arm-eabi-gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... yes
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether arm-eabi-gcc accepts -g... yes
checking for arm-eabi-gcc option to accept ISO C89... none needed
checking for library containing __cxa_pure_virtual... no
checking if the C compiler can compile C++... yes
checking whether we are using the GNU C++ compiler... yes
checking whether arm-eabi-gcc accepts -g... yes
checking for ld... ld
checking for arm-eabi-ranlib... arm-eabi-ranlib
checking for bison... bison -y
checking for gawk... no
checking for mawk... mawk
checking whether ln -s works... yes
checking for linkage editor program creation flags... configure: error:
linkage editor program creation flags not configured for eabi

I've done some searching online, but I can't find information on how to
resolve this. Do you have any ideas?
Let me know if you need more information.

 Here's a general reference about how to build native apps for Android:
http://android-dls.com/wiki/index.php?title=Compiling_for_Android

Thanks for your help!!!
Shiri

On Tue, Apr 6, 2010 at 2:06 PM, Shiri Azenkot <shiri.azenkot at gmail.com>wrote:

> Hi Dave,
>
> The usual way is to set the CC (uppercase) environment variable when
>> configuring. So:
>>
>>   CC=gcc-android ./configure
>>
>> Great. I'll give this a try... I'll let you know what happens.
>
> shiri
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mielke.cc/pipermail/brltty/attachments/20100422/f5ac3af0/attachment.html>


More information about the BRLTTY mailing list