-
-
Save anonymous/9cd8097c6972f7aed1d5 to your computer and use it in GitHub Desktop.
Voxelands build script for android
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#install dependencies | |
dist=`grep DISTRIB_ID /etc/*-release | awk -F '=' '{print $2}'` | |
arch=`uname -m` | |
if [ $dist == "Ubuntu" ] && [ $arch == "x86_64" ]; then | |
#install ubuntu 64 bit dependencies | |
sudo apt-get install subversion git curl; | |
elif [ $dist == "Ubuntu" ] && [ $arch == "i686" ]; then | |
#install ubuntu 32 bit dependencies | |
sudo apt-get install subversion git curl; | |
elif [ $dist == "Arch" ] && [ $arch == "x86_64" ]; then | |
#install arch linux 64 bit dependencies | |
sudo pacman -S subversion git curl; | |
elif [ $dist == "Arch" ] && [ $arch == "i686" ]; then | |
#install arch linux 32 bit dependencies | |
sudo pacman -S subversion git curl; | |
else | |
echo $'Your distribution is not supported in the script.\nPlease install the dependencies manually' | |
exit 1 | |
fi | |
#build variables | |
APP_PLATFORM="android-9" | |
TARGET_ABI="armeabi-v7a" | |
TARGET_ARCH_ABI="armeabi-v7a" | |
TARGET_TOOLCHAIN="arm-linux-androideabi-" | |
COMPILER_VERSION="4.8" | |
LOCAL_ARM_NEON="true" | |
WORK_DIRECTORY=$PWD | |
#source URLs | |
IRRLICHT_REVISION="5207" | |
IRRLICHT_URL_SVN="http://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@$IRRLICHT_REVISION" | |
FREETYPE_URL_GIT="https://github.com/cdave1/freetype2-android" | |
OGG_URL_GIT="https://github.com/vincentjames501/libvorbis-libogg-android" | |
OPENAL_URL_GIT="https://github.com/apportable/openal-soft" | |
# SQLITE3_FOLDER="sqlite-amalgamation-3090200" | |
# SQLITE3_URL="http://www.sqlite.org/2015/$SQLITE3_FOLDER.zip" | |
# ZLIB_URL_GIT="https://github.com/android/platform_external_zlib.git" | |
VOXELANDS_URL="https://gitlab.com/voxelands/voxelands.git" | |
#GET sources | |
mkdir -p src | |
cd src | |
svn co $IRRLICHT_URL_SVN irrlicht || exit 1 | |
git clone $FREETYPE_URL_GIT freetype || exit 1 | |
git clone $OGG_URL_GIT ogg || exit 1 | |
git clone $OPENAL_URL_GIT openal || exit 1 | |
# curl -O $SQLITE3_URL || exit 1; unzip $SQLITE3_FOLDER.zip; mv $SQLITE3_FOLDER sqlite; rm $SQLITE3_FOLDER.zip | |
# git clone $ZLIB_URL_GIT zlib || exit 1 | |
git clone $VOXELANDS_URL voxelands || exit 1 | |
#setup android sdk and ndk | |
make-standalone-toolchain.sh --platform=$APP_PLATFORM \ | |
--toolchain=${TARGET_TOOLCHAIN}${COMPILER_VERSION} | |
tar -xf /tmp/ndk-$USER/arm-linux-androideabi-4.8.tar.bz2 | |
ln -s $WORK_DIRECTORY/arm-linux-androideabi-4.8/ android-toolchain | |
ANDROID_TOOLCHAIN_ROOT=$WORK_DIRECTORY/android-toolchain/ | |
#compile and install libraries statically | |
#compiling irrlicht | |
cd $WORK_DIRECTORY/src/irrlicht/source/Irrlicht/Android/ | |
ndk-build NDK_PROJECT_PATH=$WORK_DIRECTORY \ | |
APP_BUILD_SCRIPT=./jni/Android.mk \ | |
APP_PLATFORM=$APP_PLATFORM | |
#install irrlicht | |
mkdir -p $ANDROID_TOOLCHAIN_ROOT/sysroot/usr/include/irrlicht | |
cp $WORK_DIRECTORY/src/irrlicht/include/* $ANDROID_TOOLCHAIN_ROOT/sysroot/usr/include/irrlicht/ | |
cp $WORK_DIRECTORY/obj/local/armeabi/libIrrlicht.a $ANDROID_TOOLCHAIN_ROOT/sysroot/usr/lib/ | |
#compiling freetype | |
cd $WORK_DIRECTORY/src/freetype/Android/jni/ | |
ndk-build NDK_PROJECT_PATH=$WORK_DIRECTORY \ | |
APP_BUILD_SCRIPT=./Android.mk \ | |
APP_PLATFORM=$APP_PLATFORM | |
#install freetype | |
cp -r $WORK_DIRECTORY/src/freetype/include/* $ANDROID_TOOLCHAIN_ROOT/sysroot/usr/include/ | |
cp $WORK_DIRECTORY/obj/local/armeabi/libfreetype2-static.a $ANDROID_TOOLCHAIN_ROOT/sysroot/usr/lib/ | |
#compiling ogg | |
cd $WORK_DIRECTORY/src/ogg/jni/ | |
sed -i 's/BUILD_SHARED_LIBRARY/BUILD_STATIC_LIBRARY/g' ./libogg/Android.mk | |
sed -i 's/BUILD_SHARED_LIBRARY/BUILD_STATIC_LIBRARY/g' ./libvorbis/Android.mk | |
sed -i 's/BUILD_SHARED_LIBRARY/BUILD_STATIC_LIBRARY/g' ./libvorbis-jni/Android.mk | |
ndk-build NDK_PROJECT_PATH=$WORK_DIRECTORY \ | |
APP_BUILD_SCRIPT=./Android.mk \ | |
APP_PLATFORM=$APP_PLATFORM | |
#install ogg | |
cp -r $WORK_DIRECTORY/src/ogg/jni/* $ANDROID_TOOLCHAIN_ROOT/sysroot/usr/include/ | |
cp $WORK_DIRECTORY/obj/local/armeabi/libogg.a \ | |
$WORK_DIRECTORY/obj/local/armeabi/libvorbis.a \ | |
$WORK_DIRECTORY/obj/local/armeabi/libvorbis-jni.a \ | |
$ANDROID_TOOLCHAIN_ROOT/sysroot/usr/lib/ | |
#compile openal | |
POST_FROYO="yes" | |
cd $WORK_DIRECTORY/src/openal/jni/ | |
sed -i 's/BUILD_SHARED_LIBRARY/BUILD_STATIC_LIBRARY/g' ./Android.mk | |
#install openal | |
cp $WORK_DIRECTORY/obj/local/armeabi/libopenal.a $ANDROID_TOOLCHAIN_ROOT/sysroot/usr/lib/ | |
cp -r $WORK_DIRECTORY/src/openal/jni/OpenAL/include/AL/ $ANDROID_TOOLCHAIN_ROOT/sysroot/usr/include/ | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment