|
| 1 | +#!/usr/bin/env bash |
| 2 | +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. |
| 3 | +# SPDX-License-Identifier: Apache-2.0 OR ISC |
| 4 | + |
| 5 | +set -exo pipefail |
| 6 | + |
| 7 | +source tests/ci/common_posix_setup.sh |
| 8 | + |
| 9 | +if [[ -z "${RUST_OPENSSL_SRC_DIR}" ]]; then |
| 10 | + echo "RUST_OPENSSL_SRC_DIR environment variable must be set" |
| 11 | + exit 1 |
| 12 | +fi |
| 13 | + |
| 14 | +# Create build directory and navigate to it |
| 15 | +AWS_LC_SRC_DIR="${SRC_DIR}" |
| 16 | +AWS_LC_BUILD_DIR="${SYS_ROOT}/aws-lc-build" |
| 17 | +AWS_LC_SHARED_INSTALL_DIR="${SYS_ROOT}/aws-lc-install-shared" |
| 18 | +AWS_LC_STATIC_INSTALL_DIR="${SYS_ROOT}/aws-lc-install-static" |
| 19 | + |
| 20 | +function validate_rust_openssl() { |
| 21 | + OPENSSL_DIR="${1}" |
| 22 | + OPENSSL_STATIC="${2}" |
| 23 | + cargo -v -C "${RUST_OPENSSL_SRC_DIR}" clean |
| 24 | + env OPENSSL_DIR="${OPENSSL_DIR}" OPENSSL_STATIC="${OPENSSL_STATIC}" \ |
| 25 | + cargo -v -C "${RUST_OPENSSL_SRC_DIR}" test -p openssl-sys --release --no-default-features "${@:3}" |
| 26 | + env OPENSSL_DIR="${OPENSSL_DIR}" OPENSSL_STATIC="${OPENSSL_STATIC}" \ |
| 27 | + cargo -v -C "${RUST_OPENSSL_SRC_DIR}" test -p openssl --release --no-default-features "${@:3}" |
| 28 | +} |
| 29 | + |
| 30 | +AWS_LC_BUILD_ARGS=("-DBUILD_TESTING=OFF" "-DBUILD_TOOL=OFF" "-DCMAKE_BUILD_TYPE=RelWithDebInfo") |
| 31 | + |
| 32 | +aws_lc_build "${AWS_LC_SRC_DIR}" "${AWS_LC_BUILD_DIR}" "${AWS_LC_INSTALL_DIR}" "${AWS_LC_BUILD_ARGS[@]}" -DBUILD_SHARED_LIBS=0 |
| 33 | +aws_lc_build "${AWS_LC_SRC_DIR}" "${AWS_LC_BUILD_DIR}" "${AWS_LC_SHARED_INSTALL_DIR}" "${AWS_LC_BUILD_ARGS[@]}" -DBUILD_SHARED_LIBS=1 |
| 34 | + |
| 35 | +validate_rust_openssl "${AWS_LC_SHARED_INSTALL_DIR}" 0 |
| 36 | +validate_rust_openssl "${AWS_LC_STATIC_INSTALL_DIR}" 1 |
| 37 | + |
| 38 | +validate_rust_openssl "${AWS_LC_SHARED_INSTALL_DIR}" 0 -F bindgen |
| 39 | +validate_rust_openssl "${AWS_LC_STATIC_INSTALL_DIR}" 1 -F bindgen |
0 commit comments