73 lines
1.8 KiB
Bash
Executable file
73 lines
1.8 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
SCRIPT_REPO="https://github.com/openssl/openssl.git"
|
|
SCRIPT_COMMIT="openssl-3.0.8"
|
|
SCRIPT_TAGFILTER="openssl-3.0.*"
|
|
|
|
ffbuild_enabled() {
|
|
return 0
|
|
}
|
|
|
|
ffbuild_dockerbuild() {
|
|
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" openssl
|
|
cd openssl
|
|
git submodule update --init --recursive --depth=1
|
|
|
|
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
|
|
}
|