TAR/Ruby、libtar、autoconf

http://storehouse.sakura.ne.jp/viewvc/viewvc.cgi/tarruby/?root=svn
このところ、ヒマを見つけてはTAR/Rubyのコードをカリカリと書いている。(とりあえず開いて閉じるところまではできた)

TAR/Rubylibtarのラッパーなのだが、このlibtarはEncapというよく知らないパッケージシステムをサポートしていたり*1チェックサムの計算に間違いがあるっぽかったりと、どことなくマイナー感が漂っているので*2、TAR/Rubyではlibtarを含めるようにしている。

そうすると困ったのがautoconfまわりで、autoconfでやっていることをどうやってextconf.rbに持ってくるかとうんうん悩んで、結局、extconf.rbでconfigureを呼ぶようにした。

困ったところをいくつか上げてみると…

  • autoconfのマクロがない
    • AC_HEADER_STDCとかAC_HEADER_MAJORとか
  • AC_CHECK_TYPESに変わるものがない
  • autoconfの代わりにソースを生成できない(.xxx.in→.xxx)
    • config.hだけならまだ大丈夫だけど

…とかとかとか。

結局、それなりに複雑なことをやろうとすると、別途共有ライブラリをインスコするか、configureを呼ぶしかないのかな…というのがとりあえずの結論。Google先生に聞いてみても同じようなことで困っている人はいないようだった。Ming/Rubyの最新版なんかMingと一緒に配布されているけど、その辺どうしているのかなぁ?


追記
debianで「apt-cache search libtar」したらあっさり見つかった。それなりに使われてる?

*1:あまり知られていない…と思うけど

*2:失礼 > 作者さん。APIの設計はわりと好きです