Last active
February 15, 2021 03:16
-
-
Save HimaJyun/27540844dc325b01a30354dbe59d898f to your computer and use it in GitHub Desktop.
mozjpeg cross compile for windows
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash -eux | |
: "install utils" && { | |
apt-get update | |
apt-get install -y nasm cmake curl git mingw-w64 libz-mingw-w64-dev | |
} | |
: "compile libpng" && { | |
tmp=$(curl -s "https://sourceforge.net/projects/libpng/rss" | \ | |
grep "<link>.*.tar.gz" | grep -v "older-releases" | \ | |
sort -r | head -1 | grep -o "https://.*/download") | |
curl -L -o "libpng.tar.gz" "${tmp}" | |
mkdir libpng | |
tar xvf "libpng.tar.gz" --strip-components 1 -C libpng | |
cd libpng | |
./configure --host=x86_64-w64-mingw32 \ | |
--prefix=/usr/x86_64-w64-mingw32 \ | |
CPPFLAGS=-I/usr/x86_64-w64-mingw32/include \ | |
LDFLAGS=-L/usr/x86_64-w64-mingw32/lib | |
make | |
make install | |
cd ../ | |
} | |
: "compile mozjpeg" && { | |
git clone https://github.com/mozilla/mozjpeg.git | |
if [ "${MOZJPEG_VERSION:+true}" ];then | |
cd mozjpeg | |
git checkout "refs/tags/${MOZJPEG_VERSION}" | |
cd ../ | |
fi | |
mkdir build | |
cd build | |
cmake -G"Unix Makefiles" \ | |
-DCMAKE_SYSTEM_NAME=Windows \ | |
-DCMAKE_SYSTEM_PROCESSOR=AMD64 \ | |
-DCMAKE_C_COMPILER=/usr/bin/x86_64-w64-mingw32-gcc \ | |
-DCMAKE_RC_COMPILER=/usr/bin/x86_64-w64-mingw32-windres \ | |
-DCMAKE_INCLUDE_PATH=/usr/x86_64-w64-mingw32/include \ | |
-DCMAKE_LIBRARY_PATH=/usr/x86_64-w64-mingw32/lib \ | |
"$@" \ | |
../mozjpeg | |
make | |
cd ../ | |
} | |
: "collect exe" && { | |
if [ -d "/exe" ];then | |
cp build/*.{exe,dll} libpng/.libs/libpng*.dll "/exe/" | |
fi | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment