Skip to content

Commit c8aa8bc

Browse files
committed
feat: register clang version script
1 parent 8ad85d3 commit c8aa8bc

File tree

2 files changed

+57
-6
lines changed

2 files changed

+57
-6
lines changed

Dockerfile

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,12 @@ RUN apt-get install -y googletest && \
5656
cmake . && make -j4 && make install
5757

5858
# Install llvm 17
59-
# RUN wget https://apt.llvm.org/llvm.sh && \
60-
# /bin/bash ./llvm.sh 17 && \
61-
# update-alternatives --install /usr/bin/clang clang /usr/bin/clang-17 1 && \
62-
# update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-17 1 && \
63-
# update-alternatives --install /usr/bin/lldb lldb /usr/bin/lldb-17 1 && \
64-
# rm llvm.sh
59+
COPY ./register-clang-version.sh /
60+
RUN wget https://apt.llvm.org/llvm.sh && \
61+
/bin/bash ./llvm.sh 17 && \
62+
rm llvm.sh && \
63+
/bin/bash ./register-clang-version.sh 17 1 && \
64+
rm ./register-clang-version.sh
6565

6666
# Install clang tools
6767
RUN apt-get install -y clang-tools clang-format clang-tidy

register-clang-version.sh

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
#!/usr/bin/bash
2+
3+
function register_clang_version {
4+
local version=$1
5+
local priority=$2
6+
7+
update-alternatives \
8+
--install /usr/bin/llvm-config llvm-config /usr/bin/llvm-config-${version} ${priority} \
9+
--slave /usr/bin/llvm-ar llvm-ar /usr/bin/llvm-ar-${version} \
10+
--slave /usr/bin/llvm-as llvm-as /usr/bin/llvm-as-${version} \
11+
--slave /usr/bin/llvm-bcanalyzer llvm-bcanalyzer /usr/bin/llvm-bcanalyzer-${version} \
12+
--slave /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-${version} \
13+
--slave /usr/bin/llvm-diff llvm-diff /usr/bin/llvm-diff-${version} \
14+
--slave /usr/bin/llvm-dis llvm-dis /usr/bin/llvm-dis-${version} \
15+
--slave /usr/bin/llvm-dwarfdump llvm-dwarfdump /usr/bin/llvm-dwarfdump-${version} \
16+
--slave /usr/bin/llvm-extract llvm-extract /usr/bin/llvm-extract-${version} \
17+
--slave /usr/bin/llvm-link llvm-link /usr/bin/llvm-link-${version} \
18+
--slave /usr/bin/llvm-mc llvm-mc /usr/bin/llvm-mc-${version} \
19+
--slave /usr/bin/llvm-mcmarkup llvm-mcmarkup /usr/bin/llvm-mcmarkup-${version} \
20+
--slave /usr/bin/llvm-nm llvm-nm /usr/bin/llvm-nm-${version} \
21+
--slave /usr/bin/llvm-objdump llvm-objdump /usr/bin/llvm-objdump-${version} \
22+
--slave /usr/bin/llvm-ranlib llvm-ranlib /usr/bin/llvm-ranlib-${version} \
23+
--slave /usr/bin/llvm-readobj llvm-readobj /usr/bin/llvm-readobj-${version} \
24+
--slave /usr/bin/llvm-rtdyld llvm-rtdyld /usr/bin/llvm-rtdyld-${version} \
25+
--slave /usr/bin/llvm-size llvm-size /usr/bin/llvm-size-${version} \
26+
--slave /usr/bin/llvm-stress llvm-stress /usr/bin/llvm-stress-${version} \
27+
--slave /usr/bin/llvm-symbolizer llvm-symbolizer /usr/bin/llvm-symbolizer-${version} \
28+
--slave /usr/bin/llvm-tblgen llvm-tblgen /usr/bin/llvm-tblgen-${version}
29+
30+
update-alternatives \
31+
--install /usr/bin/clang clang /usr/bin/clang-${version} ${priority} \
32+
--slave /usr/bin/clang++ clang++ /usr/bin/clang++-${version} \
33+
--slave /usr/bin/asan_symbolize asan_symbolize /usr/bin/asan_symbolize-${version} \
34+
--slave /usr/bin/c-index-test c-index-test /usr/bin/c-index-test-${version} \
35+
--slave /usr/bin/clang-check clang-check /usr/bin/clang-check-${version} \
36+
--slave /usr/bin/clang-cl clang-cl /usr/bin/clang-cl-${version} \
37+
--slave /usr/bin/clang-cpp clang-cpp /usr/bin/clang-cpp-${version} \
38+
--slave /usr/bin/clang-format clang-format /usr/bin/clang-format-${version} \
39+
--slave /usr/bin/clang-format-diff clang-format-diff /usr/bin/clang-format-diff-${version} \
40+
--slave /usr/bin/clang-import-test clang-import-test /usr/bin/clang-import-test-${version} \
41+
--slave /usr/bin/clang-include-fixer clang-include-fixer /usr/bin/clang-include-fixer-${version} \
42+
--slave /usr/bin/clang-offload-bundler clang-offload-bundler /usr/bin/clang-offload-bundler-${version} \
43+
--slave /usr/bin/clang-query clang-query /usr/bin/clang-query-${version} \
44+
--slave /usr/bin/clang-rename clang-rename /usr/bin/clang-rename-${version} \
45+
--slave /usr/bin/clang-reorder-fields clang-reorder-fields /usr/bin/clang-reorder-fields-${version} \
46+
--slave /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-${version} \
47+
--slave /usr/bin/lldb lldb /usr/bin/lldb-${version} \
48+
--slave /usr/bin/lldb-server lldb-server /usr/bin/lldb-server-${version}
49+
}
50+
51+
register_clang_version $1 $2

0 commit comments

Comments
 (0)