概要
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プログラム実行の設定をする必要が無いのが楽でした.解析ページを見るのが自分だけなの場合などは,この方法で十分かな.