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 if [[ ! $(which make) ]]; then
18 echo "make is not installed, please install buld-essential package"
19 exit 1
20 fi
21
22 # Make build directories
23 cp -r ${ROOT}/zlib ${ROOT}/${CROSS}-w64-mingw32-build-zlib
24 mkdir ${ROOT}/${CROSS}-w64-mingw32-build-libpng
25
26 # Stage directory
27 mkdir ${ROOT}/${CROSS}-w64-mingw32
28
29 # Compile zlib
30 cd ${ROOT}/${CROSS}-w64-mingw32-build-zlib
31 perl -i -pe "s,(PREFIX =)\$,\$1 ${CROSS}-w64-mingw32-," win32/Makefile.gcc
32 make -j 4 -f win32/Makefile.gcc
33
34 # Install zlib to our cross-tools directory
35 make install DESTDIR=${ROOT}/${CROSS}-w64-mingw32 INCLUDE_PATH=/include LIBRARY_PATH=/lib BINARY_PATH=/bin -f win32/Makefile.gcc
36
37 # Remove build directory
38 cd ${ROOT}
39 rm -rf ${ROOT}/${CROSS}-w64-mingw32-build-zlib
40
41 # Compile libpng
42 cd ${ROOT}/${CROSS}-w64-mingw32-build-libpng
43 export CFLAGS="-I${ROOT}/${CROSS}-w64-mingw32/include"
44 export LDFLAGS="-I${ROOT}/${CROSS}-w64-mingw32/lib"
45 ${ROOT}/libpng/configure --prefix=${ROOT}/${CROSS}-w64-mingw32 --target=${CROSS}-w64-mingw32
46 make -j 4
47 make install
48
49 # Remove build directory
50 cd ${ROOT}
51 rm -rf ${ROOT}/${CROSS}-w64-mingw32-build-libpng