mirror of
https://github.com/bensuperpc/dockcross.git
synced 2025-06-18 17:09:25 +02:00
Compare commits
17 Commits
update_rea
...
emscripten
Author | SHA1 | Date | |
---|---|---|---|
69efc9161e | |||
2c170310cb | |||
04090c683a | |||
6f3a3aad49 | |||
f096312a46 | |||
94b0730c49 | |||
bca37cd589 | |||
79e99402c2 | |||
16b60946a0 | |||
0aa303003f | |||
310496590c | |||
da9b0a0afd | |||
c2b200951d | |||
ed2c1eb321 | |||
3559ec8f5c | |||
fceb7a8a6b | |||
b41256cc2f |
4
Makefile
4
Makefile
@ -44,7 +44,8 @@ NON_STANDARD_IMAGES = manylinux2014-x64 manylinux2014-x86 \
|
|||||||
|
|
||||||
# Docker composite files
|
# Docker composite files
|
||||||
DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux common.buildroot \
|
DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux common.buildroot \
|
||||||
common.crosstool common.windows common-manylinux.crosstool common.dockcross common.label-and-env
|
common.crosstool common.webassembly common.windows common-manylinux.crosstool common.dockcross \
|
||||||
|
common.label-and-env
|
||||||
DOCKER_COMPOSITE_FOLDER_PATH = common/
|
DOCKER_COMPOSITE_FOLDER_PATH = common/
|
||||||
DOCKER_COMPOSITE_PATH = $(addprefix $(DOCKER_COMPOSITE_FOLDER_PATH),$(DOCKER_COMPOSITE_SOURCES))
|
DOCKER_COMPOSITE_PATH = $(addprefix $(DOCKER_COMPOSITE_FOLDER_PATH),$(DOCKER_COMPOSITE_SOURCES))
|
||||||
|
|
||||||
@ -98,6 +99,7 @@ $(GEN_IMAGE_DOCKERFILES) Dockerfile: %Dockerfile: %Dockerfile.in $(DOCKER_COMPOS
|
|||||||
-e '/common.crosstool/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.crosstool' \
|
-e '/common.crosstool/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.crosstool' \
|
||||||
-e '/common.buildroot/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.buildroot' \
|
-e '/common.buildroot/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.buildroot' \
|
||||||
-e '/common-manylinux.crosstool/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common-manylinux.crosstool' \
|
-e '/common-manylinux.crosstool/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common-manylinux.crosstool' \
|
||||||
|
-e '/common.webassembly/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.webassembly' \
|
||||||
-e '/common.windows/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.windows' \
|
-e '/common.windows/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.windows' \
|
||||||
-e '/common.dockcross/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.dockcross' \
|
-e '/common.dockcross/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.dockcross' \
|
||||||
-e '/common.label-and-env/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.label-and-env' \
|
-e '/common.label-and-env/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.label-and-env' \
|
||||||
|
@ -18,6 +18,7 @@ RUN \
|
|||||||
gettext \
|
gettext \
|
||||||
gzip \
|
gzip \
|
||||||
gnupg \
|
gnupg \
|
||||||
|
osslsigncode \
|
||||||
initramfs-tools \
|
initramfs-tools \
|
||||||
libncurses5 \
|
libncurses5 \
|
||||||
libtool \
|
libtool \
|
||||||
|
68
common/common.webassembly
Normal file
68
common/common.webassembly
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
# common.webassembly
|
||||||
|
#
|
||||||
|
# Common WebAssembly tools.
|
||||||
|
|
||||||
|
# main 2021-12-31
|
||||||
|
ENV BINARYEN_GIT_TAG 6137b338c7fb37ba98b63c31225ec9cfda8cfa59
|
||||||
|
RUN git clone 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 \
|
||||||
|
-DCMAKE_INSTALL_PREFIX:PATH=/usr \
|
||||||
|
-DCMAKE_TOOLCHAIN_FILE="" \
|
||||||
|
../binaryen && \
|
||||||
|
ninja && \
|
||||||
|
ninja install && \
|
||||||
|
cd ../ && \
|
||||||
|
rm -rf binaryen*
|
||||||
|
|
||||||
|
# main 2021-12-31
|
||||||
|
ENV WABT_GIT_TAG a4366956e877c404d328358b2c00320b476763c0
|
||||||
|
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 /wasi-runtimes
|
||||||
|
|
||||||
|
ENV WASMTIME_HOME /wasi-runtimes/wasmtime
|
||||||
|
RUN mkdir ${WASMTIME_HOME} && curl https://wasmtime.dev/install.sh -sSf | bash
|
||||||
|
COPY imagefiles/wasmtime-pwd.sh ${WASMTIME_HOME}/bin/
|
||||||
|
ENV PATH "$WASMTIME_HOME/bin:$PATH"
|
||||||
|
|
||||||
|
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 2021-12-15
|
||||||
|
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"
|
@ -56,6 +56,7 @@ RUN \
|
|||||||
make \
|
make \
|
||||||
nsis \
|
nsis \
|
||||||
openssl \
|
openssl \
|
||||||
|
osslsigncode \
|
||||||
p7zip-full \
|
p7zip-full \
|
||||||
patch \
|
patch \
|
||||||
perl \
|
perl \
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Mount the PWD to enable access in try_run commands
|
# Mount the PWD to enable access in try_run commands
|
||||||
exec /usr/local/wasmer/bin/wasmer run --dir=. --dir=$PWD "$@"
|
exec ${WASMER_DIR}/bin/wasmer run --dir=. --dir=$PWD "$@"
|
4
imagefiles/wasmtime-pwd.sh
Executable file
4
imagefiles/wasmtime-pwd.sh
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Mount the PWD to enable access in try_run commands
|
||||||
|
exec ${WASMTIME_HOME}/bin/wasmtime run --dir=. --dir=$PWD "$@"
|
@ -2,12 +2,7 @@ FROM dockcross/base:latest
|
|||||||
|
|
||||||
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
|
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
|
||||||
|
|
||||||
# The cross-compiling emulator
|
ENV WASI_VERSION 14
|
||||||
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
|
ENV WASI_VERSION_FULL ${WASI_VERSION}.0
|
||||||
RUN cd /usr/ && \
|
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 && \
|
curl -L -O https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_VERSION}/wasi-sdk-${WASI_VERSION_FULL}-linux.tar.gz && \
|
||||||
@ -16,7 +11,7 @@ RUN cd /usr/ && \
|
|||||||
ENV WASI_SDK_PATH /usr/wasi-sdk-${WASI_VERSION_FULL}
|
ENV WASI_SDK_PATH /usr/wasi-sdk-${WASI_VERSION_FULL}
|
||||||
ENV WASI_SYSROOT ${WASI_SDK_PATH}/share/wasi-sysroot
|
ENV WASI_SYSROOT ${WASI_SDK_PATH}/share/wasi-sysroot
|
||||||
|
|
||||||
COPY clang-wasi-sysroot.sh clang++-wasi-sysroot.sh wasmer-pwd.sh /usr/local/bin/
|
COPY clang-wasi-sysroot.sh clang++-wasi-sysroot.sh /usr/local/bin/
|
||||||
|
|
||||||
ENV CROSS_TRIPLE=wasm32-wasi
|
ENV CROSS_TRIPLE=wasm32-wasi
|
||||||
ENV CROSS_ROOT=${WASI_SDK_PATH}
|
ENV CROSS_ROOT=${WASI_SDK_PATH}
|
||||||
@ -26,6 +21,8 @@ ENV AR=${CROSS_ROOT}/bin/llvm-ar \
|
|||||||
CXX=clang++-wasi-sysroot.sh \
|
CXX=clang++-wasi-sysroot.sh \
|
||||||
LD=${CROSS_ROOT}/bin/wasm-ld
|
LD=${CROSS_ROOT}/bin/wasm-ld
|
||||||
|
|
||||||
|
#include "common.webassembly"
|
||||||
|
|
||||||
COPY WASI.cmake /usr/src/
|
COPY WASI.cmake /usr/src/
|
||||||
RUN mv /usr/src/WASI.cmake /usr/share/cmake-*/Modules/Platform/
|
RUN mv /usr/src/WASI.cmake /usr/share/cmake-*/Modules/Platform/
|
||||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||||
|
@ -7,4 +7,4 @@ set(CMAKE_SYSROOT $ENV{WASI_SYSROOT})
|
|||||||
set(CMAKE_C_COMPILER /usr/local/bin/clang-wasi-sysroot.sh)
|
set(CMAKE_C_COMPILER /usr/local/bin/clang-wasi-sysroot.sh)
|
||||||
set(CMAKE_CXX_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)
|
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/local/bin/wasmtime-pwd.sh)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
FROM emscripten/emsdk:2.0.31
|
FROM emscripten/emsdk:3.1.0
|
||||||
|
|
||||||
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
|
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
|
||||||
|
|
||||||
@ -33,6 +33,7 @@ RUN \
|
|||||||
libtool \
|
libtool \
|
||||||
python3 \
|
python3 \
|
||||||
python3-pip \
|
python3-pip \
|
||||||
|
osslsigncode \
|
||||||
rsync \
|
rsync \
|
||||||
sed \
|
sed \
|
||||||
ssh \
|
ssh \
|
||||||
@ -53,7 +54,9 @@ RUN ln -s /usr/bin/python3 /usr/bin/python
|
|||||||
|
|
||||||
#include "common.docker"
|
#include "common.docker"
|
||||||
|
|
||||||
ENV EMSCRIPTEN_VERSION 2.0.31
|
#include "common.webassembly"
|
||||||
|
|
||||||
|
ENV EMSCRIPTEN_VERSION 3.1.0
|
||||||
|
|
||||||
ENV PATH /emsdk:/emsdk/upstream/bin/:/emsdk/upstream/emscripten:${PATH}
|
ENV PATH /emsdk:/emsdk/upstream/bin/:/emsdk/upstream/emscripten:${PATH}
|
||||||
ENV CC=/emsdk/upstream/emscripten/emcc \
|
ENV CC=/emsdk/upstream/emscripten/emcc \
|
||||||
|
Reference in New Issue
Block a user