GraphvizをCygwin上でコンパイルする

Graphviz というか dot を Cygwin 上でコンパイルしてみた。 何となれば Doxygen で関数の呼び出しグラフを作成するため。

Windows 版の DoxygenWindows 版の Graphviz を使えば良さそうなものだが、 Doxygen からフィルタとして Doxygen-Filter-Perl (Perl スクリプト) を使いたいのに、 PerlCygwin 版しかインストールしていないため。 というか 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

と、ここまで結構苦労して試行錯誤したのだが、 よくよく考えてみたら、 DoxygenPerl の関数呼び出しグラフはサポートしていなかった。