| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #!/usr/bin/env bash
- set -e
- arch="$1"
- readonly arch
- case "$arch" in
- x86_64)
- target=x86_64-pc-solaris2.10
- openssl_target=solaris64-x86_64-gcc
- ldlibs=
- ;;
- sparc64)
- target=sparc64-sun-solaris2.10
- openssl_target=solaris64-sparcv9-gcc
- ldlibs=
- ;;
- *)
- echo >&2 "Unknown architecture: $arch"
- exit 1
- ;;
- esac
- readonly target
- readonly openssl_target
- readonly ldlibs
- readonly sha256sum="e15dda82fe2fe8139dc2ac21a36d4ca01d5313c75f99f46c4e8a27709b7294bf"
- readonly filename="openssl-3.4.0"
- readonly tarball="$filename.tar.gz"
- cd /tmp
- curl -OL "https://github.com/openssl/openssl/releases/download/$filename/$tarball"
- echo "$sha256sum $tarball" > openssl.sha256sum
- sha256sum --check openssl.sha256sum
- tar xzf "$tarball"
- prefix="/opt/cross/openssl/$target"
- cd "$filename"
- patch -p0 < "${BASH_SOURCE%/*}/openssl.patch"
- env \
- LDLIBS="$ldlibs" \
- LDFLAGS="-Wl,-z,noexecstack" \
- ./Configure \
- --prefix="$prefix" \
- --cross-compile-prefix="/opt/cross/bin/$target-" \
- --api=1.1.1 \
- "$openssl_target" \
- no-deprecated \
- no-shared
- if ! make -j $(nproc) >make.log 2>&1; then
- tail -1000 make.log
- exit 1
- fi
- if ! make install_sw >>make.log 2>&1; then
- tail -1000 make.log
- exit 1
- fi
- tar czf /root/openssl.tar.gz -C / "${prefix#/}"
|