X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=mingw64_deps%2Fopenssl%2Fbuild.sh;h=26fb4a8086eb129b8b289a519d4af07245d47426;hb=2d9f474bb1fe11944327529f9339518963264a70;hp=6866fe2cad4b944373f3c83998efee53115420be;hpb=16f733c794408948492e8e8f560b31f1647a3662;p=novacoin.git diff --git a/mingw64_deps/openssl/build.sh b/mingw64_deps/openssl/build.sh index 6866fe2..26fb4a8 100755 --- a/mingw64_deps/openssl/build.sh +++ b/mingw64_deps/openssl/build.sh @@ -1,27 +1,70 @@ #!/bin/bash -CROSS=$1 +TARGET_CPU=$1 +TARGET_OS=$2 ROOT=$(pwd) -if [[ ! "${CROSS}" =~ ^(aarch64|x86_64) ]]; then -echo "Platform ${CROSS} is not supported" +if [[ ! "${TARGET_CPU}" =~ ^(aarch64|x86_64) ]]; then +echo "Platform ${TARGET_CPU} is not supported" echo "Expected either aarch64 or x86_64." exit 1 fi +if [[ ! "${TARGET_OS}" =~ ^(w64\-mingw32|linux\-gnu) ]]; then +echo "Operation sysrem ${TARGET_OS} is not supported" +echo "Expected either w64-mingw32 or linux-gnu." +exit 1 +fi + +# Cross-building prefix +CROSS=${TARGET_CPU}-${TARGET_OS} + +if [[ ! $(which ${CROSS}-gcc) ]]; then +echo "Target C compiler ${CROSS}-gcc is not found" +exit 1 +fi + +if [[ ! $(which ${CROSS}-g++) ]]; then +echo "Target C++ compiler ${CROSS}-g++ is not found" +exit 1 +fi + +if [[ ! $(which make) ]]; then +echo "make is not installed, please install buld-essential package" +exit 1 +fi + +if [ "${TARGET_CPU}" == "aarch64" ]; then +MUTEX="ARM64/gcc-assembly" +fi + +if [ "${TARGET_OS}" == "w64-mingw32" ]; then +TARGET_PARAMS="mingw64" +else +TARGET_PARAMS="linux-generic64" +fi + # Make build directories -mkdir ${ROOT}/${CROSS}-w64-mingw32-build +mkdir ${ROOT}/${CROSS}-build # Stage directory -mkdir ${ROOT}/${CROSS}-w64-mingw32 +mkdir ${ROOT}/${CROSS} # Compile BerkeleyDB -cd ${ROOT}/${CROSS}-w64-mingw32-build -CC=${CROSS}-w64-mingw32-gcc CXX=${CROSS}-w64-mingw32-g++ ${ROOT}/openssl/Configure --prefix=${ROOT}/${CROSS}-w64-mingw32 no-shared no-asm mingw64 +cd ${ROOT}/${CROSS}-build +export CFLAGS="-fstack-protector-all -D_FORTIFY_SOURCE=2" +export LDFLAGS="-fstack-protector-all" +${ROOT}/openssl/Configure --cross-compile-prefix=${CROSS}- --prefix=${ROOT}/${CROSS} no-shared no-asm ${TARGET_PARAMS} --api=1.1.1 make -j 4 build_libs make install_dev +# Create symlink for compatibility +cd ${ROOT}/${CROSS} +if [[ -d lib64 ]]; then + ln -s lib64 lib +fi + # Remove build directore cd ${ROOT} -rm -rf ${ROOT}/${CROSS}-w64-mingw32-build +rm -rf ${ROOT}/${CROSS}-build