chore: Configurable llvm versions

main
Sean McBride 4 years ago
parent 9798b04b46
commit caeeaf45c0

@ -14,32 +14,24 @@ RUN apt-get install -y --no-install-recommends \
binutils-dev \ binutils-dev \
cmake \ cmake \
git \ git \
libc++-dev \
libtinfo5 \ libtinfo5 \
libtool \ libtool \
pkg-config pkg-config
# LLVM Tools # Needed to install from http endpoints via curl or wget
RUN apt-get install -y --no-install-recommends \
clang-11 \
clang-format-11 \
clang-tools-11 \
libclang-11-dev \
libclang-common-11-dev \
libc++abi-dev \
lld-11 \
llvm-11 \
llvm-11-dev
RUN update-alternatives --install /usr/bin/clang clang /usr/bin/clang-11 100
RUN update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-11 100
RUN update-alternatives --install /usr/bin/llvm-config llvm-config /usr/bin/llvm-config-11 100
RUN update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-11 100
# Needed to install from http endpoints via curl
RUN apt-get install -y --no-install-recommends \ RUN apt-get install -y --no-install-recommends \
curl \ curl \
ca-certificates \ ca-certificates \
libssl-dev libssl-dev \
lsb-release \
gpg-agent \
software-properties-common \
wget
# LLVM Tools
ENV LLVM_VERSION=8
ADD install_llvm.sh /sledge/install_llvm.sh
RUN ./sledge/install_llvm.sh $LLVM_VERSION
# Rust # Rust
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain stable --component rustfmt --target wasm32-wasi -y RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain stable --component rustfmt --target wasm32-wasi -y
@ -58,8 +50,7 @@ RUN apt-get install -y --no-install-recommends \
imagemagick \ imagemagick \
netpbm \ netpbm \
pango1.0-tools \ pango1.0-tools \
wamerican \ wamerican
wget
# Interactive Tools # Interactive Tools
RUN apt-get install -y --no-install-recommends \ RUN apt-get install -y --no-install-recommends \

@ -0,0 +1,29 @@
#!/bin/bash
# Installs LLVM tooling, delegating the to the LLVM script as much as possible
# We need to shim support for LLVM 8 because the LLVM script only supports 9-12
LLVM_VERSION=$1
echo "Installing LLVM $LLVM_VERSION"
# Script Installs clang, lldb, lld, and clangd
if [[ "$LLVM_VERSION" -gt 8 ]]; then
curl --proto '=https' --tlsv1.2 -sSf https://apt.llvm.org/llvm.sh | bash -s -- "$LLVM_VERSION"
else
apt-get install -y --no-install-recommends \
"clang-$LLVM_VERSION" \
"lldb-$LLVM_VERSION" \
"lld-$LLVM_VERSION" \
"clangd-$LLVM_VERSION"
fi
apt-get install -y --no-install-recommends \
"libc++-$LLVM_VERSION-dev" \
"libc++abi-$LLVM_VERSION-dev" \
"libc++1-$LLVM_VERSION" \
"clang-format-$LLVM_VERSION"
update-alternatives --install /usr/bin/clang clang "/usr/bin/clang-$LLVM_VERSION" 100
update-alternatives --install /usr/bin/clang++ clang++ "/usr/bin/clang++-$LLVM_VERSION" 100
update-alternatives --install /usr/bin/llvm-config llvm-config "/usr/bin/llvm-config-$LLVM_VERSION" 100
update-alternatives --install /usr/bin/clang-format clang-format "/usr/bin/clang-format-$LLVM_VERSION" 100
Loading…
Cancel
Save