Blame scripts/android-build-freerdp.sh

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"