ARG ORG=dockcross FROM ${ORG}/base:latest LABEL maintainer="Matt McCormick matt.mccormick@kitware.com" ARG CLANG_VERSION=15 ENV CLANG_VERSION=${CLANG_VERSION} RUN echo "deb http://apt.llvm.org/bookworm/ llvm-toolchain-bookworm main" >> /etc/apt/sources.list.d/llvm.list \ && echo "deb http://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-${CLANG_VERSION} main" >> /etc/apt/sources.list.d/llvm.list \ && echo "deb-src http://apt.llvm.org/bookworm/ llvm-toolchain-bookworm main" >> /etc/apt/sources.list.d/llvm.list \ && echo "deb-src http://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-${CLANG_VERSION} main" >> /etc/apt/sources.list.d/llvm.list \ && wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - \ && apt-get update \ && apt-get -y install clang-${CLANG_VERSION} libc++-${CLANG_VERSION}-dev libc++abi-${CLANG_VERSION}-dev clang-format-${CLANG_VERSION} clang-tidy-${CLANG_VERSION} lldb-${CLANG_VERSION} liblld-${CLANG_VERSION}-dev \ && apt-get -y install libomp-${CLANG_VERSION}-dev clang-tools-${CLANG_VERSION} clangd-${CLANG_VERSION} libclang-${CLANG_VERSION}-dev libclang-common-${CLANG_VERSION}-dev llvm-${CLANG_VERSION}-dev \ && apt-get clean --yes \ && rm -rf /var/lib/apt/lists/* \ && update-alternatives --install /usr/bin/cc cc /usr/bin/clang-${CLANG_VERSION} 90 \ && update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-${CLANG_VERSION} 90 \ && update-alternatives --remove-all cpp \ && update-alternatives --install /usr/bin/cpp cpp /usr/bin/clang++-${CLANG_VERSION} 90 \ && update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${CLANG_VERSION} 90 \ && update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-${CLANG_VERSION} 90 \ && update-alternatives --install /usr/bin/lld lld /usr/bin/lld-${CLANG_VERSION} 90 \ && cc --version \ && c++ --version \ && cpp --version ENV CROSS_TRIPLE x86_64-linux-gnu ENV CROSS_ROOT /usr/bin ENV CC=/usr/bin/clang-${CLANG_VERSION} \ CPP=/usr/bin/clang-cpp-${CLANG_VERSION} \ CXX=/usr/bin/clang++-${CLANG_VERSION} \ LD=/usr/bin/lld-${CLANG_VERSION} \ AS=/usr/bin/llvm-as-${CLANG_VERSION} \ AR=/usr/bin/llvm-ar-${CLANG_VERSION} # FC=/usr/bin/flang COPY ${CROSS_TRIPLE}-noop.sh /usr/bin/${CROSS_TRIPLE}-noop COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/ ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_TRIPLE}/Toolchain.cmake #include "common.label-and-env"