Build sanity checks
[novacoin.git] / mingw64_deps / db / build.sh
1 #!/bin/bash
2
3 CROSS=$1
4 ROOT=$(pwd)
5 MUTEX="x86_64/gcc-assembly"
6
7 if [[ ! "${CROSS}" =~ ^(aarch64|x86_64) ]]; then
8 echo "Platform ${CROSS} is not supported"
9 echo "Expected either aarch64 or x86_64."
10 exit 1
11 fi
12
13 if [[ ! $(which ${CROSS}-w64-mingw32-clang) ]]; then
14 echo "llvm-mingw is not installed, please download it from https://github.com/mstorsjo/llvm-mingw/releases"
15 exit 1
16 fi
17
18 if [[ ! $(which make) ]]; then
19 echo "make is not installed, please install buld-essential package"
20 exit 1
21 fi
22
23 if [ "${CROSS}" == "aarch64" ]; then
24 MUTEX="ARM64/gcc-assembly"
25 fi
26
27 # Make build directories
28 mkdir ${ROOT}/${CROSS}-w64-mingw32-build
29
30 # Stage directory
31 mkdir ${ROOT}/${CROSS}-w64-mingw32
32
33 # Compile BerkeleyDB
34
35 cd ${ROOT}/${CROSS}-w64-mingw32-build
36 CC=${CROSS}-w64-mingw32-gcc CXX=${CROSS}-w64-mingw32-g++ ${ROOT}/libdb/dist/configure --prefix=${ROOT}/${CROSS}-w64-mingw32 --enable-smallbuild --enable-cxx --disable-shared --disable-replication --with-mutex=${MUTEX} --enable-mingw --host=${CROSS}-w64-mingw32
37 make -j 4 library_build
38 make library_install
39
40 # Remove build directore
41 cd ${ROOT}
42 rm -rf ${ROOT}/${CROSS}-w64-mingw32-build