mirror of
https://github.com/bensuperpc/dockcross.git
synced 2025-02-10 11:35:56 +01:00
web-wasi: bump to wasi-sdk 25.0
Update for their migration to the CMake build system and use of binary sdk artifacts.
This commit is contained in:
parent
43b2dd1550
commit
e2bc513d3f
@ -6,12 +6,5 @@ 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_AR llvm-ar-$ENV{LLVM_VERSION})
|
||||
set(CMAKE_RANLIB llvm-ranlib-$ENV{LLVM_VERSION})
|
||||
set(CMAKE_ASM_COMPILER clang-$ENV{LLVM_VERSION})
|
||||
|
||||
set(CMAKE_C_COMPILER_TARGET $ENV{CROSS_TRIPLE})
|
||||
set(CMAKE_CXX_COMPILER_TARGET $ENV{CROSS_TRIPLE})
|
||||
set(CMAKE_ASM_COMPILER_TARGET $ENV{CROSS_TRIPLE})
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /wasi-runtimes/wasmtime/bin/wasmtime-pwd-threads.sh)
|
||||
|
@ -3,44 +3,25 @@ FROM ${ORG}/base:latest
|
||||
|
||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
|
||||
ENV LLVM_VERSION 18
|
||||
ENV LLVM_VERSION=19
|
||||
ENV WASI_VERSION=25
|
||||
ENV WASI_VERSION_FULL=${WASI_VERSION}.0
|
||||
|
||||
# Build LLVM / Clang that supports our glibc
|
||||
RUN apt-get update && \
|
||||
# Temporarily install to setup apt repositories
|
||||
apt-get install -y && \
|
||||
\
|
||||
curl -sS https://apt.llvm.org/llvm-snapshot.gpg.key | gpg --dearmor > /etc/apt/trusted.gpg.d/llvm.gpg && \
|
||||
echo "deb [signed-by=/etc/apt/trusted.gpg.d/llvm.gpg] http://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-${LLVM_VERSION} main" >> /etc/apt/sources.list.d/llvm.list && \
|
||||
echo "deb-src [signed-by=/etc/apt/trusted.gpg.d/llvm.gpg] http://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-${LLVM_VERSION} main" >> /etc/apt/sources.list.d/llvm.list && \
|
||||
\
|
||||
apt-get update && \
|
||||
apt-get install -y clang-${LLVM_VERSION} lld-${LLVM_VERSION} && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
COPY download-install-wasi-sdk.sh /usr/local/bin/
|
||||
RUN /usr/local/bin/download-install-wasi-sdk.sh
|
||||
|
||||
ENV WASI_VERSION 22
|
||||
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
|
||||
RUN cd /usr/ && \
|
||||
curl -L -O https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_VERSION}/libclang_rt.builtins-wasm32-wasi-${WASI_VERSION_FULL}.tar.gz && \
|
||||
tar xvzf libclang_rt.builtins-wasm32-wasi-${WASI_VERSION_FULL}.tar.gz && \
|
||||
rm libclang_rt.builtins-wasm32-wasi-${WASI_VERSION_FULL}.tar.gz && \
|
||||
cp -r lib/wasi /usr/lib/llvm-${LLVM_VERSION}/lib/clang/${LLVM_VERSION}/lib/
|
||||
ENV WASI_SYSROOT /usr/wasi-sdk-${WASI_VERSION_FULL}/share/wasi-sysroot
|
||||
ENV WASI_SDK_PATH /usr/wasi-sdk-${WASI_VERSION_FULL}
|
||||
ENV WASI_SYSROOT=/opt/wasi-sdk/share/wasi-sysroot
|
||||
ENV WASI_SDK_PATH=/opt/wasi-sdk
|
||||
|
||||
COPY clang-wasi-sysroot.sh clang++-wasi-sysroot.sh /usr/local/bin/
|
||||
|
||||
ENV CROSS_TRIPLE=wasm32-wasi
|
||||
ENV CROSS_ROOT=${WASI_SDK_PATH}
|
||||
ENV AR=llvm-ar-${LLVM_VERSION} \
|
||||
ENV AR=${WASI_SDK_PATH}/bin/llvm-ar \
|
||||
CC=clang-wasi-sysroot.sh \
|
||||
CXX=clang++-wasi-sysroot.sh \
|
||||
LD=wasm-ld-${LLVM_VERSION} \
|
||||
RANLIB=llvm-ranlib-${LLVM_VERSION}
|
||||
LD=${WASI_SDK_PATH}/bin/wasm-ld \
|
||||
RANLIB=${WASI_SDK_PATH}/bin/llvm-ranlib
|
||||
|
||||
#include "common.webassembly"
|
||||
|
||||
@ -51,6 +32,6 @@ RUN mv /usr/src/*.cmake /usr/share/cmake-*/Modules/
|
||||
COPY CheckTypeSize.c.in /usr/src/
|
||||
RUN mv /usr/src/CheckTypeSize.c.in /usr/share/cmake-*/Modules/
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
@ -6,12 +6,5 @@ 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_AR llvm-ar-$ENV{LLVM_VERSION})
|
||||
set(CMAKE_RANLIB llvm-ranlib-$ENV{LLVM_VERSION})
|
||||
set(CMAKE_ASM_COMPILER clang-$ENV{LLVM_VERSION})
|
||||
|
||||
set(CMAKE_C_COMPILER_TARGET $ENV{CROSS_TRIPLE})
|
||||
set(CMAKE_CXX_COMPILER_TARGET $ENV{CROSS_TRIPLE})
|
||||
set(CMAKE_ASM_COMPILER_TARGET $ENV{CROSS_TRIPLE})
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /wasi-runtimes/wasmtime/bin/wasmtime-pwd.sh)
|
||||
|
@ -1,3 +1,3 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
exec clang++-${LLVM_VERSION} --target=wasm32-wasi --sysroot=${WASI_SYSROOT} "$@"
|
||||
exec ${WASI_SDK_PATH}/bin/clang++ --target=wasm32-wasi --sysroot=${WASI_SYSROOT} "$@"
|
||||
|
@ -1,3 +1,3 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
exec clang-${LLVM_VERSION} --target=wasm32-wasi --sysroot=${WASI_SYSROOT} "$@"
|
||||
exec ${WASI_SDK_PATH}/bin/clang --target=wasm32-wasi --sysroot=${WASI_SYSROOT} "$@"
|
||||
|
18
web-wasi/download-install-wasi-sdk.sh
Executable file
18
web-wasi/download-install-wasi-sdk.sh
Executable file
@ -0,0 +1,18 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -eox pipefail
|
||||
|
||||
mkdir /tmp/dl
|
||||
cd /tmp/dl
|
||||
|
||||
curl -L -O https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_VERSION}/wasi-sdk-${WASI_VERSION_FULL}-arm64-linux.deb && \
|
||||
curl -L -O https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_VERSION}/wasi-sdk-${WASI_VERSION_FULL}-x86_64-linux.deb && \
|
||||
|
||||
case `dpkg --print-architecture` in
|
||||
amd64) dpkg -i wasi-sdk-*-x86_64-linux.deb ;;
|
||||
arm64) dpkg -i wasi-sdk-*-arm64-linux.deb ;;
|
||||
*) exit 1 ;;
|
||||
esac
|
||||
|
||||
cd /tmp/
|
||||
rm -rf /tmp/dl
|
Loading…
x
Reference in New Issue
Block a user