環境構築
Cygwin
gtags
ソースコードリーディング
htags

お手元のwindowsでソースコード解析ページ(htags)環境を構築する


概要

OSのソースコードを解析する際などに,GNU Globalを利用して,ソースコードの解析ページをブラウザで見るのが便利だったので利用していました.

しかし,会社だと勝手にWebサーバを立てるわけにもいかなかったので,ローカルマシン上に簡易にサーバ立てました.

そのときの方法をメモ程度に書きます.


環境

windows + Cygwin使います.

windows + MSYS使ってもできると思いますし,Unix系OSだとコンソール上で同様にできると思います.


構築


Cygwin上に必要なプログラムのインストール


パッケージのインストール

Cygwin上で以下のコマンドにより,必要パッケージをインストールします.

$ apt-cyg install perl tar gcc-core libncurses-devel make python


GNU Global

以下のURLから,最新のglobal(global-X.X.X.tar.gz)をダウンロードします.

http://www.gnu.org/software/global/download.html

Cygwin上で以下のコマンドを実行し,GNU Globalをインストールします.

$ tar zxf global-X.X.X.tar.gz

$ cd global-X.X.X
$ ./configure
$ make
$ make install


解析ページの作成

例として,Linuxのソースコードの解析ページを作ります.


解析したいソースコード入手

以下のURLから,Linuxのソースコード(linux-X.X.X.tar.xz)をダウンロードします.

https://www.kernel.org/

以下のコマンドを実行し,ソースコードを展開します.

$ xz -d linux-X.X.X.tar.xz

$ tar xf linux-X.X.X.tar


タグファイル,htmlファイルの作成

展開したソースコードのディレクトリ内で,以下のコマンドを実行します.(オプションは,お好みで)

$ cd linux-X.X.X

$ htags -afFIsngov --tabs 4 -t "Linux-X.X.X"

とか

$ cd linux-X.X.X

$ htags -safnowvg

とか

$ cd linux-X.X.X

$ htags -afFIsngov --tabs 8

オプションは,お好みで


CGIプログラム実行の準備

CGIプログラムが実行できるように権限を付与します.

$ pwd

~/linux-X.X.X
$ chmod 755 HTML/cgi-bin
$ chmod 755 HTML/cgi-bin/*.cgi


Webサーバの立ち上げ

htags-severを使い,簡易にWebサーバを立ち上げます.

$ pwd

~/linux-X.X.X
$ htags-server

このコマンドは,Pythonを使って,簡易にWebサーバを立ち上げています.

python2.Xが使用されるのでインストールする必要がありますが,2.X系をインストールしたくない人は以下のコマンドで,Python3.X系を使用して実現することも可能です.

$ pwd

~/linux-X.X.X
$ cd HTML
$ python3 -m http.server --cgi

解析ページは,perlのCGIプログラムが実行されるのでcgiプログラムを実行できるようにする必要があります.

このため,CGIプログラムを実行したい場合,cgi-binディレクトリが存在するディレクトリ内でPythonのコマンドを実行する必要があります.htagsを実行したディレクトリにHTMLディレクトリが作成され,その直下にcgi-binディレクトリが作成されるので,HTMLディレクトリ内で上記のコマンドを実行します.


解析ページへのアクセス

ブラウザより,以下のページにアクセスし,解析ページが表示されれば成功です.

http://localhost:8000/


感想

Webサーバを使って環境を構築する場合と比較して,CGIプログラム実行の設定をする必要が無いのが楽でした.解析ページを見るのが自分だけなの場合などは,この方法で十分かな.