mirror of
https://github.com/bensuperpc/dockcross.git
synced 2025-06-22 19:03:35 +02:00
web-wasi: Initial addition
This commit is contained in:
32
web-wasi/Dockerfile.in
Normal file
32
web-wasi/Dockerfile.in
Normal file
@ -0,0 +1,32 @@
|
||||
FROM dockcross/base:latest
|
||||
|
||||
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
|
||||
|
||||
# The cross-compiling emulator
|
||||
ENV WASMER_DIR /usr/local/wasmer
|
||||
RUN curl https://get.wasmer.io -sSfL | sh
|
||||
ENV PATH /usr/local/wasmer/bin:${PATH}
|
||||
|
||||
ENV WASI_VERSION 12
|
||||
ENV WASI_VERSION_FULL ${WASI_VERSION}.0
|
||||
RUN cd /usr/ && \
|
||||
curl -L -O https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_VERSION}/wasi-sdk-${WASI_VERSION_FULL}-linux.tar.gz && \
|
||||
tar xvzf wasi-sdk-${WASI_VERSION_FULL}-linux.tar.gz && \
|
||||
rm wasi-sdk-${WASI_VERSION_FULL}-linux.tar.gz
|
||||
ENV WASI_SDK_PATH /usr/wasi-sdk-${WASI_VERSION_FULL}
|
||||
ENV WASI_SYSROOT ${WASI_SDK_PATH}/share/wasi-sysroot
|
||||
|
||||
COPY clang-wasi-sysroot.sh clang++-wasi-sysroot.sh wasmer-pwd.sh /usr/local/bin/
|
||||
|
||||
ENV CROSS_TRIPLE=wasm32-wasi
|
||||
ENV CROSS_ROOT=${WASI_SDK_PATH}
|
||||
ENV ANDROID_NDK=${CROSS_ROOT}
|
||||
ENV AR=${CROSS_ROOT}/bin/llvm-ar \
|
||||
CC=clang-wasi-sysroot.sh \
|
||||
CXX=clang++-wasi-sysroot.sh \
|
||||
LD=${CROSS_ROOT}/bin/wasm-ld
|
||||
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
#include "common.label-and-env"
|
11
web-wasi/Toolchain.cmake
Normal file
11
web-wasi/Toolchain.cmake
Normal file
@ -0,0 +1,11 @@
|
||||
set(WASI 1)
|
||||
|
||||
include($ENV{WASI_SDK_PATH}/share/cmake/wasi-sdk.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_CROSSCOMPILING_EMULATOR /usr/local/bin/wasmer-pwd.sh)
|
3
web-wasi/clang++-wasi-sysroot.sh
Executable file
3
web-wasi/clang++-wasi-sysroot.sh
Executable file
@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
exec ${WASI_SDK_PATH}/bin/clang++ --sysroot=${WASI_SYSROOT} "$@"
|
3
web-wasi/clang-wasi-sysroot.sh
Executable file
3
web-wasi/clang-wasi-sysroot.sh
Executable file
@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
exec ${WASI_SDK_PATH}/bin/clang --sysroot=${WASI_SYSROOT} "$@"
|
4
web-wasi/wasmer-pwd.sh
Executable file
4
web-wasi/wasmer-pwd.sh
Executable file
@ -0,0 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Mount the PWD to enable access in try_run commands
|
||||
exec /usr/local/wasmer/bin/wasmer run --dir=. --dir=$PWD "$@"
|
Reference in New Issue
Block a user