1
2# Author: Declan Moran
3# www.silverglint.com
4# Thanks to damaex (https://github.com/damaex), for significant contributions
5
6ANDROID_NDK_ROOT=/home/android/android-ndk-r19c
7
8INSTALL_DIR=install
9BUILD_DIR=build
10START_DIR=$(pwd)
11
12rm -rf $INSTALL_DIR
13rm -rf $BUILD_DIR
14mkdir -p $BUILD_DIR #"${ANDROID_TARGET_PLATFORM}"
15
16#--------------------------------------------------------------------
17build_it()
18{
19    # builds either a static or shared lib depending on parm passed (ON or OFF)
20    want_shared=$1
21
22	cmake -DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_ROOT}/build/cmake/android.toolchain.cmake \
23		-DCMAKE_INSTALL_PREFIX:PATH=../../${INSTALL_DIR}/${ANDROID_TARGET_PLATFORM} \
24		-DANDROID_ABI=${ANDROID_TARGET_PLATFORM} \
25		-DENABLE_OPENSSL:BOOL=OFF \
26		-DENABLE_COMMONCRYPTO:BOOL=OFF \
27		-DENABLE_GNUTLS:BOOL=OFF \
28		-DENABLE_MBEDTLS:BOOL=OFF \
29		-DENABLE_OPENSSL:BOOL=OFF \
30		-DENABLE_WINDOWS_CRYPTO:BOOL=OFF \
31		-DBUILD_TOOLS:BOOL=OFF \
32		-DBUILD_REGRESS:BOOL=OFF \
33		-DBUILD_EXAMPLES:BOOL=OFF \
34		-DBUILD_SHARED_LIBS:BOOL=$want_shared \
35		-DBUILD_DOC:BOOL=OFF \
36		-DANDROID_TOOLCHAIN=clang  cmake -H.. -B$BUILD_DIR/${ANDROID_TARGET_PLATFORM}
37
38        #run make with all system threads and install
39        cd $BUILD_DIR/${ANDROID_TARGET_PLATFORM}
40        make install -j$(nproc --all)
41        cd $START_DIR
42    }
43
44#--------------------------------------------------------------------
45for ANDROID_TARGET_PLATFORM in armeabi-v7a arm64-v8a x86 x86_64
46do
47	echo "Building libzip for ${ANDROID_TARGET_PLATFORM}"
48
49	build_it ON
50	build_it OFF
51
52	if [ $? -ne 0 ]; then
53		echo "Error executing: cmake"
54		exit 1
55	fi
56
57
58	if [ $? -ne 0 ]; then
59		echo "Error executing make install for platform: ${ANDROID_TARGET_PLATFORM}"
60		exit 1
61    fi
62
63done
64