-
-
Save stolyarchuk/aebf7c6529fb48ed58546081cf9917ff to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
function register_clang_version { | |
local version=$1 | |
local priority=$2 | |
update-alternatives \ | |
--install /usr/bin/llvm-config llvm-config /usr/bin/llvm-config-"${version}" "${priority}" \ | |
--slave /usr/bin/llvm-ar llvm-ar /usr/bin/llvm-ar-"${version}" \ | |
--slave /usr/bin/llvm-as llvm-as /usr/bin/llvm-as-"${version}" \ | |
--slave /usr/bin/llvm-bcanalyzer llvm-bcanalyzer /usr/bin/llvm-bcanalyzer-"${version}" \ | |
--slave /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-"${version}" \ | |
--slave /usr/bin/llvm-diff llvm-diff /usr/bin/llvm-diff-"${version}" \ | |
--slave /usr/bin/llvm-dis llvm-dis /usr/bin/llvm-dis-"${version}" \ | |
--slave /usr/bin/llvm-dwarfdump llvm-dwarfdump /usr/bin/llvm-dwarfdump-"${version}" \ | |
--slave /usr/bin/llvm-extract llvm-extract /usr/bin/llvm-extract-"${version}" \ | |
--slave /usr/bin/llvm-link llvm-link /usr/bin/llvm-link-"${version}" \ | |
--slave /usr/bin/llvm-mc llvm-mc /usr/bin/llvm-mc-"${version}" \ | |
--slave /usr/bin/llvm-nm llvm-nm /usr/bin/llvm-nm-"${version}" \ | |
--slave /usr/bin/llvm-objdump llvm-objdump /usr/bin/llvm-objdump-"${version}" \ | |
--slave /usr/bin/llvm-ranlib llvm-ranlib /usr/bin/llvm-ranlib-"${version}" \ | |
--slave /usr/bin/llvm-readobj llvm-readobj /usr/bin/llvm-readobj-"${version}" \ | |
--slave /usr/bin/llvm-rtdyld llvm-rtdyld /usr/bin/llvm-rtdyld-"${version}" \ | |
--slave /usr/bin/llvm-size llvm-size /usr/bin/llvm-size-"${version}" \ | |
--slave /usr/bin/llvm-stress llvm-stress /usr/bin/llvm-stress-"${version}" \ | |
--slave /usr/bin/llvm-symbolizer llvm-symbolizer /usr/bin/llvm-symbolizer-"${version}" \ | |
--slave /usr/bin/llvm-tblgen llvm-tblgen /usr/bin/llvm-tblgen-"${version}" | |
update-alternatives \ | |
--install /usr/bin/clang clang /usr/bin/clang-"${version}" "${priority}" \ | |
--slave /usr/bin/clang++ clang++ /usr/bin/clang++-"${version}" \ | |
--slave /usr/bin/clangd clangd /usr/bin/clangd-"${version}" \ | |
--slave /usr/bin/asan_symbolize asan_symbolize /usr/bin/asan_symbolize-"${version}" \ | |
--slave /usr/bin/c-index-test c-index-test /usr/bin/c-index-test-"${version}" \ | |
--slave /usr/bin/clang-check clang-check /usr/bin/clang-check-"${version}" \ | |
--slave /usr/bin/clang-cl clang-cl /usr/bin/clang-cl-"${version}" \ | |
--slave /usr/bin/clang-cpp clang-cpp /usr/bin/clang-cpp-"${version}" \ | |
--slave /usr/bin/clang-format clang-format /usr/bin/clang-format-"${version}" \ | |
--slave /usr/bin/clang-format-diff clang-format-diff /usr/bin/clang-format-diff-"${version}" \ | |
--slave /usr/bin/clang-include-fixer clang-include-fixer /usr/bin/clang-include-fixer-"${version}" \ | |
--slave /usr/bin/clang-offload-bundler clang-offload-bundler /usr/bin/clang-offload-bundler-"${version}" \ | |
--slave /usr/bin/clang-query clang-query /usr/bin/clang-query-"${version}" \ | |
--slave /usr/bin/clang-rename clang-rename /usr/bin/clang-rename-"${version}" \ | |
--slave /usr/bin/clang-reorder-fields clang-reorder-fields /usr/bin/clang-reorder-fields-"${version}" \ | |
--slave /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-"${version}" \ | |
--slave /usr/bin/clang-change-namespace clang-change-namespace /usr/bin/clang-change-namespace-"${version}" \ | |
--slave /usr/bin/clang-apply-replacements clang-apply-replacements /usr/bin/clang-apply-replacements-"${version}" \ | |
--slave /usr/bin/clang-doc clang-doc /usr/bin/clang-doc-"${version}" \ | |
--slave /usr/bin/clang-extdef-mapping clang-extdef-mapping /usr/bin/clang-extdef-mapping-"${version}" \ | |
--slave /usr/bin/clang-include-cleaner clang-include-cleaner /usr/bin/clang-include-cleaner-"${version}" \ | |
--slave /usr/bin/clang-linker-wrapper clang-linker-wrapper /usr/bin/clang-linker-wrapper-"${version}" \ | |
--slave /usr/bin/clang-move clang-move /usr/bin/clang-move-"${version}" \ | |
--slave /usr/bin/clang-offload-packager clang-offload-packager /usr/bin/clang-offload-packager-"${version}" \ | |
--slave /usr/bin/clang-pseudo clang-pseudo /usr/bin/clang-pseudo-"${version}" \ | |
--slave /usr/bin/clang-refactor clang-refactor /usr/bin/clang-refactor-"${version}" \ | |
--slave /usr/bin/clang-repl clang-repl /usr/bin/clang-repl-"${version}" \ | |
--slave /usr/bin/clang-scan-deps clang-scan-deps /usr/bin/clang-scan-deps-"${version}" \ | |
--slave /usr/bin/clang-tblgen clang-tblgen /usr/bin/clang-tblgen-"${version}" \ | |
--slave /usr/bin/find-all-symbols find-all-symbols /usr/bin/find-all-symbols-"${version}" \ | |
--slave /usr/bin/lldb lldb /usr/bin/lldb-"${version}" \ | |
--slave /usr/bin/lldb-server lldb-server /usr/bin/lldb-server-"${version}" \ | |
--slave /usr/bin/lldb-argdumper lldb-argdumper /usr/bin/lldb-argdumper-"${version}" \ | |
--slave /usr/bin/lldb-instr lldb-instr /usr/bin/lldb-instr-"${version}" \ | |
--slave /usr/bin/lld llb /usr/bin/lld-"${version}" \ | |
--slave /usr/bin/lld-link lld-link /usr/bin/lld-link-"${version}" \ | |
--slave /usr/bin/FileCheck FileCheck /usr/bin/FileCheck-"${version}" | |
} | |
register_clang_version "$1" "$2" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment