GraphvizをCygwin上でコンパイルする
Graphviz というか dot を Cygwin 上でコンパイルしてみた。 何となれば Doxygen で関数の呼び出しグラフを作成するため。
Windows 版の Doxygen と Windows 版の Graphviz を使えば良さそうなものだが、 Doxygen からフィルタとして Doxygen-Filter-Perl (Perl スクリプト) を使いたいのに、 Perl は Cygwin 版しかインストールしていないため。 というか Active Perl を使えば良さそうなものだが、 仕事用のマシンなのでインストールするのに申請を出さなければならないのが面倒くさかった。 閑話休題。
まずは Graphviz のサイトからソースコードをダウンロードしてきます。 後はコマンドライン (もちろんコマンドプロンプトではなく、 Cygwin のターミナル) で以下を実行します。
./configure --disable-shared --enable-static
出来上がった Makefile を一部編集します。
vi lib/gd/Makefile
libgvgd_C_la_LIBADD =
という行をみつけて -liconv
を追加します。
次のような行になります。
libgvgd_C_la_LIBADD = -liconv
つまり Graphviz 自前の gd ライブラリをリンクする時に iconv ライブラリをリンクするようにするわけですね。
あとはライブラリと、dot だけを make します。
( cd lib ; make ) ( cd cmd/dot ; make )
dot 以外も make しても良さそうですが、 今回は dot だけを make するようにしました。 他のコマンドが正常に make できるかどうかは確認していません。
最後に dot を PATH
の通ったところにコピーします。
cp cmd/dot/dot_static.exe /usr/local/bin ln -s /usr/local/bin/dot_static.exe /usr/local/bin/dot.exe
と、ここまで結構苦労して試行錯誤したのだが、 よくよく考えてみたら、 Doxygen は Perl の関数呼び出しグラフはサポートしていなかった。