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.
42 lines
1.4 KiB
Docker
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
|