asdf-games/node_modules/pem/bin/test_build_openssl.sh

74 lines
1.8 KiB
Bash
Raw Normal View History

#!/bin/bash
set -e
if [ -d "${OPENSSL_DIR}" ]; then
exit 0
fi
NORMALPATH=$(pwd)
sudo apt-get install -y --no-install-recommends curl
case "${LIBRARY}" in
"libressl")
URL1="http://ftp.eu.openbsd.org/pub/OpenBSD/LibreSSL/libressl-${VERSION}.tar.gz"
URL2="http://ftp3.usa.openbsd.org/pub/OpenBSD/LibreSSL/libressl-${VERSION}.tar.gz"
;;
"openssl")
URL1="https://openssl.org/source/openssl-${VERSION}.tar.gz"
URL2="http://mirrors.ibiblio.org/openssl/source/openssl-${VERSION}.tar.gz"
;;
esac
case "${TARGET}" in
"x86_64-unknown-linux-gnu")
OS_COMPILER=linux-x86_64
;;
"i686-unknown-linux-gnu")
OS_COMPILER=linux-elf
OS_FLAGS=-m32
;;
"arm-unknown-linux-gnueabihf")
OS_COMPILER=linux-armv4
export AR=arm-linux-gnueabihf-ar
export CC=arm-linux-gnueabihf-gcc
;;
esac
mkdir -p /tmp/build
cd /tmp/build
OUT=/tmp/openssl.tgz
MAX_REDIRECTS=5
curl -o ${OUT} -L --max-redirs ${MAX_REDIRECTS} "${URL1}" \
|| curl -o ${OUT} -L --max-redirs ${MAX_REDIRECTS} "${URL2}"
tar --strip-components=1 -xzf ${OUT}
case "${LIBRARY}" in
"openssl")
./Configure --prefix="${OPENSSL_DIR}" ${OS_COMPILER} -fPIC -g ${OS_FLAGS} no-shared -static
;;
"libressl")
./configure --prefix="${OPENSSL_DIR}" --disable-shared --with-pic
;;
esac
make "-j$(nproc)"
sudo make install_sw
case "${LIBRARY}" in
"openssl")
if [[ ! -f "${OPENSSL_DIR}/ssl/openssl.cnf" ]]; then sudo mkdir -p "${OPENSSL_DIR}/ssl" && sudo cp apps/openssl.cnf "${OPENSSL_DIR}/ssl/openssl.cnf" ; fi
;;
"libressl")
if [[ ! -f "${OPENSSL_DIR}/ssl/openssl.cnf" ]]; then sudo mkdir -p "${OPENSSL_DIR}/ssl" && sudo cp apps/openssl/openssl.cnf "${OPENSSL_DIR}/ssl/openssl.cnf" ; fi
;;
esac
sudo chmod -Rf 0755 /openssl
cd "${NORMALPATH}"
rm -r -f node_modules && npm i