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