tildefriends/tools/ssl-local

100 lines
1.8 KiB
Bash
Executable File

#!/usr/bin/env bash
if [[ -z $BUILD_PLATFORM ]]; then
BUILD_PLATFORM=$(uname -s)
fi
if [[ -z $BUILD_TARGET ]]; then
BUILD_TARGET=$(uname -m)
WORK_DIR=out/openssl-local
else
WORK_DIR=out/openssl-$BUILD_PLATFORM-$BUILD_TARGET
if [[ -z $SSL_TARGET ]]; then
SSL_TARGET=linux-$BUILD_PLATFORM-$BUILD_TARGET
fi
fi
rm -rf $WORK_DIR
mkdir -p out/
cp -aRf deps/openssl_src/ $WORK_DIR
echo "Building"
pwd
pushd $WORK_DIR || exit 128
rm -rf $DESTDIR
echo $PATH
export GLOBAL_OPTIONS=" \
no-apps \
no-asm \
no-async \
no-autoerrinit \
no-autoload-config \
no-cmp \
no-cms \
no-comp \
no-deprecated \
no-dgram \
no-docs \
no-dsa \
no-dso \
no-dtls \
no-dtls1 \
no-dtls1-method \
no-dynamic-engine \
no-ec2m \
no-egd \
no-engine \
no-err \
no-filenames \
no-gost \
no-http \
no-idea \
no-legacy \
no-md2 \
no-md4 \
no-module \
no-multiblock \
no-nextprotoneg \
no-ocsp \
no-psk \
no-shared \
no-sock \
no-srp \
no-ssl \
no-ssl3 \
no-ssl-trace \
no-stdio \
no-tests \
no-thread-pool \
no-threads \
no-tls1 \
no-tls1-method \
no-trace \
no-ui-console \
no-uplink \
no-weak-ssl-ciphers \
no-whirlpool \
no-zlib \
-Os \
-DOPENSSL_SMALL_FOOTPRINT \
-Wno-error \
-ffunction-sections \
-fdata-sections \
--static \
-static \
"
pwd
echo "./Configure $SSL_TARGET $OPTIONS $GLOBAL_OPTIONS" && \
./Configure $SSL_TARGET $OPTIONS $GLOBAL_OPTIONS && \
make -s clean && \
make -s build_generated && \
make -s libcrypto.a libssl.a || exit 128
popd
echo WORK_DIR=$WORK_DIR
rm -rf out/openssl/$BUILD_PLATFORM/$BUILD_TARGET/
mkdir -p out/openssl/$BUILD_PLATFORM/$BUILD_TARGET/usr/local/include/
mkdir -p out/openssl/$BUILD_PLATFORM/$BUILD_TARGET/usr/local/lib/
cp -R $WORK_DIR/include/* out/openssl/$BUILD_PLATFORM/$BUILD_TARGET/usr/local/include/
cp $WORK_DIR/*.a out/openssl/$BUILD_PLATFORM/$BUILD_TARGET/usr/local/lib/
echo Success