From f5b3739d8d6f6f083c1777edf15c15ca736b5d03 Mon Sep 17 00:00:00 2001 From: Matt McCormick Date: Tue, 7 Jan 2025 10:59:10 -0500 Subject: [PATCH] web-wasi-threads: use target wasm32-wasi-threads in sysroot wrapper And add -pthread flag. --- web-wasi-threads/Dockerfile.in | 4 ++++ web-wasi-threads/Toolchain.cmake | 4 ++-- web-wasi-threads/clang++-wasi-threads-sysroot.sh | 3 +++ web-wasi-threads/clang-wasi-threads-sysroot.sh | 3 +++ 4 files changed, 12 insertions(+), 2 deletions(-) create mode 100755 web-wasi-threads/clang++-wasi-threads-sysroot.sh create mode 100755 web-wasi-threads/clang-wasi-threads-sysroot.sh diff --git a/web-wasi-threads/Dockerfile.in b/web-wasi-threads/Dockerfile.in index 5f75c21..163fd27 100644 --- a/web-wasi-threads/Dockerfile.in +++ b/web-wasi-threads/Dockerfile.in @@ -3,7 +3,11 @@ FROM ${ORG}/web-wasi:latest LABEL maintainer="Matt McCormick matt@mmmccormick.com" +COPY clang-wasi-threads-sysroot.sh clang++-wasi-threads-sysroot.sh /usr/local/bin/ + ENV CROSS_TRIPLE=wasm32-wasi-threads +ENV CC=clang-wasi-threads-sysroot.sh \ + CXX=clang++-wasi-threads-sysroot.sh COPY Toolchain.cmake ${CROSS_ROOT}/ ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake diff --git a/web-wasi-threads/Toolchain.cmake b/web-wasi-threads/Toolchain.cmake index 53985b4..326702c 100644 --- a/web-wasi-threads/Toolchain.cmake +++ b/web-wasi-threads/Toolchain.cmake @@ -4,7 +4,7 @@ include($ENV{WASI_SDK_PATH}/share/cmake/wasi-sdk-pthread.cmake) set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT}) set(CMAKE_SYSROOT $ENV{WASI_SYSROOT}) -set(CMAKE_C_COMPILER /usr/local/bin/clang-wasi-sysroot.sh) -set(CMAKE_CXX_COMPILER /usr/local/bin/clang++-wasi-sysroot.sh) +set(CMAKE_C_COMPILER /usr/local/bin/clang-wasi-threads-sysroot.sh) +set(CMAKE_CXX_COMPILER /usr/local/bin/clang++-wasi-threads-sysroot.sh) set(CMAKE_CROSSCOMPILING_EMULATOR /wasi-runtimes/wasmtime/bin/wasmtime-pwd-threads.sh) diff --git a/web-wasi-threads/clang++-wasi-threads-sysroot.sh b/web-wasi-threads/clang++-wasi-threads-sysroot.sh new file mode 100755 index 0000000..1d9cdff --- /dev/null +++ b/web-wasi-threads/clang++-wasi-threads-sysroot.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env sh + +exec ${WASI_SDK_PATH}/bin/clang++ -pthread --target=wasm32-wasi-threads --sysroot=${WASI_SYSROOT} "$@" diff --git a/web-wasi-threads/clang-wasi-threads-sysroot.sh b/web-wasi-threads/clang-wasi-threads-sysroot.sh new file mode 100755 index 0000000..8728f23 --- /dev/null +++ b/web-wasi-threads/clang-wasi-threads-sysroot.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env sh + +exec ${WASI_SDK_PATH}/bin/clang -pthread --target=wasm32-wasi-threads --sysroot=${WASI_SYSROOT} "$@"