Skip to content

Commit 2b7331b

Browse files
authored
Add command-line option "latest"
Allow the user to install the latest available version without having to hardcode and pass the exact number.
1 parent 4169923 commit 2b7331b

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

llvm.sh

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -158,17 +158,18 @@ LLVM_VERSION_PATTERNS[18]="-18"
158158
LLVM_VERSION_PATTERNS[19]="-19"
159159
LLVM_VERSION_PATTERNS[20]="-20"
160160
LLVM_VERSION_PATTERNS[21]=""
161+
LLVM_VERSION_PATTERNS["latest"]=""
161162

162163
if [ ! ${LLVM_VERSION_PATTERNS[$LLVM_VERSION]+_} ]; then
163164
echo "This script does not support LLVM version $LLVM_VERSION"
164165
exit 3
165166
fi
166167

167-
LLVM_VERSION_STRING=${LLVM_VERSION_PATTERNS[$LLVM_VERSION]}
168+
LLVM_REPO_SUFFIX=${LLVM_VERSION_PATTERNS[$LLVM_VERSION]}
168169

169170
# join the repository name
170171
if [[ -n "${CODENAME}" ]]; then
171-
REPO_NAME="deb ${BASE_URL}/${CODENAME}/ llvm-toolchain${LINKNAME}${LLVM_VERSION_STRING} main"
172+
REPO_NAME="deb ${BASE_URL}/${CODENAME}/ llvm-toolchain${LINKNAME}${LLVM_REPO_SUFFIX} main"
172173
# check if the repository exists for the distro and version
173174
if ! wget -q --method=HEAD ${BASE_URL}/${CODENAME} &> /dev/null && \
174175
! curl -sSLI -XHEAD ${BASE_URL}/${CODENAME} &> /dev/null; then
@@ -212,14 +213,20 @@ elif [[ $is_new_debian -eq 1 ]]; then
212213
Architectures: amd64 arm64
213214
Signed-By: /etc/apt/trusted.gpg.d/apt.llvm.org.asc
214215
URIs: ${BASE_URL}/${CODENAME}/
215-
Suites: llvm-toolchain${LINKNAME}${LLVM_VERSION_STRING}
216+
Suites: llvm-toolchain${LINKNAME}${LLVM_REPO_SUFFIX}
216217
Components: main"
217218
echo "$TEXT_TO_ADD" | tee -a "$SOURCES_FILE" > /dev/null
218219
else
219220
add-apt-repository -y "${REPO_NAME}"
220221
fi
221222

222223
apt-get update
224+
225+
if [[ "$LLVM_VERSION" == "latest" ]]; then
226+
LLVM_VERSION=$(apt-cache search '^llvm-[0-9]+$' | awk '{print $1}' | sed "s/llvm-//" | sort -n | tail -n 1)
227+
echo "Installing version=$LLVM_VERSION"
228+
fi
229+
223230
PKG="clang-$LLVM_VERSION lldb-$LLVM_VERSION lld-$LLVM_VERSION clangd-$LLVM_VERSION"
224231
if [[ $ALL -eq 1 ]]; then
225232
# same as in test-install.sh

0 commit comments

Comments
 (0)