Personal tools
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.

Difference between revisions of "OLA on Android"

From wiki.openlighting.org

Jump to: navigation, search
m (OLA)
Line 71: Line 71:
 
<pre>
 
<pre>
 
export ac_cv_func_malloc_0_nonnull=yes
 
export ac_cv_func_malloc_0_nonnull=yes
export PKG_CONFIG_PATH="$HOME/android/root/use/local/lib/pkgconfig"
+
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
 
./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
 
make
 
</pre>
 
</pre>

Revision as of 09:21, 12 May 2013

These are my notes from trying to get OLA working on Android.

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