[PC環境改善] colorgcc
colorgcc なるソフトウェアがありました.
スクリーンショットが示すように,gcc の出力にエスケープシーケンスを付加するものです.
早速インストールしてみます.
% sudo emerge colorgcc % ls -lF /usr/lib/colorgcc/bin/ 合計 0 lrwxrwxrwx 1 root root 17 6月 30 01:55 c++ -> /usr/bin/colorgcc* lrwxrwxrwx 1 root root 17 6月 30 01:55 cc -> /usr/bin/colorgcc* lrwxrwxrwx 1 root root 17 6月 30 01:55 g++ -> /usr/bin/colorgcc* lrwxrwxrwx 1 root root 17 6月 30 01:55 gcc -> /usr/bin/colorgcc* lrwxrwxrwx 1 root root 17 6月 30 01:55 i686-pc-linux-gnu-c++ -> /usr/bin/colorgcc* lrwxrwxrwx 1 root root 17 6月 30 01:55 i686-pc-linux-gnu-g++ -> /usr/bin/colorgcc* lrwxrwxrwx 1 root root 17 6月 30 01:55 i686-pc-linux-gnu-gcc -> /usr/bin/colorgcc*
なお,colorgcc 自体は短い Perl スクリプトのようです./usr/lib/colorgcc/bin にインストールされたようなので,環境変数 PATH を設定して完了です.
無事完了と思ったら... 警告メッセージの色がエラーメッセージと同じ色で出力されます.
そうです.原因は LANG=ja_JP.eucJP です.メッセージが日本語で出力されたため,colorgcc が用いた正規表現で一致しなかったのです.
colorgcc 自体を書き換えてもいいんですけど,バージョンアップの度に直すのも面倒なので,環境変数 LANG=C としてから colorgcc を呼び出すラッパースクリプトを PATH の通った場所に置くことにしました.
#!/bin/sh
LANG=C /usr/lib/colorgcc/bin/`basename $0` $*
このスクリプトのファイル名を g++ として,次はシンボリックリンクを作成します.
% ln -s g++ gcc % ln -s g++ c++ % ln -s g++ cc
まだ終わりではありません.このままではこのラッパースクリプトが無限に呼び出されてしまうので,~/.colorgccrc を編集し,呼び出すコンパイラの場所を指定します.
g++: /usr/bin/g++ gcc: /usr/bin/gcc c++: /usr/bin/c++ cc: /usr/bin/cc
これで解決しました.
トラックバック
トラックバック URI: https://www.pakunet.jp/hoge/trackback/2005063001
トラックバックはありません.