お手元の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 -afFsngovw --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ディレクトリ内で上記のコマンドを実行します.

解析ページへのアクセス

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

感想

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