
* Update imagequant processor * Update mozjpeg encoder * Update optipng encoder * Update webp decoder * Update webp encoder * Remove old codec build tasks * Add warning about docker image updates
88 lines
2.7 KiB
Bash
Executable File
88 lines
2.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
export OPTIMIZE="-Os"
|
|
export PREFIX="/src/build"
|
|
export CFLAGS="${OPTIMIZE} -I${PREFIX}/include/"
|
|
export CPPFLAGS="${OPTIMIZE} -I${PREFIX}/include/"
|
|
export LDFLAGS="${OPTIMIZE} -L${PREFIX}/lib/"
|
|
|
|
apt-get update
|
|
apt-get install -qqy autoconf libtool
|
|
|
|
echo "============================================="
|
|
echo "Compiling zlib"
|
|
echo "============================================="
|
|
test -n "$SKIP_ZLIB" || (
|
|
cd node_modules/zlib
|
|
emconfigure ./configure --prefix=${PREFIX}/
|
|
emmake make
|
|
emmake make install
|
|
)
|
|
echo "============================================="
|
|
echo "Compiling zlib done"
|
|
echo "============================================="
|
|
|
|
echo "============================================="
|
|
echo "Compiling libpng"
|
|
echo "============================================="
|
|
test -n "$SKIP_LIBPNG" || (
|
|
cd node_modules/libpng
|
|
autoreconf -i
|
|
emconfigure ./configure --with-zlib-prefix=${PREFIX}/ --prefix=${PREFIX}/
|
|
emmake make
|
|
emmake make install
|
|
)
|
|
echo "============================================="
|
|
echo "Compiling libpng done"
|
|
echo "============================================="
|
|
|
|
echo "============================================="
|
|
echo "Compiling optipng"
|
|
echo "============================================="
|
|
(
|
|
emcc \
|
|
${OPTIMIZE} \
|
|
-Wno-implicit-function-declaration \
|
|
-I ${PREFIX}/include \
|
|
-I node_modules/optipng/src/opngreduc \
|
|
-I node_modules/optipng/src/pngxtern \
|
|
-I node_modules/optipng/src/cexcept \
|
|
-I node_modules/optipng/src/gifread \
|
|
-I node_modules/optipng/src/pnmio \
|
|
-I node_modules/optipng/src/minitiff \
|
|
--std=c99 -c \
|
|
node_modules/optipng/src/opngreduc/*.c \
|
|
node_modules/optipng/src/pngxtern/*.c \
|
|
node_modules/optipng/src/gifread/*.c \
|
|
node_modules/optipng/src/minitiff/*.c \
|
|
node_modules/optipng/src/pnmio/*.c \
|
|
node_modules/optipng/src/optipng/*.c
|
|
|
|
emcc \
|
|
--bind \
|
|
${OPTIMIZE} \
|
|
-s ALLOW_MEMORY_GROWTH=1 -s MODULARIZE=1 -s 'EXPORT_NAME="optipng"' \
|
|
-I ${PREFIX}/include \
|
|
-I node_modules/optipng/src/opngreduc \
|
|
-I node_modules/optipng/src/pngxtern \
|
|
-I node_modules/optipng/src/cexcept \
|
|
-I node_modules/optipng/src/gifread \
|
|
-I node_modules/optipng/src/pnmio \
|
|
-I node_modules/optipng/src/minitiff \
|
|
-o "optipng.js" \
|
|
--std=c++11 \
|
|
optipng.cpp \
|
|
*.o \
|
|
${PREFIX}/lib/libz.so ${PREFIX}/lib/libpng.a
|
|
)
|
|
echo "============================================="
|
|
echo "Compiling optipng done"
|
|
echo "============================================="
|
|
|
|
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
|
echo "Did you update your docker image?"
|
|
echo "Run \`docker pull trzeci/emscripten\`"
|
|
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|