I found someone who ported over Pango Cairo for Android NDK (blog post, source code). However I have not been succesfull in compiling his example project. Has anyone managed to do so and can tell me what I am doing wrong?
This is what I have tried so far:
- git clone --recursive http://dev.laptop.org/git/users/cscott/android-libs/
- git couldn't find pixman for some reason, so did git clone http://cgit.freedesktop.org/pixman/, and moved to android-libs/jni/pixman
- copied contents of android-libs/jni/ to android-libs/examples/java-bitmap/jni (not sure which Android.mk to keep?)
- renamed java-bitmap/jni/Makefile.devel to Makefile
- edited java-bitmap/jni/Makefile as follows: NDK=/cygdrive/f/android-ndk-r8b TOOLCHAIN=$(NDK)/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin
- tried to run make in java-bitmap/jni
I am getting the following error:
checking for arm-linux-eabi-gcc... arm-linux-androideabi-gcc --sysroot /cygdrive/f/android-ndk-r8b/platforms/android-9/arch-arm -fpic -ffunction-sections -funwind-tables -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -mfpu=vfp -Wno-psabi -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -DANDROID -Wa,--noexecstack -g -isystem /cygdrive/f/workspace/java-bitmap/jni/sysroot/include
checking whether the C compiler works... no
configure: error: in `/cygdrive/f/workspace/java-bitmap/jni/pixman':
configure: error: C compiler cannot create executables
See `config.log' for more details
Makefile:133: recipe for target `pixman/config.h' failed
make: *** [pixman/config.h] Error 77
Here is a snippet of the config.h
configure:3460: checking whether the C compiler works
configure:3482: arm-linux-androideabi-gcc --sysroot /cygdrive/f/android-ndk-r8b/platforms/android-9/arch-arm -fpic -ffunction-sections -funwind-tables -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -mfpu=vfp -Wno-psabi -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -DANDROID -Wa,--noexecstack -g -isystem /cygdrive/f/workspace/java-bitmap/jni/sysroot/include -nostdlib -DPIXMAN_NO_TLS -DWCHAR_MIN=INT_MIN -DWCHAR_MAX=INT_MAX -I/cygdrive/f/workspace/java-bitmap/jni/pixman-extra -I/cygdrive/f/workspace/java-bitmap/jni/sysroot/include -include pixman-elf-fix.h -Wl,--fix-cortex-a8 -Wl,--no-undefined -Wl,-z,noexecstack -lc -lgcc -L/cygdrive/f/workspace/java-bitmap/jni/sysroot/lib conftest.c >&5
cc1.exe: error: pixman-elf-fix.h: No such file or directory
configure:3486: $? = 1
configure:3524: result: no
configure: failed program was:
..
configure:3529: error: in `/cygdrive/f/workspace/java-bitmap/jni/pixman':
configure:3531: error: C compiler cannot create executables
See `config.log' for more details
I got one step further.
Instead of
I downloaded with
and copied all files into the empty
jni/pixman
directory. Now the filepixman-elf-fix.h
is found, but the linker fails with:But that's probably caused by this same problem