cc を gcc または clang に切り替える動作をする。次に gcc のバージョンの切り替えの設定で gcc のバージョンを切り替える。つまり、上の設定で gcc が選択されているとき、下の設定で選択された gcc のバージョンが実行されるという形になる。
sudo update-alternatives
--install /usr/bin/gcc gcc /usr/bin/gcc-8 80
--slave /usr/bin/c++ c++ /usr/bin/g++-8
--slave /usr/bin/g++ g++ /usr/bin/g++-8
--slave /usr/bin/cpp cpp /usr/bin/g++-8
--slave /usr/bin/gfortran gfortran /usr/bin/gfortran-8
--slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-8
--slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-8
--slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-8
--slave /usr/bin/gcov gcov /usr/bin/gcov-8
--slave /usr/bin/gcov-dump gcov-dump /usr/bin/gcov-dump-8
--slave /usr/bin/gcov-tool gcov-tool /usr/bin/gcov-tool-8
--slave /usr/bin/ld ld /usr/bin/x86_64-linux-gnu-ld
sudo update-alternatives
--install /usr/bin/gcc gcc /usr/bin/gcc-9 90
--slave /usr/bin/c++ c++ /usr/bin/g++-9
--slave /usr/bin/g++ g++ /usr/bin/g++-9
--slave /usr/bin/cpp cpp /usr/bin/g++-9
--slave /usr/bin/gfortran gfortran /usr/bin/gfortran-9
--slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-9
--slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-9
--slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-9
--slave /usr/bin/gcov gcov /usr/bin/gcov-9
--slave /usr/bin/gcov-dump gcov-dump /usr/bin/gcov-dump-9
--slave /usr/bin/gcov-tool gcov-tool /usr/bin/gcov-tool-9
--slave /usr/bin/ld ld /usr/bin/x86_64-linux-gnu-ld
sudo update-alternatives
--install /usr/bin/gcc gcc /usr/bin/gcc-10 100
--slave /usr/bin/c++ c++ /usr/bin/g++-10
--slave /usr/bin/g++ g++ /usr/bin/g++-10
--slave /usr/bin/cpp cpp /usr/bin/g++-10
--slave /usr/bin/gfortran gfortran /usr/bin/gfortran-10
--slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-10
--slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-10
--slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-10
--slave /usr/bin/gcov gcov /usr/bin/gcov-10
--slave /usr/bin/gcov-dump gcov-dump /usr/bin/gcov-dump-10
--slave /usr/bin/gcov-tool gcov-tool /usr/bin/gcov-tool-10
--slave /usr/bin/ld ld /usr/bin/x86_64-linux-gnu-ld
gcc と同様に clang のバージョンの切り替え設定もしようと思っていたが、一部のファイルのインストールに失敗し用意できていないので、今回は見送り。ちなみに、現在インストール済みの clang は version 10 のみである。