File tree Expand file tree Collapse file tree 1 file changed +25
-5
lines changed Expand file tree Collapse file tree 1 file changed +25
-5
lines changed Original file line number Diff line number Diff line change 4
4
if [ " $VERSION " == " latest" ]; then
5
5
VERSION=
6
6
fi
7
- MAJOR_VERSION=${VERSION%% .* }
8
7
9
8
# Function to run apt-get if needed
10
9
apt_get_update_if_needed ()
@@ -49,7 +48,28 @@ rm llvm.sh
49
48
# Remove downloads to keep Docker layer small
50
49
apt-get clean -y && rm -rf /var/lib/apt/lists/*
51
50
52
- ln -sf /usr/bin/clang-${MAJOR_VERSION} /usr/bin/clang
53
- ln -sf /usr/bin/clang++-${MAJOR_VERSION} /usr/bin/clang++
54
- ln -sf /usr/bin/lld-${MAJOR_VERSION} /usr/bin/lld
55
- ln -sf /usr/bin/ld.lld-${MAJOR_VERSION} /usr/bin/ld.lld
51
+ llvm_root_prefix=/usr/lib/llvm-
52
+
53
+ if [ -z $VERSION ]; then
54
+ # Detect the latest version if it is "latest".
55
+ llvm_latest_version=
56
+ for llvm in ${llvm_root_prefix} * ; do
57
+ llvm_version=${llvm## $llvm_root_prefix }
58
+ if [ ! -f ${llvm_root_prefix}${llvm_version} /bin/llvm-config ]; then
59
+ continue
60
+ fi
61
+ if [[ -z $llvm_latest_version || llvm_version -gt llvm_latest_version ]]; then
62
+ llvm_latest_version=$llvm_version
63
+ fi
64
+ done
65
+ VERSION=$llvm_latest_version
66
+ fi
67
+
68
+ llvm_root=${llvm_root_prefix}${VERSION}
69
+
70
+ for bin in $llvm_root /bin/* ; do
71
+ bin=$( basename $bin )
72
+ if [ -f /usr/bin/$bin -$VERSION ]; then
73
+ ln -sf /usr/bin/$bin -$VERSION /usr/bin/$bin
74
+ fi
75
+ done
You can’t perform that action at this time.
0 commit comments