Skip to content

Instantly share code, notes, and snippets.

@kali
Created July 5, 2016 08:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kali/ac68ef24f0adbf615c9429072c96a770 to your computer and use it in GitHub Desktop.
Save kali/ac68ef24f0adbf615c9429072c96a770 to your computer and use it in GitHub Desktop.
#!/bin/sh
ANDROID_NDK_HOME=$HOME/Library/Android/sdk/ndk-bundle
$ANDROID_NDK_HOME/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-gcc \
--sysroot $ANDROID_NDK_HOME/platforms/android-18/arch-arm \
-L `pwd`/../deps/openssl-install/lib/ \
-L `pwd`/../deps/libsodium-1.0.10/libsodium-android-armv6/lib/ \
"$@"
set -e
set -x
ROOT=`realpath .` # brew install coreutils
export ANDROID_NDK_HOME=$HOME/Library/Android/sdk/ndk-bundle
export ANDROID_NDK_ROOT=$HOME/Library/Android/sdk/ndk-bundle
FULLPATH=$ANDROID_NDK_HOME/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin:$PATH
OPENSSL_DIR=$ROOT/deps/openssl-install
mkdir -p $OPENSSL_DIR
cd $ROOT/deps
if [ ! -e libsodium-1.0.10/libsodium-android-armv6/lib/libsodium.a ]
then
[ -e libsodium-1.0.10.tar.gz ] || wget https://github.com/jedisct1/libsodium/releases/download/1.0.10/libsodium-1.0.10.tar.gz
[ -d libsodium-1.0.10 ] || tar zxf libsodium-1.0.10.tar.gz
cd libsodium-1.0.10
[ -e libsodium-android-armv6/lib/libsodium.a ] || ./dist-build/android-arm.sh
rm -f libsodium-android-armv6/lib/libsodium.so
fi
cd $ROOT/deps
if [ ! -e openssl-install/lib/libcrypto.a ]
then
[ -e openssl-1.0.1p.tar.gz ] || wget https://www.openssl.org/source/openssl-1.0.1p.tar.gz
[ -d openssl-1.0.1p ] || tar -xvzf openssl-1.0.1p.tar.gz
cd openssl-1.0.1p
[ -e Setenv-android.sh ] || wget https://wiki.openssl.org/images/7/70/Setenv-android.sh
. Setenv-android.sh
./config no-shared no-ssl2 no-ssl3 no-comp no-hw no-engine --openssldir=$OPENSSL_DIR
PATH=$FULLPATH make depend
PATH=$FULLPATH make all
PATH=$FULLPATH make install_sw
fi
cd $ROOT/voter-jni
SODIUM_LIB_DIR=$ROOT/deps/libsodium-1.0.10/libsodium-android-armv6 \
OPENSSL_LIB_DIR=$OPENSSL_DIR/lib \
OPENSSL_INCLUDE_DIR=$OPENSSL_DIR/include:$ANDROID_NDK_ROOT/platforms/android-21/arch-arm/usr/include \
DEP_OPENSSL_INCLUDE=$OPENSSL_DIR/include:$ANDROID_NDK_ROOT/platforms/android-21/arch-arm/usr/include \
PATH=$FULLPATH \
CFLAGS="-I $ROOT/deps/openssl-install/include -I$ROOT/deps/libsodium-1.0.10/libsodium-android-armv6/include --sysroot $ANDROID_NDK_HOME/platforms/android-18/arch-arm" \
cargo build --target arm-linux-androideabi --release --verbose
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment