R4SAS
4 months ago
7 changed files with 85 additions and 62 deletions
@ -1 +1 @@ |
|||||||
Subproject commit 4163542125925e0b098d43e1471c86e1bd935cdd |
Subproject commit 9a6654943d9b90687fa474ba0ffbf024851d92f2 |
@ -0,0 +1,83 @@ |
|||||||
|
#!/bin/bash |
||||||
|
|
||||||
|
# https://stackoverflow.com/a/246128 |
||||||
|
SOURCE="${0}" |
||||||
|
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink |
||||||
|
DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )" |
||||||
|
SOURCE="$(readlink "$SOURCE")" |
||||||
|
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located |
||||||
|
done |
||||||
|
DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )" |
||||||
|
|
||||||
|
# Checking Android SDK |
||||||
|
if [ -z "$ANDROID_HOME" -a "$ANDROID_HOME" == "" ]; then |
||||||
|
echo -e "\033[31mFailed! ANDROID_HOME is empty. Run 'export ANDROID_HOME=[PATH_TO_SDK]'\033[0m" |
||||||
|
exit |
||||||
|
fi |
||||||
|
|
||||||
|
# Checking Android NDK |
||||||
|
if [ -z "$ANDROID_NDK_HOME" -a "$ANDROID_NDK_HOME" == "" ]; then |
||||||
|
echo -e "\033[31mFailed! ANDROID_NDK_HOME is empty. Run 'export ANDROID_NDK_HOME=[PATH_TO_NDK]'\033[0m" |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
|
||||||
|
_NDK_OPTS="-j `nproc` NDK_MODULE_PATH=$DIR" |
||||||
|
|
||||||
|
help() |
||||||
|
{ |
||||||
|
echo "Syntax: $(basename "$SOURCE") [-m|d|s|h|v]" |
||||||
|
echo "Options:" |
||||||
|
echo "m Rename binaries as libraries." |
||||||
|
echo "d Debug build." |
||||||
|
echo "s Strip binaries." |
||||||
|
echo "h Print this Help." |
||||||
|
echo "v Verbose NDK output." |
||||||
|
echo |
||||||
|
} |
||||||
|
|
||||||
|
while getopts ":dmsvh" option; do |
||||||
|
case $option in |
||||||
|
d) # debug build |
||||||
|
_NDK_OPTS="$_NDK_OPTS NDK_DEBUG=1" |
||||||
|
;; |
||||||
|
m) # make module |
||||||
|
_MODULE=1 |
||||||
|
;; |
||||||
|
s) # strip binaries |
||||||
|
_STRIP=1 |
||||||
|
;; |
||||||
|
v) # verbose output |
||||||
|
_NDK_OPTS="$_NDK_OPTS V=1 NDK_LOG=1" |
||||||
|
;; |
||||||
|
h) # display help |
||||||
|
help |
||||||
|
exit;; |
||||||
|
\?) # Invalid option |
||||||
|
echo "Error: Invalid option. Use $(basename "$SOURCE") -h for help" |
||||||
|
exit;; |
||||||
|
esac |
||||||
|
done |
||||||
|
|
||||||
|
# Building |
||||||
|
echo Building boost... |
||||||
|
./build_boost.sh |
||||||
|
|
||||||
|
echo Building openssl... |
||||||
|
./build_openssl.sh |
||||||
|
|
||||||
|
echo Building miniupnpc... |
||||||
|
./build_miniupnpc.sh |
||||||
|
|
||||||
|
echo Building i2pd... |
||||||
|
$ANDROID_NDK_HOME/ndk-build $_NDK_OPTS |
||||||
|
|
||||||
|
pushd $DIR/../libs |
||||||
|
for xarch in $(ls .); do |
||||||
|
if [ ! -z "$_STRIP" ]; then |
||||||
|
$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip -s $xarch/i2pd |
||||||
|
fi |
||||||
|
if [ ! -z "$_MODULE" ]; then |
||||||
|
mv $xarch/i2pd $xarch/libi2pd.so |
||||||
|
fi |
||||||
|
done |
||||||
|
popd |
@ -1,23 +0,0 @@ |
|||||||
export I2PD_DEBUG=1 |
|
||||||
if [ -z "$ANDROID_NDK_HOME" -a "$ANDROID_NDK_HOME" == "" ]; then |
|
||||||
echo -e "\033[31mFailed! ANDROID_NDK_HOME is empty. Run 'export ANDROID_NDK_HOME=[PATH_TO_NDK]'\033[0m" |
|
||||||
exit 1 |
|
||||||
fi |
|
||||||
echo Building boost... |
|
||||||
./build_boost.sh |
|
||||||
echo Building miniupnpc... |
|
||||||
./build_miniupnpc.sh |
|
||||||
echo Building openssl... |
|
||||||
./build_openssl.sh |
|
||||||
echo Building i2pd... |
|
||||||
pushd . |
|
||||||
NDK_MODULE_PATH=`pwd` |
|
||||||
cd .. |
|
||||||
NDK_PROJECT_PATH=`pwd` |
|
||||||
popd |
|
||||||
if [ -z "$BUILD_SO" -a "$BUILD_SO" == "" ]; then |
|
||||||
export NDK_MODULE_PATH=$NDK_MODULE_PATH && export NDK_PROJECT_PATH=$NDK_PROJECT_PATH && $ANDROID_NDK_HOME/ndk-build V=1 NDK_LOG=1 -j`nproc` NDK_DEBUG=1 |
|
||||||
else |
|
||||||
export NDK_MODULE_PATH=$NDK_MODULE_PATH && export NDK_PROJECT_PATH=$NDK_PROJECT_PATH && ./ndkbuild-wrapper.sh V=1 NDK_LOG=1 -j`nproc` NDK_DEBUG=1 |
|
||||||
fi |
|
||||||
echo "$0 completed." |
|
@ -1,20 +0,0 @@ |
|||||||
if [ -z "$ANDROID_NDK_HOME" -a "$ANDROID_NDK_HOME" == "" ]; then |
|
||||||
echo -e "\033[31mFailed! ANDROID_NDK_HOME is empty. Run 'export ANDROID_NDK_HOME=[PATH_TO_NDK]'\033[0m" |
|
||||||
exit 1 |
|
||||||
fi |
|
||||||
echo Building boost... |
|
||||||
./build_boost.sh |
|
||||||
echo Building miniupnpc... |
|
||||||
./build_miniupnpc.sh |
|
||||||
echo Building openssl... |
|
||||||
./build_openssl.sh |
|
||||||
echo Building i2pd... |
|
||||||
NDK_MODULE_PATH=`pwd` |
|
||||||
cd .. |
|
||||||
NDK_PROJECT_PATH=`pwd` |
|
||||||
if [ -z "$BUILD_SO" -a "$BUILD_SO" == "" ]; then |
|
||||||
export NDK_MODULE_PATH=$NDK_MODULE_PATH && export NDK_PROJECT_PATH=$NDK_PROJECT_PATH && $ANDROID_NDK_HOME/ndk-build V=1 NDK_LOG=1 -j`nproc` |
|
||||||
else |
|
||||||
export NDK_MODULE_PATH=$NDK_MODULE_PATH && export NDK_PROJECT_PATH=$NDK_PROJECT_PATH && ./ndkbuild-wrapper.sh V=1 NDK_LOG=1 -j`nproc` |
|
||||||
fi |
|
||||||
echo "$0 completed." |
|
@ -1,16 +0,0 @@ |
|||||||
#!/usr/bin/env bash |
|
||||||
|
|
||||||
cd $NDK_PROJECT_PATH/jni |
|
||||||
$ANDROID_NDK_HOME/ndk-build $* |
|
||||||
|
|
||||||
# if it doesn't exist, then create |
|
||||||
if [ ! -d $NDK_PROJECT_PATH/libs ]; then mkdir $NDK_PROJECT_PATH/libs; fi |
|
||||||
|
|
||||||
cd $NDK_PROJECT_PATH/libs |
|
||||||
for f in $(ls .); |
|
||||||
do |
|
||||||
if [ -z "$I2PD_DEBUG" -a "$I2PD_DEBUG" == "" ]; then |
|
||||||
strip $f/i2pd |
|
||||||
fi |
|
||||||
mv $f/i2pd $f/libi2pd.so |
|
||||||
done |
|
Loading…
Reference in new issue