18 lines
663 B
Docker
18 lines
663 B
Docker
FROM emscripten/emsdk:2.0.23
|
|
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} \
|
|
-s FILESYSTEM=0 \
|
|
-s PTHREAD_POOL_SIZE=navigator.hardwareConcurrency \
|
|
-s ALLOW_MEMORY_GROWTH=1 \
|
|
-s TEXTDECODER=2 \
|
|
-s NODEJS_CATCH_EXIT=0 -s NODEJS_CATCH_REJECTION=0 \
|
|
"
|
|
# 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`"]
|