Loading .travis.yml +4 −83 Original line number Diff line number Diff line language: rust sudo: required rust: stable dist: trusty env: global: - TARGET=x86_64-unknown-linux-gnu - BUILD_OPENSSL_VERSION=1.0.1u matrix: include: # osx - os: osx env: TARGET=x86_64-apple-darwin # ARM-bit version compat - env: > TARGET=arm-unknown-linux-gnueabihf BUILD_OPENSSL_VERSION=1.0.2k CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf RUST_TEST_THREADS=1 addons: apt: packages: - gcc-arm-linux-gnueabihf - qemu-user-static - libc6-dev-armhf-cross - binfmt-support - env: > TARGET=arm-unknown-linux-gnueabihf BUILD_OPENSSL_VERSION=1.1.0f CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf RUST_TEST_THREADS=1 addons: apt: packages: - gcc-arm-linux-gnueabihf - qemu-user-static - libc6-dev-armhf-cross - binfmt-support # Minimum version supported - rust: 1.10.0 # beta/nightly channels - rust: beta - rust: nightly # 64-bit version compat - env: BUILD_OPENSSL_VERSION=1.0.2k - env: BUILD_OPENSSL_VERSION=1.1.0f # 32-bit version compat - env: TARGET=i686-unknown-linux-gnu BUILD_OPENSSL_VERSION=1.0.1u addons: apt: packages: - gcc-multilib - env: TARGET=i686-unknown-linux-gnu BUILD_OPENSSL_VERSION=1.0.2k addons: apt: packages: - gcc-multilib - env: TARGET=i686-unknown-linux-gnu BUILD_OPENSSL_VERSION=1.1.0f addons: apt: packages: - gcc-multilib # LibreSSL - env: BUILD_LIBRESSL_VERSION=2.5.0 - env: BUILD_LIBRESSL_VERSION=2.5.4 before_install: - ./openssl/test/build.sh - rustup target add $TARGET || true script: - ./openssl/test/run.sh os: osx cache: cargo: true directories: - $HOME/libressl - $HOME/openssl script: - cargo run --manifest-path=systest/Cargo.toml - cargo test --manifest-path=openssl/Cargo.toml circle.yml 0 → 100644 +143 −0 Original line number Diff line number Diff line defaults: &DEFAULT working_directory: ~/build docker: - image: jimmycuadra/rust:1.18.0 steps: - checkout - run: apt-get update - run: apt-get install -y curl - run: RUST_VERSION=1.18.0 ./test/add_target.sh - restore_cache: key: registry - run: cargo generate-lockfile - save_cache: key: registry-{{ epoch }} paths: - ~/.cargo/registry/index - run: echo "${LIBRARY}-${VERSION}-${TARGET}" > ~/lib_key - restore_cache: key: lib-{{ checksum "~/lib_key" }}-{{ checksum "test/build_openssl.sh"}} - run: ./test/build_openssl.sh - save_cache: key: lib-{{ checksum "~/lib_key" }}-{{ checksum "test/build_openssl.sh"}} paths: - ~/openssl - restore_cache: key: deps-1.18.0-{{ checksum "Cargo.lock" }}-{{ checksum "~/lib_key" }} - run: | export OPENSSL_DIR=$HOME/openssl case "${NO_RUN}" in "1") CMD=build;; "") CMD=run;; esac cargo $CMD --manifest-path=systest/Cargo.toml --target $TARGET - run: | export OPENSSL_DIR=$HOME/openssl export PATH=$OPENSSL_DIR/bin:$PATH if [ "${NO_RUN}" = "1" ]; then TEST_ARGS=--no-run fi cargo test \ --manifest-path=openssl/Cargo.toml \ --target $TARGET \ --all-features \ $TEST_ARGS - save_cache: key: deps-1.18.0-{{ checksum "Cargo.lock" }}-{{ checksum "~/lib_key" }} paths: - target - ~/.cargo/registry/cache openssl_110: &OPENSSL_110 LIBRARY: openssl VERSION: 1.1.0f openssl_102: &OPENSSL_102 LIBRARY: openssl VERSION: 1.0.2l openssl_101: &OPENSSL_101 LIBRARY: openssl VERSION: 1.0.1u libressl_new: &LIBRESSL_OLD LIBRARY: libressl VERSION: 2.5.0 libressl_new: &LIBRESSL_NEW LIBRARY: libressl VERSION: 2.5.5 x86_64: &X86_64 TARGET: x86_64-unknown-linux-gnu i686: &I686 TARGET: i686-unknown-linux-gnu armhf: &ARMHF TARGET: arm-unknown-linux-gnueabihf NO_RUN: 1 CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER: arm-linux-gnueabihf-gcc CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_AR: arm-linux-gnueabihf-ar version: 2 jobs: x86_64-openssl-1.1.0: <<: *DEFAULT environment: <<: [*OPENSSL_110, *X86_64] x86_64-openssl-1.0.2: <<: *DEFAULT environment: <<: [*OPENSSL_102, *X86_64] x86_64-openssl-1.0.1: <<: *DEFAULT environment: <<: [*OPENSSL_101, *X86_64] i686-openssl-1.1.0: <<: *DEFAULT environment: <<: [*OPENSSL_110, *I686] i686-openssl-1.0.2: <<: *DEFAULT environment: <<: [*OPENSSL_102, *I686] i686-openssl-1.0.1: <<: *DEFAULT environment: <<: [*OPENSSL_101, *I686] armhf-openssl-1.1.0: <<: *DEFAULT environment: <<: [*OPENSSL_110, *ARMHF] armhf-openssl-1.0.2: <<: *DEFAULT environment: <<: [*OPENSSL_102, *ARMHF] armhf-openssl-1.0.1: <<: *DEFAULT environment: <<: [*OPENSSL_101, *ARMHF] x86_64-libressl-old: <<: *DEFAULT environment: <<: [*LIBRESSL_OLD, *X86_64] x86_64-libressl-new: <<: *DEFAULT environment: <<: [*LIBRESSL_NEW, *X86_64] workflows: version: 2 tests: jobs: - x86_64-openssl-1.1.0 - x86_64-openssl-1.0.2 - x86_64-openssl-1.0.1 - i686-openssl-1.1.0 - i686-openssl-1.0.2 - i686-openssl-1.0.1 - armhf-openssl-1.1.0 - armhf-openssl-1.0.2 - armhf-openssl-1.0.1 - x86_64-libressl-old - x86_64-libressl-new openssl/test/run.shdeleted 100755 → 0 +0 −34 Original line number Diff line number Diff line #!/bin/bash set -e case "$BUILD_OPENSSL_VERSION" in 1.0.2*) FEATURES="v102" ;; 1.1.0*) FEATURES="v110" ;; esac echo Using features: $FEATURES if [ -n "${BUILD_LIBRESSL_VERSION}" -a -d "$HOME/libressl/lib" ]; then echo "Testing build libressl-${BUILD_LIBRESSL_VERSION}" export OPENSSL_DIR=${HOME}/libressl export LD_LIBRARY_PATH="${HOME}/libressl/lib:${LD_LIBRARY_PATH}" export PATH="${HOME}/libressl/bin:${PATH}" elif [ -n "${BUILD_OPENSSL_VERSION}" -a -d "$HOME/openssl/lib" ]; then echo "Testing build openssl-${BUILD_LIBRESSL_VERSION}" export OPENSSL_DIR="${HOME}/openssl" export LD_LIBRARY_PATH="${HOME}/openssl/lib:${LD_LIBRARY_PATH}" export PATH="${HOME}/openssl/bin:${PATH}" fi if [ "$TARGET" == "arm-unknown-linux-gnueabihf" ]; then FLAGS="--no-run" fi cargo run --manifest-path systest/Cargo.toml --target $TARGET -v exec cargo test --manifest-path openssl/Cargo.toml --target $TARGET \ --features "$FEATURES" -v $FLAGS test/add_target.sh 0 → 100755 +32 −0 Original line number Diff line number Diff line #!/bin/bash set -e case "${TARGET}" in "x86_64-unknown-linux-gnu") exit 0 ;; "i686-unknown-linux-gnu") apt-get install -y --no-install-recommends gcc-multilib ;; "arm-unknown-linux-gnueabihf") echo "deb http://emdebian.org/tools/debian/ jessie main" \ > /etc/apt/sources.list.d/crosstools.list curl http://emdebian.org/tools/debian/emdebian-toolchain-archive.key | apt-key add - dpkg --add-architecture armhf apt-get update apt-get install -y --no-install-recommends \ gcc-arm-linux-gnueabihf \ libc6-dev:armhf ;; esac OUT=/tmp/std.tar.gz curl -o ${OUT} https://static.rust-lang.org/dist/rust-std-${RUST_VERSION}-${TARGET}.tar.gz WORKDIR=/tmp/std mkdir -p ${WORKDIR} cd ${WORKDIR} tar --strip-components=1 -xzf ${OUT} ./install.sh openssl/test/build.sh→test/build_openssl.sh +55 −0 Original line number Diff line number Diff line #!/bin/bash set -e set -ex MAX_REDIRECTS=5 if [ -n "${BUILD_LIBRESSL_VERSION}" ]; then NAME=libressl URL1="http://ftp3.usa.openbsd.org/pub/OpenBSD/LibreSSL/libressl-${BUILD_LIBRESSL_VERSION}.tar.gz" URL2="http://ftp.eu.openbsd.org/pub/OpenBSD/LibreSSL/libressl-${BUILD_LIBRESSL_VERSION}.tar.gz" OUT="/tmp/libressl-${BUILD_OPENSSL_VERSION}.tar.gz" elif [ -n "${BUILD_OPENSSL_VERSION}" ]; then NAME=openssl URL1="https://openssl.org/source/openssl-${BUILD_OPENSSL_VERSION}.tar.gz" URL2="http://mirrors.ibiblio.org/openssl/source/openssl-${BUILD_OPENSSL_VERSION}.tar.gz" OUT="/tmp/openssl-${BUILD_OPENSSL_VERSION}.tar.gz" else exit 0 fi me=$0 myname=`basename ${me}` cmp --silent ${me} ${HOME}/${NAME}/${myname} && exit 0 || echo "cache is busted" rm -rf "${HOME}/${NAME}" if [ "${TRAVIS_OS_NAME}" == "osx" ]; then if [ -d ~/openssl ]; then exit 0 fi if [ "$TARGET" == "i686-unknown-linux-gnu" ]; then case "${LIBRARY}" in "libressl") URL1="http://ftp3.usa.openbsd.org/pub/OpenBSD/LibreSSL/libressl-${VERSION}.tar.gz" URL2="http://ftp.eu.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 elif [ "$TARGET" == "arm-unknown-linux-gnueabihf" ]; then ;; "arm-unknown-linux-gnueabihf") OS_COMPILER=linux-armv4 export AR=arm-linux-gnueabihf-ar export CC=arm-linux-gnueabihf-gcc else OS_COMPILER=linux-x86_64 fi ;; esac mkdir -p /tmp/build cp ${me} /tmp/build/${myname} 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} if [ -n "${BUILD_LIBRESSL_VERSION}" ]; then ./configure --prefix=${HOME}/libressl else ./Configure --prefix=${HOME}/openssl ${OS_COMPILER} -fPIC ${OS_FLAGS} fi PREFIX=${HOME}/openssl case "${LIBRARY}" in "openssl") ./Configure --prefix=${PREFIX} ${OS_COMPILER} -fPIC ${OS_FLAGS} no-shared ;; "libressl") ./configure --prefix=${PREFIX} --disable-shared --with-pic ;; esac make -j$(nproc) make install cp ${myname} ${HOME}/${NAME}/${myname} Loading
.travis.yml +4 −83 Original line number Diff line number Diff line language: rust sudo: required rust: stable dist: trusty env: global: - TARGET=x86_64-unknown-linux-gnu - BUILD_OPENSSL_VERSION=1.0.1u matrix: include: # osx - os: osx env: TARGET=x86_64-apple-darwin # ARM-bit version compat - env: > TARGET=arm-unknown-linux-gnueabihf BUILD_OPENSSL_VERSION=1.0.2k CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf RUST_TEST_THREADS=1 addons: apt: packages: - gcc-arm-linux-gnueabihf - qemu-user-static - libc6-dev-armhf-cross - binfmt-support - env: > TARGET=arm-unknown-linux-gnueabihf BUILD_OPENSSL_VERSION=1.1.0f CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf RUST_TEST_THREADS=1 addons: apt: packages: - gcc-arm-linux-gnueabihf - qemu-user-static - libc6-dev-armhf-cross - binfmt-support # Minimum version supported - rust: 1.10.0 # beta/nightly channels - rust: beta - rust: nightly # 64-bit version compat - env: BUILD_OPENSSL_VERSION=1.0.2k - env: BUILD_OPENSSL_VERSION=1.1.0f # 32-bit version compat - env: TARGET=i686-unknown-linux-gnu BUILD_OPENSSL_VERSION=1.0.1u addons: apt: packages: - gcc-multilib - env: TARGET=i686-unknown-linux-gnu BUILD_OPENSSL_VERSION=1.0.2k addons: apt: packages: - gcc-multilib - env: TARGET=i686-unknown-linux-gnu BUILD_OPENSSL_VERSION=1.1.0f addons: apt: packages: - gcc-multilib # LibreSSL - env: BUILD_LIBRESSL_VERSION=2.5.0 - env: BUILD_LIBRESSL_VERSION=2.5.4 before_install: - ./openssl/test/build.sh - rustup target add $TARGET || true script: - ./openssl/test/run.sh os: osx cache: cargo: true directories: - $HOME/libressl - $HOME/openssl script: - cargo run --manifest-path=systest/Cargo.toml - cargo test --manifest-path=openssl/Cargo.toml
circle.yml 0 → 100644 +143 −0 Original line number Diff line number Diff line defaults: &DEFAULT working_directory: ~/build docker: - image: jimmycuadra/rust:1.18.0 steps: - checkout - run: apt-get update - run: apt-get install -y curl - run: RUST_VERSION=1.18.0 ./test/add_target.sh - restore_cache: key: registry - run: cargo generate-lockfile - save_cache: key: registry-{{ epoch }} paths: - ~/.cargo/registry/index - run: echo "${LIBRARY}-${VERSION}-${TARGET}" > ~/lib_key - restore_cache: key: lib-{{ checksum "~/lib_key" }}-{{ checksum "test/build_openssl.sh"}} - run: ./test/build_openssl.sh - save_cache: key: lib-{{ checksum "~/lib_key" }}-{{ checksum "test/build_openssl.sh"}} paths: - ~/openssl - restore_cache: key: deps-1.18.0-{{ checksum "Cargo.lock" }}-{{ checksum "~/lib_key" }} - run: | export OPENSSL_DIR=$HOME/openssl case "${NO_RUN}" in "1") CMD=build;; "") CMD=run;; esac cargo $CMD --manifest-path=systest/Cargo.toml --target $TARGET - run: | export OPENSSL_DIR=$HOME/openssl export PATH=$OPENSSL_DIR/bin:$PATH if [ "${NO_RUN}" = "1" ]; then TEST_ARGS=--no-run fi cargo test \ --manifest-path=openssl/Cargo.toml \ --target $TARGET \ --all-features \ $TEST_ARGS - save_cache: key: deps-1.18.0-{{ checksum "Cargo.lock" }}-{{ checksum "~/lib_key" }} paths: - target - ~/.cargo/registry/cache openssl_110: &OPENSSL_110 LIBRARY: openssl VERSION: 1.1.0f openssl_102: &OPENSSL_102 LIBRARY: openssl VERSION: 1.0.2l openssl_101: &OPENSSL_101 LIBRARY: openssl VERSION: 1.0.1u libressl_new: &LIBRESSL_OLD LIBRARY: libressl VERSION: 2.5.0 libressl_new: &LIBRESSL_NEW LIBRARY: libressl VERSION: 2.5.5 x86_64: &X86_64 TARGET: x86_64-unknown-linux-gnu i686: &I686 TARGET: i686-unknown-linux-gnu armhf: &ARMHF TARGET: arm-unknown-linux-gnueabihf NO_RUN: 1 CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER: arm-linux-gnueabihf-gcc CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_AR: arm-linux-gnueabihf-ar version: 2 jobs: x86_64-openssl-1.1.0: <<: *DEFAULT environment: <<: [*OPENSSL_110, *X86_64] x86_64-openssl-1.0.2: <<: *DEFAULT environment: <<: [*OPENSSL_102, *X86_64] x86_64-openssl-1.0.1: <<: *DEFAULT environment: <<: [*OPENSSL_101, *X86_64] i686-openssl-1.1.0: <<: *DEFAULT environment: <<: [*OPENSSL_110, *I686] i686-openssl-1.0.2: <<: *DEFAULT environment: <<: [*OPENSSL_102, *I686] i686-openssl-1.0.1: <<: *DEFAULT environment: <<: [*OPENSSL_101, *I686] armhf-openssl-1.1.0: <<: *DEFAULT environment: <<: [*OPENSSL_110, *ARMHF] armhf-openssl-1.0.2: <<: *DEFAULT environment: <<: [*OPENSSL_102, *ARMHF] armhf-openssl-1.0.1: <<: *DEFAULT environment: <<: [*OPENSSL_101, *ARMHF] x86_64-libressl-old: <<: *DEFAULT environment: <<: [*LIBRESSL_OLD, *X86_64] x86_64-libressl-new: <<: *DEFAULT environment: <<: [*LIBRESSL_NEW, *X86_64] workflows: version: 2 tests: jobs: - x86_64-openssl-1.1.0 - x86_64-openssl-1.0.2 - x86_64-openssl-1.0.1 - i686-openssl-1.1.0 - i686-openssl-1.0.2 - i686-openssl-1.0.1 - armhf-openssl-1.1.0 - armhf-openssl-1.0.2 - armhf-openssl-1.0.1 - x86_64-libressl-old - x86_64-libressl-new
openssl/test/run.shdeleted 100755 → 0 +0 −34 Original line number Diff line number Diff line #!/bin/bash set -e case "$BUILD_OPENSSL_VERSION" in 1.0.2*) FEATURES="v102" ;; 1.1.0*) FEATURES="v110" ;; esac echo Using features: $FEATURES if [ -n "${BUILD_LIBRESSL_VERSION}" -a -d "$HOME/libressl/lib" ]; then echo "Testing build libressl-${BUILD_LIBRESSL_VERSION}" export OPENSSL_DIR=${HOME}/libressl export LD_LIBRARY_PATH="${HOME}/libressl/lib:${LD_LIBRARY_PATH}" export PATH="${HOME}/libressl/bin:${PATH}" elif [ -n "${BUILD_OPENSSL_VERSION}" -a -d "$HOME/openssl/lib" ]; then echo "Testing build openssl-${BUILD_LIBRESSL_VERSION}" export OPENSSL_DIR="${HOME}/openssl" export LD_LIBRARY_PATH="${HOME}/openssl/lib:${LD_LIBRARY_PATH}" export PATH="${HOME}/openssl/bin:${PATH}" fi if [ "$TARGET" == "arm-unknown-linux-gnueabihf" ]; then FLAGS="--no-run" fi cargo run --manifest-path systest/Cargo.toml --target $TARGET -v exec cargo test --manifest-path openssl/Cargo.toml --target $TARGET \ --features "$FEATURES" -v $FLAGS
test/add_target.sh 0 → 100755 +32 −0 Original line number Diff line number Diff line #!/bin/bash set -e case "${TARGET}" in "x86_64-unknown-linux-gnu") exit 0 ;; "i686-unknown-linux-gnu") apt-get install -y --no-install-recommends gcc-multilib ;; "arm-unknown-linux-gnueabihf") echo "deb http://emdebian.org/tools/debian/ jessie main" \ > /etc/apt/sources.list.d/crosstools.list curl http://emdebian.org/tools/debian/emdebian-toolchain-archive.key | apt-key add - dpkg --add-architecture armhf apt-get update apt-get install -y --no-install-recommends \ gcc-arm-linux-gnueabihf \ libc6-dev:armhf ;; esac OUT=/tmp/std.tar.gz curl -o ${OUT} https://static.rust-lang.org/dist/rust-std-${RUST_VERSION}-${TARGET}.tar.gz WORKDIR=/tmp/std mkdir -p ${WORKDIR} cd ${WORKDIR} tar --strip-components=1 -xzf ${OUT} ./install.sh
openssl/test/build.sh→test/build_openssl.sh +55 −0 Original line number Diff line number Diff line #!/bin/bash set -e set -ex MAX_REDIRECTS=5 if [ -n "${BUILD_LIBRESSL_VERSION}" ]; then NAME=libressl URL1="http://ftp3.usa.openbsd.org/pub/OpenBSD/LibreSSL/libressl-${BUILD_LIBRESSL_VERSION}.tar.gz" URL2="http://ftp.eu.openbsd.org/pub/OpenBSD/LibreSSL/libressl-${BUILD_LIBRESSL_VERSION}.tar.gz" OUT="/tmp/libressl-${BUILD_OPENSSL_VERSION}.tar.gz" elif [ -n "${BUILD_OPENSSL_VERSION}" ]; then NAME=openssl URL1="https://openssl.org/source/openssl-${BUILD_OPENSSL_VERSION}.tar.gz" URL2="http://mirrors.ibiblio.org/openssl/source/openssl-${BUILD_OPENSSL_VERSION}.tar.gz" OUT="/tmp/openssl-${BUILD_OPENSSL_VERSION}.tar.gz" else exit 0 fi me=$0 myname=`basename ${me}` cmp --silent ${me} ${HOME}/${NAME}/${myname} && exit 0 || echo "cache is busted" rm -rf "${HOME}/${NAME}" if [ "${TRAVIS_OS_NAME}" == "osx" ]; then if [ -d ~/openssl ]; then exit 0 fi if [ "$TARGET" == "i686-unknown-linux-gnu" ]; then case "${LIBRARY}" in "libressl") URL1="http://ftp3.usa.openbsd.org/pub/OpenBSD/LibreSSL/libressl-${VERSION}.tar.gz" URL2="http://ftp.eu.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 elif [ "$TARGET" == "arm-unknown-linux-gnueabihf" ]; then ;; "arm-unknown-linux-gnueabihf") OS_COMPILER=linux-armv4 export AR=arm-linux-gnueabihf-ar export CC=arm-linux-gnueabihf-gcc else OS_COMPILER=linux-x86_64 fi ;; esac mkdir -p /tmp/build cp ${me} /tmp/build/${myname} 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} if [ -n "${BUILD_LIBRESSL_VERSION}" ]; then ./configure --prefix=${HOME}/libressl else ./Configure --prefix=${HOME}/openssl ${OS_COMPILER} -fPIC ${OS_FLAGS} fi PREFIX=${HOME}/openssl case "${LIBRARY}" in "openssl") ./Configure --prefix=${PREFIX} ${OS_COMPILER} -fPIC ${OS_FLAGS} no-shared ;; "libressl") ./configure --prefix=${PREFIX} --disable-shared --with-pic ;; esac make -j$(nproc) make install cp ${myname} ${HOME}/${NAME}/${myname}