Build sanity checks
[novacoin.git] / mingw64_deps / png / build.sh
1 #!/bin/bash
2
3 CROSS=$1
4 ROOT=$(pwd)
5
6 if [[ ! "${CROSS}" =~ ^(aarch64|x86_64) ]]; then
7 echo "Platform ${CROSS} is not supported"
8 echo "Expected either aarch64 or x86_64."
9 exit 1
10 fi
11
12 if [[ ! $(which ${CROSS}-w64-mingw32-clang) ]]; then
13 echo "llvm-mingw is not installed, please download it from https://github.com/mstorsjo/llvm-mingw/releases"
14 exit 1
15 fi
16
17 # Make build directories
18 cp -r ${ROOT}/zlib ${ROOT}/${CROSS}-w64-mingw32-build-zlib
19 mkdir ${ROOT}/${CROSS}-w64-mingw32-build-libpng
20
21 # Stage directory
22 mkdir ${ROOT}/${CROSS}-w64-mingw32
23
24 # Compile zlib
25 cd ${ROOT}/${CROSS}-w64-mingw32-build-zlib
26 perl -i -pe "s,(PREFIX =)\$,\$1 ${CROSS}-w64-mingw32-," win32/Makefile.gcc
27 make -j 4 -f win32/Makefile.gcc
28
29 # Install zlib to our cross-tools directory
30 make install DESTDIR=${ROOT}/${CROSS}-w64-mingw32 INCLUDE_PATH=/include LIBRARY_PATH=/lib BINARY_PATH=/bin -f win32/Makefile.gcc
31
32 # Remove build directory
33 cd ${ROOT}
34 rm -rf ${ROOT}/${CROSS}-w64-mingw32-build-zlib
35
36 # Compile libpng
37 cd ${ROOT}/${CROSS}-w64-mingw32-build-libpng
38 export CFLAGS="-I${ROOT}/${CROSS}-w64-mingw32/include"
39 export LDFLAGS="-I${ROOT}/${CROSS}-w64-mingw32/lib"
40 ${ROOT}/libpng/configure --prefix=${ROOT}/${CROSS}-w64-mingw32 --target=${CROSS}-w64-mingw32
41 make -j 4
42 make install
43
44 # Remove build directory
45 cd ${ROOT}
46 rm -rf ${ROOT}/${CROSS}-w64-mingw32-build-libpng