|
Packit |
1fb8d4 |
#!/bin/bash
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
JPEG_TAG=master
|
|
Packit |
1fb8d4 |
OPENH264_TAG=master
|
|
Packit |
1fb8d4 |
OPENSSL_TAG=master
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
WITH_JPEG=0
|
|
Packit |
1fb8d4 |
WITH_OPENH264=0
|
|
Packit |
1fb8d4 |
WITH_OPENSSL=0
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
SRC_DIR=$(pwd)
|
|
Packit |
1fb8d4 |
BUILD_SRC=$(pwd)
|
|
Packit |
1fb8d4 |
BUILD_DST=$(pwd)
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
CMAKE_BUILD_TYPE=Debug
|
|
Packit |
1fb8d4 |
BUILD_DEPS=0
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
SCRIPT_PATH=$(dirname "${BASH_SOURCE[0]}")
|
|
Packit |
1fb8d4 |
source $SCRIPT_PATH/android-build-common.sh
|
|
Packit |
1fb8d4 |
source $SCRIPT_PATH/android-build.conf
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
# Parse arguments.
|
|
Packit |
1fb8d4 |
REMAINING=""
|
|
Packit |
1fb8d4 |
while [[ $# > 0 ]]
|
|
Packit |
1fb8d4 |
do
|
|
Packit |
1fb8d4 |
key="$1"
|
|
Packit |
1fb8d4 |
case $key in
|
|
Packit |
1fb8d4 |
--freerdp-src)
|
|
Packit |
1fb8d4 |
SRC_DIR="$2"
|
|
Packit |
1fb8d4 |
shift
|
|
Packit |
1fb8d4 |
;;
|
|
Packit |
1fb8d4 |
--jpeg)
|
|
Packit |
1fb8d4 |
WITH_JPEG=1
|
|
Packit |
1fb8d4 |
shift
|
|
Packit |
1fb8d4 |
;;
|
|
Packit |
1fb8d4 |
--openh264)
|
|
Packit |
1fb8d4 |
WITH_OPENH264=1
|
|
Packit |
1fb8d4 |
shift
|
|
Packit |
1fb8d4 |
;;
|
|
Packit |
1fb8d4 |
--openssl)
|
|
Packit |
1fb8d4 |
WITH_OPENSSL=1
|
|
Packit |
1fb8d4 |
shift
|
|
Packit |
1fb8d4 |
;;
|
|
Packit |
1fb8d4 |
--debug)
|
|
Packit |
1fb8d4 |
CMAKE_BUILD_TYPE=Debug
|
|
Packit |
1fb8d4 |
shift
|
|
Packit |
1fb8d4 |
;;
|
|
Packit |
1fb8d4 |
--release)
|
|
Packit |
1fb8d4 |
CMAKE_BUILD_TYPE=Release
|
|
Packit |
1fb8d4 |
shift
|
|
Packit |
1fb8d4 |
;;
|
|
Packit |
1fb8d4 |
--relWithDebug)
|
|
Packit |
1fb8d4 |
CMAKE_BUILD_TYPE=RelWithDebug
|
|
Packit |
1fb8d4 |
shift
|
|
Packit |
1fb8d4 |
;;
|
|
Packit |
1fb8d4 |
--build-deps)
|
|
Packit |
1fb8d4 |
BUILD_DEPS=1
|
|
Packit |
1fb8d4 |
shift
|
|
Packit |
1fb8d4 |
;;
|
|
Packit |
1fb8d4 |
*)
|
|
Packit |
1fb8d4 |
REMAINING="$REMAINING $key"
|
|
Packit |
1fb8d4 |
shift
|
|
Packit |
1fb8d4 |
;;
|
|
Packit |
1fb8d4 |
esac
|
|
Packit |
1fb8d4 |
done
|
|
Packit |
1fb8d4 |
common_parse_arguments $REMAINING
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
# clean up top
|
|
Packit |
1fb8d4 |
if [ -d $BUILD_SRC ];
|
|
Packit |
1fb8d4 |
then
|
|
Packit |
1fb8d4 |
common_clean $BUILD_SRC
|
|
Packit |
1fb8d4 |
fi
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
if [ -d $BUILD_DST ];
|
|
Packit |
1fb8d4 |
then
|
|
Packit |
1fb8d4 |
common_run mkdir -p $BUILD_DST
|
|
Packit |
1fb8d4 |
fi
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
# Prepare the environment
|
|
Packit |
1fb8d4 |
common_run mkdir -p $BUILD_SRC
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
CMAKE_CMD_ARGS="-DANDROID_NDK=$ANDROID_NDK \
|
|
Packit |
1fb8d4 |
-DANDROID_NATIVE_API_LEVEL=android-${NDK_TARGET} \
|
|
Packit Service |
5a9772 |
-DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake \
|
|
Packit |
1fb8d4 |
-DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE \
|
|
Packit Service |
5a9772 |
-DFREERDP_EXTERNAL_PATH=$BUILD_DST \
|
|
Packit Service |
5a9772 |
-DCMAKE_MAKE_PROGRAM=make"
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
BASE=$(pwd)
|
|
Packit |
1fb8d4 |
for ARCH in $BUILD_ARCH
|
|
Packit |
1fb8d4 |
do
|
|
Packit |
1fb8d4 |
# build dependencies.
|
|
Packit |
1fb8d4 |
if [ $WITH_JPEG -ne 0 ];
|
|
Packit |
1fb8d4 |
then
|
|
Packit |
1fb8d4 |
if [ $BUILD_DEPS -ne 0 ];
|
|
Packit |
1fb8d4 |
then
|
|
Packit |
1fb8d4 |
common_run bash $SCRIPT_PATH/android-build-jpeg.sh \
|
|
Packit |
1fb8d4 |
--src $BUILD_SRC/jpeg --dst $BUILD_DST \
|
|
Packit |
1fb8d4 |
--ndk $ANDROID_NDK \
|
|
Packit |
1fb8d4 |
--arch $ARCH \
|
|
Packit Service |
5a9772 |
--target $NDK_TARGET \
|
|
Packit |
1fb8d4 |
--tag $JPEG_TAG
|
|
Packit |
1fb8d4 |
fi
|
|
Packit |
1fb8d4 |
CMAKE_CMD_ARGS="$CMAKE_CMD_ARGS -DWITH_JPEG=ON"
|
|
Packit |
1fb8d4 |
else
|
|
Packit |
1fb8d4 |
CMAKE_CMD_ARGS="$CMAKE_CMD_ARGS -DWITH_JPEG=OFF"
|
|
Packit |
1fb8d4 |
fi
|
|
Packit |
1fb8d4 |
if [ $WITH_OPENH264 -ne 0 ];
|
|
Packit |
1fb8d4 |
then
|
|
Packit |
1fb8d4 |
if [ $BUILD_DEPS -ne 0 ];
|
|
Packit |
1fb8d4 |
then
|
|
Packit |
1fb8d4 |
common_run bash $SCRIPT_PATH/android-build-openh264.sh \
|
|
Packit |
1fb8d4 |
--src $BUILD_SRC/openh264 --dst $BUILD_DST \
|
|
Packit |
1fb8d4 |
--ndk $ANDROID_NDK \
|
|
Packit |
1fb8d4 |
--arch $ARCH \
|
|
Packit Service |
5a9772 |
--target $NDK_TARGET \
|
|
Packit |
1fb8d4 |
--tag $OPENH264_TAG
|
|
Packit |
1fb8d4 |
fi
|
|
Packit |
1fb8d4 |
CMAKE_CMD_ARGS="$CMAKE_CMD_ARGS -DWITH_OPENH264=ON"
|
|
Packit |
1fb8d4 |
else
|
|
Packit |
1fb8d4 |
CMAKE_CMD_ARGS="$CMAKE_CMD_ARGS -DWITH_OPENH264=OFF"
|
|
Packit |
1fb8d4 |
fi
|
|
Packit |
1fb8d4 |
if [ $WITH_OPENSSL -ne 0 ];
|
|
Packit |
1fb8d4 |
then
|
|
Packit |
1fb8d4 |
if [ $BUILD_DEPS -ne 0 ];
|
|
Packit |
1fb8d4 |
then
|
|
Packit |
1fb8d4 |
common_run bash $SCRIPT_PATH/android-build-openssl.sh \
|
|
Packit |
1fb8d4 |
--src $BUILD_SRC/openssl --dst $BUILD_DST \
|
|
Packit |
1fb8d4 |
--ndk $ANDROID_NDK \
|
|
Packit |
1fb8d4 |
--arch $ARCH \
|
|
Packit |
1fb8d4 |
--target $NDK_TARGET \
|
|
Packit |
1fb8d4 |
--tag $OPENSSL_TAG
|
|
Packit |
1fb8d4 |
fi
|
|
Packit |
1fb8d4 |
fi
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
# Build and install the library.
|
|
Packit |
1fb8d4 |
if [ $DEPS_ONLY -eq 0 ];
|
|
Packit |
1fb8d4 |
then
|
|
Packit |
1fb8d4 |
common_run cd $BASE
|
|
Packit |
1fb8d4 |
common_run mkdir -p $BUILD_SRC/freerdp-build/$ARCH
|
|
Packit |
1fb8d4 |
common_run cd $BUILD_SRC/freerdp-build/$ARCH
|
|
Packit |
1fb8d4 |
common_run export ANDROID_NDK=$ANDROID_NDK
|
|
Packit Service |
5a9772 |
common_run $CMAKE_PROGRAM $CMAKE_CMD_ARGS \
|
|
Packit |
1fb8d4 |
-DANDROID_ABI=$ARCH \
|
|
Packit |
1fb8d4 |
-DCMAKE_INSTALL_PREFIX=$BUILD_DST/$ARCH \
|
|
Packit |
1fb8d4 |
-DCMAKE_INSTALL_LIBDIR=. \
|
|
Packit |
1fb8d4 |
$SRC_DIR
|
|
Packit |
1fb8d4 |
echo $(pwd)
|
|
Packit |
1fb8d4 |
common_run cmake --build . --target install
|
|
Packit |
1fb8d4 |
fi
|
|
Packit |
1fb8d4 |
done
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
echo "Successfully build library for architectures $BUILD_ARCH"
|