2021-11-27 12:34:26 +01:00
|
|
|
#!/bin/bash
|
2021-11-30 18:35:09 +01:00
|
|
|
set -e
|
|
|
|
|
if [[ ! -z "$CODECHECKER_ACTION_DEBUG" ]]; then
|
|
|
|
|
set -x
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
echo "::group::Installing LLVM"
|
2021-11-27 12:34:26 +01:00
|
|
|
|
|
|
|
|
export DISTRO_FANCYNAME="$(lsb_release -c | awk '{ print $2 }')"
|
|
|
|
|
curl -sL http://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
|
|
|
|
|
2021-11-29 17:42:43 +01:00
|
|
|
if [[ "$IN_LLVM_VERSION" == "latest" ]]; then
|
2021-11-27 12:34:26 +01:00
|
|
|
sudo add-apt-repository -y "deb http://apt.llvm.org/$DISTRO_FANCYNAME/ llvm-toolchain-$DISTRO_FANCYNAME main"
|
|
|
|
|
# Get the largest Clang package number available.
|
|
|
|
|
export LLVM_VER="$(apt-cache search --full 'clang-[[:digit:]]*$' | grep '^Package: clang' | cut -d ' ' -f 2 | sort -V | tail -n 1 | sed 's/clang-//')"
|
|
|
|
|
else
|
2021-11-29 17:42:43 +01:00
|
|
|
sudo add-apt-repository -y "deb http://apt.llvm.org/$DISTRO_FANCYNAME/ llvm-toolchain-$DISTRO_FANCYNAME-$IN_LLVM_VERSION main"
|
|
|
|
|
export LLVM_VER="$IN_LLVM_VERSION"
|
2021-11-27 12:34:26 +01:00
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
sudo apt-get -y --no-install-recommends install \
|
|
|
|
|
clang-$LLVM_VER \
|
|
|
|
|
clang-tidy-$LLVM_VER
|
|
|
|
|
sudo update-alternatives --install \
|
|
|
|
|
/usr/bin/clang clang /usr/bin/clang-$LLVM_VER 1000 \
|
|
|
|
|
--slave \
|
|
|
|
|
/usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-$LLVM_VER
|
2021-11-30 18:35:09 +01:00
|
|
|
echo "::endgroup::"
|
|
|
|
|
|
2021-11-27 12:34:26 +01:00
|
|
|
update-alternatives --query clang
|
2021-11-29 17:42:43 +01:00
|
|
|
|
|
|
|
|
echo "::set-output name=REAL_VERSION::$(clang --version | head -n 1 | cut -d' ' -f4-)"
|