#!/bin/bash SCRIPT_REPO="https://github.com/openssl/openssl.git" SCRIPT_COMMIT="openssl-3.0.9" SCRIPT_TAGFILTER="openssl-3.0.*" ffbuild_enabled() { return 0 } ffbuild_dockerdl() { default_dl "$SELF" to_df "RUN git -C \"$SELF\" submodule update --init --recursive --depth=1" } ffbuild_dockerbuild() { cd "$FFBUILD_DLDIR/$SELF" local myconf=( threads zlib no-shared enable-camellia enable-ec enable-srp --prefix="$FFBUILD_PREFIX" --libdir=lib ) if [[ $TARGET == win64 ]]; then myconf+=( --cross-compile-prefix="$FFBUILD_CROSS_PREFIX" mingw64 ) elif [[ $TARGET == win32 ]]; then myconf+=( --cross-compile-prefix="$FFBUILD_CROSS_PREFIX" mingw ) elif [[ $TARGET == linux64 ]]; then myconf+=( --cross-compile-prefix="$FFBUILD_CROSS_PREFIX" linux-x86_64 ) elif [[ $TARGET == linuxarm64 ]]; then myconf+=( --cross-compile-prefix="$FFBUILD_CROSS_PREFIX" linux-aarch64 ) else echo "Unknown target" return -1 fi export CFLAGS="$CFLAGS -fno-strict-aliasing" export CXXFLAGS="$CXXFLAGS -fno-strict-aliasing" # OpenSSL build system prepends the cross prefix itself export CC="${CC/${FFBUILD_CROSS_PREFIX}/}" export CXX="${CXX/${FFBUILD_CROSS_PREFIX}/}" export AR="${AR/${FFBUILD_CROSS_PREFIX}/}" export RANLIB="${RANLIB/${FFBUILD_CROSS_PREFIX}/}" ./Configure "${myconf[@]}" sed -i -e "/^CFLAGS=/s|=.*|=${CFLAGS}|" -e "/^LDFLAGS=/s|=[[:space:]]*$|=${LDFLAGS}|" Makefile make -j$(nproc) build_sw make install_sw } ffbuild_configure() { [[ $TARGET == win* ]] && return 0 echo --enable-openssl }