Skip to content

Commit 9df94e4

Browse files
emaxx-googlesylvestre
authored andcommitted
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 3a7de2b commit 9df94e4

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
@@ -159,17 +159,18 @@ LLVM_VERSION_PATTERNS[19]="-19"
159159
LLVM_VERSION_PATTERNS[20]="-20"
160160
LLVM_VERSION_PATTERNS[21]="-21"
161161
LLVM_VERSION_PATTERNS[22]=""
162+
LLVM_VERSION_PATTERNS["latest"]=""
162163

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

168-
LLVM_VERSION_STRING=${LLVM_VERSION_PATTERNS[$LLVM_VERSION]}
169+
LLVM_REPO_SUFFIX=${LLVM_VERSION_PATTERNS[$LLVM_VERSION]}
169170

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

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

0 commit comments

Comments
 (0)