わたなべです。
mkmf.rbとextmk.rbの話題が出たので、とりあえず問題点を。
o 西山さんが何度か指摘しているextmk.rb.inとextmk.rbの関係
extmk.rb.inとextmk.rbとの依存関係がMakefileにないため、
extmk.rb.inをいじってもextmk.rbが更新されない。
この解決策としては
1) Makefile.inに依存関係を書く
というのが素直ですが、
2) 1.7ではrbconfig.rbをrequireしてるので@FOO@を
Config::CONFIG["FOO"]で置き換えてextmk.rb.in自体をなくしてしまう
3) Makefile.inに依存関係を書くが、mswin32のために用意され
てるext/configsub.rbで変換する(つまりconfig.statusでの
変換をやめる)
という案もあると思います。
わたし自身は 3) がいいかなと思ってます(1.6.xでも適用可能だし)。
o DRYの法則に反するmkmf.rbとextmk.rb
同じことを書くのは面倒。やはりextmk.rbの中でrequire 'mkmf'
できるようにすべき(create_makefileだけ別々にすればよさそう)。
o mkmf.rbのinstallとsite-install
mkmf.rbで作ったMakefileのinstallターゲットはsite-installを意
味したほうがいいのでは?
#これに関しては個人的な趣味なので問題点じゃないか。
--
わたなべひろふみ