forked from external-repos/squoosh
Few notes: - Lots of deprecated SIMD intrinsic warnings & errors in JPEG-XL -> Highway; had to suppress erorrs to make project build. - Moved couple of common link flags to cpp.Dockerfile (note: can't move `EXPORT_ES6` otherwise `configure` will fail). - MODULARIZE=1 is no longer necessary and implied by EXPORT_ES6. - EXPORT_NAME=... is no longer necessary in EXPORT_ES6. - Changed visdif to also use EXPORT_ES6 and ENVIRONMENT=node instead of generic JS.
18 lines
624 B
Docker
18 lines
624 B
Docker
FROM emscripten/emsdk:2.0.21
|
|
RUN apt-get update && apt-get install -qqy autoconf libtool pkg-config
|
|
ENV CFLAGS "-O3 -flto"
|
|
ENV CXXFLAGS "${CFLAGS} -std=c++17"
|
|
ENV LDFLAGS "${CFLAGS} \
|
|
--closure 1 \
|
|
-s FILESYSTEM=0 \
|
|
-s PTHREAD_POOL_SIZE=navigator.hardwareConcurrency \
|
|
-s ALLOW_MEMORY_GROWTH=1 \
|
|
-s TEXTDECODER=2 \
|
|
"
|
|
# Build and cache standard libraries with these flags + Embind.
|
|
RUN emcc ${CXXFLAGS} ${LDFLAGS} --bind -xc++ /dev/null -o /dev/null
|
|
# And another set for the pthread variant.
|
|
RUN emcc ${CXXFLAGS} ${LDFLAGS} --bind -pthread -xc++ /dev/null -o /dev/null
|
|
WORKDIR /src
|
|
CMD ["sh", "-c", "emmake make -j`nproc`"]
|