mirror of https://github.com/WebAssembly/wasi-sdk
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.4 KiB
42 lines
1.4 KiB
# Use a relatively old/stable distro here to maximize the supported platforms
|
|
# and avoid depending on more recent version of, say, libc.
|
|
# Here we choose Ubuntu 20.04.
|
|
|
|
FROM ubuntu:20.04
|
|
|
|
# Various build tooling and such necessary to build LLVM and a wasi-sysroot
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
ccache \
|
|
curl \
|
|
ca-certificates \
|
|
build-essential \
|
|
clang \
|
|
python3 \
|
|
git \
|
|
unzip \
|
|
xz-utils
|
|
|
|
# Install a more recent version of CMake than what 18.04 has since that's what
|
|
# LLVM requires.
|
|
RUN ARCH=$(uname -m) \
|
|
&& curl -sSLO https://github.com/Kitware/CMake/releases/download/v3.29.5/cmake-3.29.5-linux-${ARCH}.tar.gz \
|
|
&& tar xf cmake-3.29.5-linux-${ARCH}.tar.gz \
|
|
&& rm cmake-3.29.5-linux-${ARCH}.tar.gz \
|
|
&& mkdir -p /opt \
|
|
&& mv cmake-3.29.5-linux-${ARCH} /opt/cmake
|
|
|
|
ENV PATH /opt/cmake/bin:$PATH
|
|
|
|
# As with CMake install a later version of Ninja than waht 18.04 has.
|
|
RUN ARCH=$(uname -m) \
|
|
&& if [ "$ARCH" = "aarch64" ]; then SUFFIX=-aarch64; fi \
|
|
&& curl -sSL -o ninja.zip https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-linux${SUFFIX}.zip \
|
|
&& unzip ninja.zip \
|
|
&& rm *.zip \
|
|
&& mv ninja /opt/cmake/bin
|
|
|
|
# Tell programs to cache in a location that both isn't a `--volume` mounted root
|
|
# and isn't `/root` in the container as that won't be writable during the build.
|
|
ENV XDG_CACHE_HOME /tmp/cache
|