globalを使いブラウザで快適にソースコードを読む
globalとは
globalはソースコードにタグ付けをして,大規模なプロジェクトを効率的にレビューすることができるソフトウェア.
カーネルのソースコードのような大規模なものを読む時に非常に便利です.
HTMLファイルを生成しブラウザ上でソースコードを読めるようにもできます.
見た目はこんな感じ↓
導入方法
debianなら$ apt-get install global
で入ります.
centだとyumで入らないのでソースコードから入れましょうGetting GLOBAL
あと、fedoraだと$ yum install global
で入るようですね.
openSUSEでも$ zypper install global
でいけます.
使用方法
タグ付けしたいソースコードのディレクトリをsrc
として,以下のように使用します.
$ cd src $ gtags $ htags -anFf
gtagsコマンドでソース内のシンボルを収集してGTAGS, GRTAGS, GSYMS, GPATHに書き込みます.
つぎにhtagsコマンドでそれらからHTMLファイルを生成します.
htagsのそれぞれのオプションの意味は以下のとおりです.
とりあえず-anfF
でいい感じの見た目でファイルが作成されるのでおすすめです.
-a
アルファベット順に並んだの関数一覧を作成-n
行番号の付加-F
フレームを使用したページが作成される.これを外した時を試したことがないんですが,おそらく左側に出てる「DEFINITIONS」「FILES」があるかどうかの差だと思います.-f
検索フォームが作成されます.
gtags,htagsは時間がかかります.特にソースコードが大きいとかなり長時間になります.気長に待ちましょう.
htags
の実行が終わるとsrc
直下にHTML
というディレクトリができます.
HTML
ディレクトリ内にindex.html
をブラウザで開いてみれば,とりあえずソースコードがいい感じに検索とかできそうなページが出ると思います.
しかし,この時点でできることは,ファイル名をクリックしてソースコードを見ることくらいで検索はできません。
HTTPサーバを立てる
ソースコード内を検索できるようにするにはcgiを実行させる必要があります.
そのためにHTTPサーバを立てましょう.
Apacheなりnginxなり何でもいいんでHTML内のcgi-bin内のglobal.cgiを実行されるように設定してください.
今回は細かい設定方法は省略します.手こずる場合はcgiの実行方法を調べてみてください.