set -x if [ -d "openssl" ]; then echo "openssl does exists already" exit 0 fi mkdir -p sdk/include sys_name_=`uname -s` if [ "Linux" == "$sys_name_" ]; then SYS_NAME=${SYS_NAME:=$sys_name_} sys_name=$SYS_NAME else sys_name=$sys_name_ fi LIB=openssl SRC=openssl NO_TESTS= DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" mkdir $LIB pushd $LIB mkdir -p ../../downloads pushd ../../downloads wget -nc https://github.com/quictls/openssl/archive/refs/tags/OpenSSL_1_1_1t-quic1.tar.gz popd ln -s ../../downloads/OpenSSL* tar xf *.tar.gz ln -s */ openssl pushd $SRC prefix=`pwd`/install-native ./config $NO_TESTS --prefix=$prefix echo "Compiling Native" echo "-----------------------------------------------------------" make install pushd include/openssl cp opensslconf.h opensslconf.native.h cp $DIR/opensslconf.h . popd mkdir -p lib/native pushd lib/native cp ../../*.a . popd if [ "Android" == "$sys_name" ]; then make clean prefix=`pwd`/install-android-arm64 PATH=$PATH:/opt/android-sdk/ndk/latest/toolchains/llvm/prebuilt/linux-x86_64/bin ./Configure $NO_TESTS android-arm64 --prefix=$prefix echo "Compiling Android" echo "-----------------------------------------------------------" make install pushd include/openssl cp opensslconf.h opensslconf.android.h cp $DIR/opensslconf-android.h opensslconf.h popd mkdir -p lib/android pushd lib/android cp ../../*.a . popd fi if [ "Darwin" == "$sys_name" ]; then make clean prefix=`pwd`/install-ios64-xcrun ./Configure $NO_TESTS ios64-xcrun --prefix=$prefix echo "Compiling iOS" echo "-----------------------------------------------------------" make install pushd include/openssl cp opensslconf.h opensslconf.ios.h cp $DIR/opensslconf-darwin.h opensslconf.h popd mkdir -p lib/ios pushd lib/ios cp ../../*.a . popd make clean prefix=`pwd`/install-iossimulator-xcrun ./Configure $NO_TESTS iossimulator-xcrun --prefix=$prefix echo "Compiling iOS-simulator" echo "-----------------------------------------------------------" make install pushd include/openssl cp opensslconf.h opensslconf.ios-sim.h cp $DIR/opensslconf-darwin.h opensslconf.h popd mkdir -p lib/ios-sim pushd lib/ios-sim cp ../../*.a . popd fi popd popd pushd sdk/include ln -fs ../../$LIB/$SRC/include/openssl openssl popd mkdir -p sdk/lib pushd sdk/lib UNAME_S=`uname -s` UNAME_M=`uname -m` EXT=${UNAME_S}-${UNAME_M} if [ "Linux" == "$sys_name" ]; then mkdir -p Debug.$EXT mkdir -p Release.$EXT cp ../../$LIB/$SRC/lib/native/*.a Debug.$EXT/ cp ../../$LIB/$SRC/lib/native/*.a Release.$EXT/ elif [ "Darwin" == "$sys_name" ]; then mkdir -p Debug.$EXT mkdir -p Release.$EXT cp ../../$LIB/$SRC/lib/native/*.a Debug.$EXT/ cp ../../$LIB/$SRC/lib/native/*.a Release.$EXT/ mkdir -p Debug.iOS-arm64 mkdir -p Release.iOS-arm64 cp ../../$LIB/$SRC/lib/ios/*.a Debug.iOS-arm64/ cp ../../$LIB/$SRC/lib/ios/*.a Release.iOS-arm64/ mkdir -p Debug.iOS-simulate mkdir -p Release.iOS-simulate cp ../../$LIB/$SRC/lib/ios-sim/*.a Debug.iOS-simulate/ cp ../../$LIB/$SRC/lib/ios-sim/*.a Release.iOS-simulate/ elif [ "Android" == "$sys_name" ]; then mkdir -p Debug.Android-arm64 mkdir -p Release.Android-arm64 cp ../../$LIB/$SRC/lib/android/*.a Debug.Android-arm64/ cp ../../$LIB/$SRC/lib/android/*.a Release.Android-arm64/ fi popd