debian には gcc-4.0 や gcc-3.4 などのパッケージが用意されている.これらのパッケージは共存出来るようにちゃんんと prefix を付けた形でコンパイルされていて
$ export CC=gcc-4.0 $ export CXX=gcc-4.0
などと環境変数を設定することで,コンパイラを簡単に切り替えることもできる.また,デフォルトで利用されるgcc,つまり /usr/bin/gcc は /usr/bin/gcc-3.3 へのシンボリックリンクになっている.
しかしなぜか alternative には対応していない.もったいない.という経緯で,コンパイラへのリンクを切り替えるスクリプトを作成した.こんな感じ
#!/bin/sh VER=$1 case "$VER" in 3.3) ;; 4.0) ;; 3.4) ;; *) echo "supported versions are 3.3, 3.4 and 4.0" exit -1; esac BINDIR=/usr/bin cd $BINDIR for x in {gcc,gccbug,gcov,i*-linux-gcc,cpp,i*-linux-cpp,g77,g++}; do [ -L $x ] && rm $x ln -vs $x-$VER $x done
リンクは
を更新するようにした.ちなみに, i386-linux-gcc なども正しく切り替えておかないと ./configure が正しく コンパイラを選択できないので注意.