Files
llvm-mingw/Dockerfile.system-clang
T
Martin Storsjö e8409d9954 Revert "Docker.system-clang: Fix building with older LLVM versions after recent changes"
This reverts commit 490dfffb32.

This is no longer necessary, as we now can build runtimes using
the latest LLVM 19 versions, that support building sanitizers
for all architectures.
2025-01-07 23:15:51 +02:00

42 lines
1.4 KiB
Docker

FROM ubuntu:24.04
RUN apt-get update -qq && \
DEBIAN_FRONTEND="noninteractive" apt-get install -qqy --no-install-recommends \
git wget bzip2 file unzip libtool pkg-config cmake build-essential \
automake nasm gettext autopoint vim-tiny python3 \
ninja-build ca-certificates curl less zip && \
apt-get clean -y && \
rm -rf /var/lib/apt/lists/*
# Separate step for system-clang; the RUN line above is similar to other dockerfiles.
RUN apt-get update -qq && \
apt-get install -qqy clang-18 lld-18 llvm-18 && \
apt-get clean -y && \
rm -rf /var/lib/apt/lists/*
RUN git config --global user.name "LLVM MinGW" && \
git config --global user.email root@localhost
WORKDIR /build
ENV TOOLCHAIN_PREFIX=/opt/llvm-mingw
ARG TOOLCHAIN_ARCHS="i686 x86_64 armv7 aarch64"
ARG DEFAULT_CRT=ucrt
ARG CFGUARD_ARGS=--enable-cfguard
COPY build-all.sh build-llvm.sh install-wrappers.sh build-mingw-w64.sh build-mingw-w64-tools.sh build-compiler-rt.sh build-libcxx.sh build-mingw-w64-libraries.sh build-openmp.sh ./
COPY wrappers/*.sh wrappers/*.c wrappers/*.h wrappers/*.cfg ./wrappers/
RUN ./build-all.sh $TOOLCHAIN_PREFIX --host-clang=clang-18 && \
rm -rf /build/*
ENV PATH=$TOOLCHAIN_PREFIX/bin:$PATH
# Test the installation
COPY test/*.c test/*.cpp test/*.h test/*.idl test/*.rc test/Makefile ./test/
COPY run-tests.sh ./
RUN RUN_I686=false RUN_X86_64=false ./run-tests.sh $TOOLCHAIN_PREFIX