I have a complicated open source library that needs to be ported to Android NDK. First, I need to configure (. / Configure). I understand: I have to do cross-compile with / home/user/android-ndk/build/prebuilt/ linux-x86/arm-eabi-4.4.0/bin/arm-eabi-gcc I think right? This utility will correctly configures a library? If yes, then question 2:
1.I'm trying to compile such a library: libao. use these commands:
PREBUILT = / home/user/android-ndk/build/prebuilt/linux-x86/arm-
eabi-4.4.0
PLATFORM = / home/user/android-ndk/build/platforms/android-3/arch-arm
INSTALL = / home/user/sox-14.3.2/com
export CC = "/ home/user/android-ndk/build/prebuilt/linux-x86/arm-
eabi-4.4.0/bin/arm-eabi-gcc"
export CFLAGS = "-fPIC-DANDROID"
export LDFLAGS = "-Wl,-T, $ PREBUILT / arm-eabi / lib / ldscripts /
armelf.x-Wl,-rpath-link = $ PLATFORM / usr / lib-L $ PLATFORM / usr /
lib-nostdlib $ PREBUILT / lib/gcc/arm-eabi/4.4.0/crtbegin.o $ PREBUILT/
lib/gcc/arm-eabi/4.4.0/crtend.o-lc-lm-ldl "
. / Configure - host = arm - with-gnu-ld - enable-shared \
At the end of the assembly receive the following: configure: error: No 16 bit type found on this platform!
What could this mean? How to fix and properly configure the library? Maybe I can somehow easier you can configure the library?
I think it is hard (or even impossible) to use ./configure script to build library for Android. Android has its own building system Android.mk for native code and I think this will be the easiest way to go. You have to prepare such makefile manually and then use ndk-build script that come with NDK. Together with NDK samples are installed and you can check there how such file may look like.
If you want to just run configure to generate config.h please follow this link http://warpedtimes.wordpress.com/2010/02/03/building-open-source-libraries-with-android-ndk/. It contains information that following set of parameters for ./configure might work
./configure –host=arm-eabi CC=arm-eabi-gcc CPPFLAGS=”-I$ANDROID_ROOT/build/platforms/android-3/arch-arm/usr/include/” CFLAGS=”-nostdlib” LDFLAGS=”-Wl,-rpath-link=$ANDROID_ROOT/build/platforms/android-3/arch-arm/usr/lib/ -L$ANDROID_ROOT/build/platforms/android-3/arch-arm/usr/lib/” LIBS=”-lc “