Files
.github
android-arm
android-arm64
android-x86
android-x86_64
bare-armv7emhf-nano_newlib
common
common-manylinux.crosstool
common.buildroot
common.crosstool
common.debian
common.dockcross
common.docker
common.label-and-env
common.manylinux2014
common.manylinux_2_28
common.webassembly
common.windows
imagefiles
linux-arm64
linux-arm64-full
linux-arm64-lts
linux-arm64-musl
linux-armv5
linux-armv5-musl
linux-armv5-uclibc
linux-armv6
linux-armv6-lts
linux-armv6-musl
linux-armv7
linux-armv7-lts
linux-armv7a
linux-armv7a-lts
linux-armv7l-musl
linux-i686
linux-m68k-uclibc
linux-mips
linux-mips-lts
linux-mips-uclibc
linux-mipsel-lts
linux-ppc
linux-ppc64le
linux-ppc64le-lts
linux-riscv32
linux-riscv64
linux-s390x
linux-x64
linux-x64-clang
linux-x64-tinycc
linux-x86
linux-x86_64-full
linux-xtensa-uclibc
manylinux-common
manylinux2014-aarch64
manylinux2014-x64
manylinux2014-x86
manylinux_2_28-x64
test
tools
web-wasi
web-wasi-emulated-threads
web-wasi-threads
web-wasm
windows-arm64
windows-armv7
windows-shared-x64
windows-shared-x64-posix
windows-shared-x86
windows-static-x64
windows-static-x64-posix
windows-static-x86
.gitattributes
.gitignore
CONTRIBUTING.md
Dockerfile.in
LICENSE
Makefile
README.md
dockcross/common/common.webassembly
Matt McCormick c0efd5bf10 web-wasi-emulated-threads: initial addition
Todos:

- Add to CI if possible (builds LLVM/Clang)
- Add to README
2025-01-23 11:30:53 -05:00

77 lines
2.3 KiB
Plaintext

# common.webassembly
#
# Common WebAssembly tools.
# 2024-12, version 121
ENV BINARYEN_GIT_TAG=353b759b230dff8fb82aeb157aeb6db360d74a49
RUN git clone --recursive https://github.com/WebAssembly/binaryen.git && \
cd binaryen && \
git checkout ${BINARYEN_GIT_TAG} && \
cd ../ && \
mkdir binaryen-build && \
cd binaryen-build && \
/usr/bin/cmake \
-DCMAKE_C_COMPILER=/usr/bin/cc \
-DCMAKE_CXX_COMPILER=/usr/bin/c++ \
-G Ninja \
-DENABLE_WERROR:BOOL=OFF \
-DCMAKE_INSTALL_PREFIX:PATH=/usr \
-DCMAKE_TOOLCHAIN_FILE="" \
../binaryen && \
ninja && \
ninja install && \
cd ../ && \
rm -rf binaryen*
# main 2024-12-23
ENV WABT_GIT_TAG=ea193b40d6d4a1a697d68ae855b2b3b3e263b377
RUN git clone --recurse-submodules https://github.com/WebAssembly/wabt.git && \
cd wabt && \
git checkout ${WABT_GIT_TAG} && \
cd ../ && \
mkdir wabt-build && \
cd wabt-build && \
/usr/bin/cmake \
-DCMAKE_C_COMPILER=/usr/bin/cc \
-DCMAKE_CXX_COMPILER=/usr/bin/c++ \
-G Ninja \
-DCMAKE_INSTALL_PREFIX:PATH=/usr \
-DCMAKE_TOOLCHAIN_FILE="" \
../wabt && \
ninja && \
ninja install && \
cd ../ && \
rm -rf wabt*
RUN mkdir -p /wasi-runtimes
ENV WASMTIME_HOME=/wasi-runtimes/wasmtime
RUN mkdir -p ${WASMTIME_HOME} && curl https://wasmtime.dev/install.sh -sSf | bash
COPY imagefiles/wasmtime-pwd.sh ${WASMTIME_HOME}/bin/
COPY imagefiles/wasmtime-pwd-threads.sh ${WASMTIME_HOME}/bin/
ENV PATH="$WASMTIME_HOME/bin:$PATH"
# For wasmer
RUN \
apt-get update --yes && \
apt-get install --no-install-recommends --yes \
libxkbcommon0
ENV WASMER_DIR=/wasi-runtimes/wasmer
RUN curl https://get.wasmer.io -sSfL | sh
COPY imagefiles/wasmer-pwd.sh ${WASMER_DIR}/bin/
ENV PATH="$WASMER_DIR/bin:$PATH"
ENV WASM3_VERSION=0.5.0
RUN mkdir -p /wasi-runtimes/wasm3/bin && \
curl -LO https://github.com/wasm3/wasm3/releases/download/v${WASM3_VERSION}/wasm3-linux-x64.elf && \
mv wasm3-linux-x64.elf /wasi-runtimes/wasm3/bin/wasm3 && \
chmod +x /wasi-runtimes/wasm3/bin/wasm3
ENV PATH="/wasi-runtimes/wasm3/bin:$PATH"
ENV WAVM_VERSION=2022-05-14
RUN mkdir -p /wasi-runtimes/wavm/ && \
curl -LO https://github.com/WAVM/WAVM/releases/download/nightly%2F${WAVM_VERSION}/wavm-0.0.0-prerelease-linux.tar.gz && \
tar -xv -C /wasi-runtimes/wavm/ -f wavm-0.0.0-prerelease-linux.tar.gz
ENV PATH="/wasi-runtimes/wavm/bin:$PATH"