162 lines
3.6 KiB
Plaintext
Executable File
162 lines
3.6 KiB
Plaintext
Executable File
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
|