#!/usr/bin/env bash source ../scripts/build_helper.sh library_path="boringssl" requires_rebuild ${library_path} [[ $? -eq 0 ]] && exit 0 cd boringssl/ [[ $? -ne 0 ]] && exit 1 if [[ ! -d lib ]]; then mkdir lib && cd lib ln -s ../build/ssl/libssl.so . ln -s ../build/crypto/libcrypto.so . cd .. fi cat include/openssl/opensslv.h | grep "OPENSSL_VERSION_NUMBER" &> /dev/null if [[ $? -ne 0 ]]; then echo "#if false # define OPENSSL_VERSION_NUMBER 0x1010008fL #endif" > include/openssl/opensslv.h fi if [[ -d build ]]; then echo "Removing old build directory" rm -r build fi mkdir build check_err_exit ${library_path} "Failed to create build directory" cd build check_err_exit ${library_path} "Failed to enter build directory" sudo apt-get install golang-go check_err_exit ${library_path} "Failed to install libraries!" if [[ "x86" == "${build_os_arch}" ]]; then echo "Build boring SSL in 32 bit mode!" T32="-DCMAKE_TOOLCHAIN_FILE=../util/32-bit-toolchain.cmake" fi cmake .. -DOPENSSL_NO_ASM=ON -DCMAKE_CXX_FLAGS="-fPIC -Wno-error=format= -Wno-error=format-extra-args -Wno-error=misleading-indentation -Wno-error=maybe-uninitialized ${CXX_FLAGS}" -DBUILD_SHARED_LIBS=ON -DCMAKE_C_FLAGS="${C_FLAGS} -fPIC -Wno-error=misleading-indentation -Wno-error=maybe-uninitialized" -DCMAKE_BUILD_TYPE=Release ${CMAKE_OPTIONS} -DCMAKE_VERBOSE_MAKEFILE=1 ${T32} check_err_exit ${library_path} "Failed to execute cmake!" make ${CMAKE_MAKE_OPTIONS} check_err_exit ${library_path} "Failed to build!" #make install cd ../.. set_build_successful ${library_path}