Skip to content

Commit 41f114a

Browse files
committed
build(docker): use emulated pthreads
Until wasmtime supports threads in its C-API.
1 parent c890071 commit 41f114a

File tree

6 files changed

+15
-50
lines changed

6 files changed

+15
-50
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
const defaultImageTag = '20250109-e4058d74'
1+
const defaultImageTag = '20250123-18b3eff9'
22
export default defaultImageTag

src/docker/itk-wasm-base/Dockerfile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
ARG BASE_IMAGE=docker.io/dockcross/web-wasm
22
ARG HOST_ARCH=amd64
3-
FROM $BASE_IMAGE:20250107-aac97df-$HOST_ARCH
3+
FROM $BASE_IMAGE:20250123-74d1a0b-$HOST_ARCH
44
ARG BASE_IMAGE
55

66
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
@@ -51,8 +51,6 @@ ARG CXXFLAGS
5151
ENV LDFLAGS=${LDFLAGS:-"-flto -s ALLOW_MEMORY_GROWTH=1 -s MAXIMUM_MEMORY=4GB"}
5252
ENV CFLAGS=${CFLAGS:-"-msimd128 -flto -Wno-warn-absolute-paths -DITK_WASM_NO_FILESYSTEM_IO"}
5353
ENV CXXFLAGS=${CXXFLAGS:-"${CFLAGS}"}
54-
# Add our flags to the toolchain file
55-
COPY ./wasi-sdk-pthread-itkwasm.cmake /opt/wasi-sdk/share/cmake/wasi-sdk-pthread.cmake
5654

5755
RUN mkdir ITK-build && \
5856
cd ITK-build && \
@@ -89,6 +87,9 @@ RUN mkdir ITK-build && \
8987
-DDCMTK_WITH_THREADS:BOOL=OFF \
9088
-DDCMTK_BUILD_APPS:BOOL=OFF \
9189
-DNO_FLOAT_EXCEPTIONS:BOOL=ON \
90+
-DCMAKE_C_FLAGS:STRING="${CFLAGS}" \
91+
-DCMAKE_CXX_FLAGS:STRING="${CXXFLAGS}" \
92+
-DCMAKE_EXE_LINKER_FLAGS:STRING="${LDFLAGS}" \
9293
../ITK && \
9394
ninja && \
9495
find . -name '*.o' -delete && \

src/docker/itk-wasm-base/build.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ if $wasi; then
6868
--build-arg VCS_REF=${VCS_REF} \
6969
--build-arg VCS_URL=${VCS_URL} \
7070
--build-arg BUILD_DATE=${BUILD_DATE} \
71-
--build-arg BASE_IMAGE=docker.io/dockcross/web-wasi-threads \
71+
--build-arg BASE_IMAGE=docker.io/dockcross/web-wasi-emulated-threads \
7272
--build-arg LDFLAGS="${wasi_ld_flags}" \
7373
--build-arg CFLAGS="${wasi_c_flags}" \
7474
$script_dir $@
@@ -81,7 +81,7 @@ if $wasi; then
8181
--build-arg VCS_REF=${VCS_REF} \
8282
--build-arg VCS_URL=${VCS_URL} \
8383
--build-arg BUILD_DATE=${BUILD_DATE} \
84-
--build-arg BASE_IMAGE=docker.io/dockcross/web-wasi-threads \
84+
--build-arg BASE_IMAGE=docker.io/dockcross/web-wasi-emulated-threads \
8585
--build-arg LDFLAGS="${wasi_ld_flags}" \
8686
--build-arg CFLAGS="${wasi_c_flags}" \
8787
$script_dir $@
@@ -123,7 +123,7 @@ if $debug; then
123123
--build-arg VCS_REF=${VCS_REF} \
124124
--build-arg VCS_URL=${VCS_URL} \
125125
--build-arg BUILD_DATE=${BUILD_DATE} \
126-
--build-arg BASE_IMAGE=docker.io/dockcross/web-wasi-threads \
126+
--build-arg BASE_IMAGE=docker.io/dockcross/web-wasi-emulated-threads \
127127
--build-arg LDFLAGS="${wasi_debug_ld_flags}" \
128128
--build-arg CFLAGS="${wasi_debug_c_flags}" \
129129
$script_dir $@
@@ -136,7 +136,7 @@ if $debug; then
136136
--build-arg VCS_REF=${VCS_REF} \
137137
--build-arg VCS_URL=${VCS_URL} \
138138
--build-arg BUILD_DATE=${BUILD_DATE} \
139-
--build-arg BASE_IMAGE=docker.io/dockcross/web-wasi-threads \
139+
--build-arg BASE_IMAGE=docker.io/dockcross/web-wasi-emulated-threads \
140140
--build-arg LDFLAGS="${wasi_debug_ld_flags}" \
141141
--build-arg CFLAGS="${wasi_debug_c_flags}" \
142142
$script_dir $@
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/usr/bin/env sh
2+
3+
exec ${WASI_SDK_PATH}/bin/clang++ --target=wasm32-wasi-threads --sysroot=${WASI_SYSROOT} "$@"
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/usr/bin/env sh
2+
3+
exec ${WASI_SDK_PATH}/bin/clang --target=wasm32-wasi-threads --sysroot=${WASI_SYSROOT} "$@"

src/docker/itk-wasm-base/wasi-sdk-pthread-itkwasm.cmake

Lines changed: 0 additions & 42 deletions
This file was deleted.

0 commit comments

Comments
 (0)