Update emscripten docker image to be based on emscripten 2.0.12 and boost 1.75.0.

This commit is contained in:
Daniel Kirchner 2021-01-13 00:33:03 +01:00
parent e9dcd4f813
commit d0c8c79888
2 changed files with 14 additions and 15 deletions

View File

@ -26,10 +26,10 @@
# contains a Makefile in the docker/ subdirectory that can be used to create the # contains a Makefile in the docker/ subdirectory that can be used to create the
# required base image using: # required base image using:
# #
# make version=1.39.15 build # make version=2.0.12 build
# #
FROM emscripten/emsdk:1.39.15 AS base FROM emscripten/emsdk:2.0.12 AS base
LABEL version="2" LABEL version="3"
ADD emscripten.jam /usr/src ADD emscripten.jam /usr/src
RUN set -ex; \ RUN set -ex; \
@ -40,7 +40,7 @@ RUN set -ex; \
cd build; \ cd build; \
emcmake cmake \ emcmake cmake \
-DCMAKE_BUILD_TYPE=MinSizeRel \ -DCMAKE_BUILD_TYPE=MinSizeRel \
-DCMAKE_INSTALL_PREFIX=/emsdk/emscripten/sdk/system/ \ -DCMAKE_INSTALL_PREFIX=/emsdk/upstream/emscripten/system \
-DZ3_BUILD_LIBZ3_SHARED=OFF \ -DZ3_BUILD_LIBZ3_SHARED=OFF \
-DZ3_ENABLE_EXAMPLE_TARGETS=OFF \ -DZ3_ENABLE_EXAMPLE_TARGETS=OFF \
-DZ3_BUILD_TEST_EXECUTABLES=OFF \ -DZ3_BUILD_TEST_EXECUTABLES=OFF \
@ -48,20 +48,19 @@ RUN set -ex; \
-DZ3_SINGLE_THREADED=ON \ -DZ3_SINGLE_THREADED=ON \
-DCMAKE_CXX_FLAGS="-s DISABLE_EXCEPTION_CATCHING=0" \ -DCMAKE_CXX_FLAGS="-s DISABLE_EXCEPTION_CATCHING=0" \
..; \ ..; \
make; make install; \ make ; make install; \
rm -r /usr/src/z3; \ rm -r /usr/src/z3; \
cd /usr/src; \ cd /usr/src; \
wget -q 'https://dl.bintray.com/boostorg/release/1.73.0/source/boost_1_73_0.tar.bz2' -O boost.tar.bz2; \ wget -q 'https://dl.bintray.com/boostorg/release/1.75.0/source/boost_1_75_0.tar.bz2' -O boost.tar.bz2; \
test "$(sha256sum boost.tar.bz2)" = "4eb3b8d442b426dc35346235c8733b5ae35ba431690e38c6a8263dce9fcbb402 boost.tar.bz2"; \ test "$(sha256sum boost.tar.bz2)" = "953db31e016db7bb207f11432bef7df100516eeb746843fa0486a222e3fd49cb boost.tar.bz2"; \
tar -xf boost.tar.bz2; \ tar -xf boost.tar.bz2; \
rm boost.tar.bz2; \ rm boost.tar.bz2; \
cd boost_1_73_0; \ cd boost_1_75_0; \
mv ../emscripten.jam .; \ mv ../emscripten.jam .; \
./bootstrap.sh; \ ./bootstrap.sh; \
echo "using emscripten : : em++ ;" >> project-config.jam ; \ echo "using emscripten : : em++ ;" >> project-config.jam ; \
./b2 toolset=emscripten link=static variant=release threading=single runtime-link=static \ ./b2 toolset=emscripten link=static variant=release threading=single runtime-link=static \
--with-system --with-filesystem --with-test --with-program_options \ --with-system --with-filesystem --with-test --with-program_options \
cxxflags="-s DISABLE_EXCEPTION_CATCHING=0 -Wno-unused-local-typedef -Wno-variadic-macros -Wno-c99-extensions -Wno-all" \ cxxflags="-s DISABLE_EXCEPTION_CATCHING=0 -Wno-unused-local-typedef -Wno-variadic-macros -Wno-c99-extensions -Wno-all" \
--prefix=/emsdk/emscripten/sdk/system install; \ --prefix=/emsdk/upstream/emscripten/system install; \
rm -r /usr/src/boost_1_73_0 rm -r /usr/src/boost_1_75_0

View File

@ -79,10 +79,10 @@ rule init ( version ? : command * : options * )
# @todo this seems to be the right way, but this is a list somehow # @todo this seems to be the right way, but this is a list somehow
toolset.add-requirements <toolset>emscripten:<testing.launcher>node ; toolset.add-requirements <toolset>emscripten:<testing.launcher>node ;
toolset.flags emscripten.compile STDHDRS $(condition) : /emsdk/emscripten/sdk/system/include ; toolset.flags emscripten.compile STDHDRS $(condition) : /emsdk/upstream/emscripten/system/include ;
toolset.flags emscripten.link STDLIBPATH $(condition) : /emsdk/emscripten/sdk/system/lib ; toolset.flags emscripten.link STDLIBPATH $(condition) : /emsdk/upstream/emscripten/system/lib ;
toolset.flags emscripten AR $(condition) : /emsdk/emscripten/sdk/emar ; toolset.flags emscripten AR $(condition) : /emsdk/upstream/emscripten/emar ;
toolset.flags emscripten RANLIB $(condition) : /emsdk/emscripten/sdk/emranlib ; toolset.flags emscripten RANLIB $(condition) : /emsdk/upstream/emscripten/emranlib ;
} }
type.set-generated-target-suffix EXE : <toolset>emscripten : js ; type.set-generated-target-suffix EXE : <toolset>emscripten : js ;