|
Packit |
1fb8d4 |
#!/bin/bash
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
SCM_URL=https://github.com/openssl/openssl
|
|
Packit |
1fb8d4 |
SCM_TAG=master
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
COMPILER=4.9
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
source $(dirname "${BASH_SOURCE[0]}")/android-build-common.sh
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
function build {
|
|
Packit |
1fb8d4 |
if [ $# -ne 5 ];
|
|
Packit |
1fb8d4 |
then
|
|
Packit |
1fb8d4 |
echo "Invalid arguments $@"
|
|
Packit |
1fb8d4 |
exit 1
|
|
Packit |
1fb8d4 |
fi
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
CONFIG=$1
|
|
Packit |
1fb8d4 |
ARCH_PREFIX=$2
|
|
Packit |
1fb8d4 |
DST_PREFIX=$3
|
|
Packit |
1fb8d4 |
TOOLCHAIN_PREFIX=$4
|
|
Packit |
1fb8d4 |
PLATFORM_PREFIX=$5
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
TMP_DIR=$ANDROID_NDK/toolchains/$TOOLCHAIN_PREFIX$COMPILER/prebuilt/
|
|
Packit |
1fb8d4 |
HOST_PLATFORM=$(ls $TMP_DIR)
|
|
Packit |
1fb8d4 |
if [ ! -d $TMP_DIR$HOST_POLATFORM ];
|
|
Packit |
1fb8d4 |
then
|
|
Packit |
1fb8d4 |
echo "could not determine NDK host platform in $ANDROID_NDK/toolchains/$TOOLCHAIN_PREFIX$COMPILER/prebuilt/"
|
|
Packit |
1fb8d4 |
exit 1
|
|
Packit |
1fb8d4 |
fi
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
common_run export CROSS_SYSROOT=$ANDROID_NDK/platforms/android-$NDK_TARGET/$PLATFORM_PREFIX
|
|
Packit |
1fb8d4 |
common_run export ANDROID_DEV=$ANDROID_NDK/platforms/android-$NDK_TARGET/$PLATFORM_PREFIX/usr
|
|
Packit |
1fb8d4 |
common_run export CROSS_COMPILE="$CCACHE $ARCH_PREFIX"
|
|
Packit |
1fb8d4 |
common_run export PATH=$ANDROID_NDK/toolchains/$TOOLCHAIN_PREFIX$COMPILER/prebuilt/$HOST_PLATFORM/bin/:$ORG_PATH
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
echo "CONFIG=$CONFIG"
|
|
Packit |
1fb8d4 |
echo "ARCH_PREFIX=$ARCH_PREFIX"
|
|
Packit |
1fb8d4 |
echo "DST_PREFIX=$DST_PREFIX"
|
|
Packit |
1fb8d4 |
echo "TOOLCHAIN_PREFIX=$TOOLCHAIN_PREFIX"
|
|
Packit |
1fb8d4 |
echo "PLATFORM_PREFIX=$PLATFORM_PREFIX"
|
|
Packit |
1fb8d4 |
echo "CROSS_SYSROOT=$CROSS_SYSROOT"
|
|
Packit |
1fb8d4 |
echo "CROSS_COMPILE=$CROSS_COMPILE"
|
|
Packit |
1fb8d4 |
echo "PATH=$PATH"
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
BASE=$(pwd)
|
|
Packit |
1fb8d4 |
DST_DIR=$BUILD_DST/$DST_PREFIX
|
|
Packit |
1fb8d4 |
common_run cd $BUILD_SRC
|
|
Packit |
1fb8d4 |
common_run git clean -xdf
|
|
Packit |
1fb8d4 |
common_run ./Configure --config=$SCRIPT_PATH/openssl-mips64.conf --openssldir=$DST_DIR $CONFIG no-shared
|
|
Packit |
1fb8d4 |
common_run make CALC_VERSIONS="SHLIB_COMPAT=; SHLIB_SOVER=" depend
|
|
Packit |
1fb8d4 |
common_run make CALC_VERSIONS="SHLIB_COMPAT=; SHLIB_SOVER=" build_libs
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
if [ ! -d $DST_DIR ];
|
|
Packit |
1fb8d4 |
then
|
|
Packit |
1fb8d4 |
common_run mkdir -p $DST_DIR
|
|
Packit |
1fb8d4 |
fi
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
SONAME=libfreerdp-openssl.so
|
|
Packit |
1fb8d4 |
common_run ${CROSS_COMPILE}gcc --sysroot=${CROSS_SYSROOT} -shared -fPIC -Wl,-soname,$SONAME -o $DST_DIR/$SONAME -Wl,-whole-archive libcrypto.a libssl.a -Wl,-no-whole-archive
|
|
Packit |
1fb8d4 |
common_run cd $BASE
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
# Run the main program.
|
|
Packit |
1fb8d4 |
common_parse_arguments $@
|
|
Packit |
1fb8d4 |
common_check_requirements
|
|
Packit |
1fb8d4 |
common_update $SCM_URL $SCM_TAG $BUILD_SRC
|
|
Packit |
1fb8d4 |
common_clean $BUILD_DST
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
ORG_PATH=$PATH
|
|
Packit |
1fb8d4 |
for ARCH in $BUILD_ARCH
|
|
Packit |
1fb8d4 |
do
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
case $ARCH in
|
|
Packit |
1fb8d4 |
"armeabi")
|
|
Packit |
1fb8d4 |
build "android" "arm-linux-androideabi-" \
|
|
Packit |
1fb8d4 |
$ARCH "arm-linux-androideabi-" "arch-arm"
|
|
Packit |
1fb8d4 |
;;
|
|
Packit |
1fb8d4 |
"armeabi-v7a")
|
|
Packit |
1fb8d4 |
build "android-armeabi" "arm-linux-androideabi-" \
|
|
Packit |
1fb8d4 |
$ARCH "arm-linux-androideabi-" "arch-arm"
|
|
Packit |
1fb8d4 |
;;
|
|
Packit |
1fb8d4 |
"mips")
|
|
Packit |
1fb8d4 |
build "android-mips" "mipsel-linux-android-" \
|
|
Packit |
1fb8d4 |
$ARCH "mipsel-linux-android-" "arch-mips"
|
|
Packit |
1fb8d4 |
;;
|
|
Packit |
1fb8d4 |
"mips64")
|
|
Packit |
1fb8d4 |
build "android64-mips64" "mips64el-linux-android-" \
|
|
Packit |
1fb8d4 |
$ARCH "mips64el-linux-android-" "arch-mips64"
|
|
Packit |
1fb8d4 |
;;
|
|
Packit |
1fb8d4 |
"x86")
|
|
Packit |
1fb8d4 |
build "android-x86" "i686-linux-android-" \
|
|
Packit |
1fb8d4 |
$ARCH "x86-" "arch-x86"
|
|
Packit |
1fb8d4 |
;;
|
|
Packit |
1fb8d4 |
"arm64-v8a")
|
|
Packit |
1fb8d4 |
build "android64-aarch64" "aarch64-linux-android-" \
|
|
Packit |
1fb8d4 |
$ARCH "aarch64-linux-android-" "arch-arm64"
|
|
Packit |
1fb8d4 |
;;
|
|
Packit |
1fb8d4 |
"x86_64")
|
|
Packit |
1fb8d4 |
build "android64" "x86_64-linux-android-" \
|
|
Packit |
1fb8d4 |
$ARCH "x86_64-" "arch-x86_64"
|
|
Packit |
1fb8d4 |
;;
|
|
Packit |
1fb8d4 |
*)
|
|
Packit |
1fb8d4 |
echo "[WARNING] Skipping unsupported architecture $ARCH"
|
|
Packit |
1fb8d4 |
continue
|
|
Packit |
1fb8d4 |
;;
|
|
Packit |
1fb8d4 |
esac
|
|
Packit |
1fb8d4 |
done
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
if [ ! -d $BUILD_DST/$ARCH/include ];
|
|
Packit |
1fb8d4 |
then
|
|
Packit |
1fb8d4 |
common_run mkdir -p $BUILD_DST/$ARCH/include
|
|
Packit |
1fb8d4 |
fi
|
|
Packit |
1fb8d4 |
common_run cp -L -R $BUILD_SRC/include/openssl $BUILD_DST/$ARCH/include/
|
|
Packit |
1fb8d4 |
|