@@ -162,48 +162,75 @@ EOF
162
162
163
163
add-apt-repository -n -y " ${REPO_NAME} "
164
164
165
- if [[ " ${PKG[@ ]} " == " " ]]; then
165
+ if [[ " ${PKG[* ]} " == " " ]]; then
166
166
PKG=();
167
- PKG+=(" clang-$LLVM_VERSION " );
168
- PKG+=(" lldb-$LLVM_VERSION " );
169
- PKG+=(" lld-$LLVM_VERSION " );
170
- PKG+=(" clangd-$LLVM_VERSION " );
171
- elif [[ " ${PKG[@ ]} " == " all" ]]; then
167
+ PKG+=(" clang-${ LLVM_VERSION} " );
168
+ PKG+=(" lldb-${ LLVM_VERSION} " );
169
+ PKG+=(" lld-${ LLVM_VERSION} " );
170
+ PKG+=(" clangd-${ LLVM_VERSION} " );
171
+ elif [[ " ${PKG[* ]} " == " all" ]]; then
172
172
# same as in test-install.sh
173
173
# No worries if we have dups
174
174
PKG=();
175
- PKG+=(" clang-tidy-$LLVM_VERSION " );
176
- PKG+=(" clang-format-$LLVM_VERSION " );
177
- PKG+=(" clang-tools-$LLVM_VERSION " );
178
- PKG+=(" clangd-$LLVM_VERSION " );
179
- PKG+=(" llvm-$LLVM_VERSION -dev" );
180
- PKG+=(" lld-$LLVM_VERSION " );
181
- PKG+=(" lldb-$LLVM_VERSION " );
182
- PKG+=(" llvm-$LLVM_VERSION -tools" );
183
- PKG+=(" libomp-$LLVM_VERSION -dev" );
184
- PKG+=(" libc++-$LLVM_VERSION -dev" );
185
- PKG+=(" libc++abi-$LLVM_VERSION -dev" );
186
- PKG+=(" libclang-common-$LLVM_VERSION -dev" );
187
- PKG+=(" libclang-$LLVM_VERSION -dev" );
188
- if test $ LLVM_VERSION -gt 9; then
189
- PKG+=(" libclang-cpp$LLVM_VERSION -dev" );
175
+ PKG+=(" clang-tidy-${ LLVM_VERSION} " );
176
+ PKG+=(" clang-format-${ LLVM_VERSION} " );
177
+ PKG+=(" clang-tools-${ LLVM_VERSION} " );
178
+ PKG+=(" clangd-${ LLVM_VERSION} " );
179
+ PKG+=(" llvm-${ LLVM_VERSION} -dev" );
180
+ PKG+=(" lld-${ LLVM_VERSION} " );
181
+ PKG+=(" lldb-${ LLVM_VERSION} " );
182
+ PKG+=(" llvm-${ LLVM_VERSION} -tools" );
183
+ PKG+=(" libomp-${ LLVM_VERSION} -dev" );
184
+ PKG+=(" libc++-${ LLVM_VERSION} -dev" );
185
+ PKG+=(" libc++abi-${ LLVM_VERSION} -dev" );
186
+ PKG+=(" libclang-common-${ LLVM_VERSION} -dev" );
187
+ PKG+=(" libclang-${ LLVM_VERSION} -dev" );
188
+ if test " ${ LLVM_VERSION} " -gt 9; then
189
+ PKG+=(" libclang-cpp${ LLVM_VERSION} -dev" );
190
190
fi
191
- if test $ LLVM_VERSION -gt 11; then
192
- PKG+=(" libunwind-$LLVM_VERSION -dev" );
191
+ if test " ${ LLVM_VERSION} " -gt 11; then
192
+ PKG+=(" libunwind-${ LLVM_VERSION} -dev" );
193
193
fi
194
- if test $ LLVM_VERSION -gt 14; then
195
- PKG+=(" libclang-rt-$LLVM_VERSION -dev" );
196
- PKG+=(" libpolly-$LLVM_VERSION -dev" );
194
+ if test " ${ LLVM_VERSION} " -gt 14; then
195
+ PKG+=(" libclang-rt-${ LLVM_VERSION} -dev" );
196
+ PKG+=(" libpolly-${ LLVM_VERSION} -dev" );
197
197
fi
198
198
else
199
+ declare -A version_middle=(
200
+ [" llvm-dev" ]=1
201
+ [" llvm-tools" ]=1
202
+ [" libomp-dev" ]=1
203
+ [" libc++-dev" ]=1
204
+ [" libc++abi-dev" ]=1
205
+ [" libclang-common-dev" ]=1
206
+ [" libclang-dev" ]=1
207
+ [" libunwind-dev" ]=1
208
+ [" libclang-rt-dev" ]=1
209
+ [" libpolly-dev" ]=1
210
+ );
211
+ declare -A version_at_end=(
212
+ [" clang" ]=1
213
+ [" clang-tidy" ]=1
214
+ [" clang-format" ]=1
215
+ [" clang-tools" ]=1
216
+ [" clangd" ]=1
217
+ [" lld" ]=1
218
+ [" lldb" ]=1
219
+ );
199
220
for (( i= 0 ; i < ${# PKG[@]} ; i+= 1 )) ; do
200
- if ! grep -q ${LLVM_VERSION} <<< " ${PKG[$i]}" ; then
201
- PKG[$i ]=" ${PKG[$i]} -${LLVM_VERSION} " ;
221
+ if ! grep -q " ${LLVM_VERSION} " <<< " ${PKG[$i]}" ; then
222
+ if test -v version_middle[" ${PKG[i]} " ]; then
223
+ PKG[i]=" $( sed -r " s/^(.*)-(.*)$/\1-${LLVM_VERSION} -\2/" <<< " ${PKG[i]}" ) " ;
224
+ elif test -v version_at_end[" ${PKG[i]} " ]; then
225
+ PKG[i]=" ${PKG[i]} -${LLVM_VERSION} " ;
226
+ elif test " ${PKG[i]} " = " libclang-cpp-dev" ; then
227
+ PKG[i]=" libclang-cpp${LLVM_VERSION} -dev" ;
228
+ fi
202
229
fi
203
230
done
204
231
fi
205
232
206
233
if test ${# PKG[@]} -gt 0; then
207
234
apt-get update;
208
- apt-get install -y ${PKG[@]} ;
235
+ apt-get install -y " ${PKG[@]} " ;
209
236
fi
0 commit comments