The Open Lighting Project has moved!
We've launched our new site at www.openlighting.org. This wiki will remain and be updated with more technical information.
We've launched our new site at www.openlighting.org. This wiki will remain and be updated with more technical information.
OLA on Android
From wiki.openlighting.org
These are my notes from trying to get OLA working on Android.
Contents
Toolchain
Download the Android NDK. Extract, this assumes you extracted to $HOME/android-ndk-XXX.
The NDK comes with a script to build a stand alone toolchain. We need to run it.
~/android-ndk-r8c/build/tools/make-standalone-toolchain.sh --platform=android-9 --install-dir=$HOME/android-ndk-r8c/standalone-toolchain-api9
Setup
We'll do all the work in $HOME/android
mkdir $HOME/android # where we install libs to mkdir $HOME/android/root
Setup env variables
export ANDROID_NDK_PATH=$HOME/android-ndk-r7c export ANDROID_PLATFORM=9 export ANDROID_NDK_STANDALONE_TOOLCHAIN=$ANDROID_NDK_PATH/standalone-toolchain-api$ANDROID_PLATFORM export CPPFLAGS="" export LDFLAGS="" export PATH=$ANDROID_NDK_PATH/android-sdk-linux_x86/tools:$ANDROID_NDK_PATH/android-sdk-linux_x86/platform-tools:$ANDROID_NDK_STANDALONE_TOOLCHAIN/bin:$PATH
Protobuf
cd $HOME/android wget <protobuf> tar -zxf <protobuf> cd protobuf-X.Y.Z ./configure --host=arm-linux-androideabi CC=arm-linux-androideabi-gcc CXX=arm-linux-androideabi-c++ --with-protoc=/opt/local/bin/protoc make DESTDIR="$HOME/android make install
TODO: Figure out how to package (or should we statically link to ola?)
UUID
OSSP UUID is quite old (2008) now so it doesn't cross compile well. Instead we'll use the libuuid from e2fsprogs.
Download from http://e2fsprogs.sourceforge.net/
cd $HOME/android wget <e2fsprogs-url> tar -zxf <e2fsprogs> cd e2fsprogs-X.Y.Z ./configure --host=arm-linux-androideabi CC=arm-linux-androideabi-gcc CXX=arm-linux-androideabi-c++ # we only want the libuuid bit cd lib/uuid make DESTDIR="$HOME/android make install
OLA
export ac_cv_func_malloc_0_nonnull=yes export PKG_CONFIG_PATH="$HOME/android/root/usr/local/lib/pkgconfig" ./configure --host=arm-linux-androideabi --build=i686-pc-linux-gnu CC=arm-linux-androideabi-gcc CXX=arm-linux-androideabi-c++ --disable-http --disable-unittests make