Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file.
35 changes: 21 additions & 14 deletions script/install-llvm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -42,26 +42,33 @@ fi
LLVM_PACKAGE="LLVM-${LLVM_VERSION}-Linux-X64"
LLVM_URL="https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/${LLVM_PACKAGE}.tar.xz"
INSTALL_DIR="/opt/llvm-${LLVM_VERSION}"
TEMP_DIR=$(mktemp -d)
if [ -x "${INSTALL_DIR}/bin/clang-format" ]; then
echo "LLVM ${LLVM_VERSION} is already installed at ${INSTALL_DIR}, skipping download..."
else
TEMP_DIR=$(mktemp -d)

cleanup()
{
rm -rf "${TEMP_DIR}"
}
cleanup()
{
rm -rf "${TEMP_DIR}"
}

trap cleanup EXIT
trap cleanup EXIT

cd "${TEMP_DIR}"
cd "${TEMP_DIR}"

echo "Downloading LLVM from ${LLVM_URL}..."
wget -O llvm.tar.xz "${LLVM_URL}"
echo "Downloading LLVM from ${LLVM_URL}..."
wget -O llvm.tar.xz "${LLVM_URL}"

echo "Uncompressing to ${TEMP_DIR}..."
tar xf llvm.tar.xz
echo "Uncompressing to ${TEMP_DIR}..."
tar xf llvm.tar.xz

echo "Installing to ${INSTALL_DIR}..."
sudo mkdir -p /opt
sudo mv "${LLVM_PACKAGE}" "${INSTALL_DIR}"
echo "Installing to ${INSTALL_DIR}..."
sudo mkdir -p /opt
if [ -d "${INSTALL_DIR}" ]; then
sudo rm -rf "${INSTALL_DIR}"
fi
sudo mv "${LLVM_PACKAGE}" "${INSTALL_DIR}"
fi

echo "Creating symlinks in /usr/local/bin..."
sudo ln -sf "${INSTALL_DIR}/bin/clang-format" "/usr/local/bin/clang-format-19"
Expand Down