Skip to content

Commit 15a18dc

Browse files
authored
Update docker build to use LLVM 16 (#316)
1 parent 314eeac commit 15a18dc

File tree

2 files changed

+8
-10
lines changed

2 files changed

+8
-10
lines changed

docker/Dockerfile

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,15 @@
99
FROM ubuntu:22.04 as dist
1010

1111
ADD dist/wasi-sdk-*.*-linux.tar.gz /
12+
ADD dist/libclang_rt.builtins-wasm32-wasi-*.*.tar.gz /wasi-sysroot-clang_rt
1213

1314
# Move versioned folder to unversioned to using bash glob to allow
1415
# this file to be independent of major version number.
1516
RUN mv /wasi-sdk-* /wasi-sdk
1617

1718
FROM ubuntu:22.04
1819

19-
ENV LLVM_VERSION 15
20+
ENV LLVM_VERSION 16
2021

2122
# Install build toolchain including clang, ld, make, autotools, ninja, and cmake
2223
RUN apt-get update && \
@@ -33,11 +34,7 @@ RUN apt-get update && \
3334
rm -rf /var/lib/apt/lists/*
3435

3536
COPY --from=dist /wasi-sdk/share/wasi-sysroot/ /wasi-sysroot/
36-
# The path to the rt directory contains the LLVM patch version which is not reflected in the LLVM apt repository
37-
# or package. To make adding the RT robust to changing patch versions without needing to duplicate the folder
38-
# content, we symlink after extracting using a bash glob to resolve the patch version
39-
ADD dist/libclang_rt.builtins-wasm32-wasi-*.*.tar.gz /wasi-sysroot-clang_rt
40-
RUN ln -s /wasi-sysroot-clang_rt/lib/wasi/ $(echo /usr/lib/llvm-${LLVM_VERSION}/lib/clang/${LLVM_VERSION}.*)/lib/wasi
37+
COPY --from=dist /wasi-sysroot-clang_rt/lib/wasi /usr/lib/llvm-${LLVM_VERSION}/lib/clang/${LLVM_VERSION}/lib/wasi
4138

4239
ADD docker/wasi-sdk.cmake /usr/share/cmake/wasi-sdk.cmake
4340
ENV CMAKE_TOOLCHAIN_FILE /usr/share/cmake/wasi-sdk.cmake

docker/wasi-sdk.cmake

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,11 @@ set(CMAKE_SYSTEM_VERSION 1)
1111
set(CMAKE_SYSTEM_PROCESSOR wasm32)
1212
set(triple wasm32-wasi)
1313

14-
set(CMAKE_C_COMPILER /usr/bin/clang-15)
15-
set(CMAKE_CXX_COMPILER /usr/bin/clang++-15)
16-
set(CMAKE_AR /usr/bin/llvm-ar-15)
17-
set(CMAKE_RANLIB /usr/bin/llvm-ranlib-15)
14+
set(CMAKE_C_COMPILER /usr/bin/clang-$ENV{LLVM_VERSION})
15+
set(CMAKE_CXX_COMPILER /usr/bin/clang++-$ENV{LLVM_VERSION})
16+
set(CMAKE_ASM_COMPILER /usr/bin/clang-$ENV{LLVM_VERSION})
17+
set(CMAKE_AR /usr/bin/llvm-ar-$ENV{LLVM_VERSION})
18+
set(CMAKE_RANLIB /usr/bin/llvm-ranlib-$ENV{LLVM_VERSION})
1819
set(CMAKE_C_COMPILER_TARGET ${triple})
1920
set(CMAKE_CXX_COMPILER_TARGET ${triple})
2021
SET(CMAKE_SYSROOT /wasi-sysroot)

0 commit comments

Comments
 (0)