xinclude-scanner

最近はドキュメント書きがメインなので、またBoostBookネタです。
BoostBookは<boostbook>をルートとする一つのXMLですが、通常は適当な単位でファイルを分割し、XIncludeで一つのツリーにまとめます。
BoostBookのスタイルシートを適用する際、bjamはXIncludeによるファイルの依存関係を調べ、1ファイルでも変更があれば全体を変換し直します。
実際に使用していると、この依存関係チェックが効く場合と、効かない場合があって、少々気になっていました。
リビルドされるように毎回touchしていたのですが、それも面倒なので調べてみることに。
デバッグオプションをつけてbjamを実行したところ、

C:\path-to-dir\hamigaki\doc>bjam -d3
(中略)
time    --           ../../libs/audio/doc/audio.xml: Thu Jul 06 21:45:43 2006
make    --            ../../libs/audio/doc/audio.xml
make    --            ../../libs/audio/doc/audio.xml
time    --            ../../libs/audio/doc/audio.xml: unbound
make    --             introduction.xml
make    --             introduction.xml
time    --             introduction.xml: missing
made    stable         introduction.xml
(以下略)

どうも相対パスに対する相対パスの扱いがXIncludeと違うような気がします。
依存関係を調べる処理は、C++ソース用の処理と部分的に共通化されているので、簡単には直せなさそうな感じです。