まつもと ゆきひろです

In message "[ruby-dev:3731] Re: [ruby-list:11138] Re: 拡張モジュールの Makefile"
    on 98/12/02, Motoyuki Kasahara <m-kasahr / sra.co.jp> writes:

|いずれにしても、autoconf を使っている一方で、設定ファイルを手で編集し
|なければならないという部分を抱えているのは、バランスが悪いです。

これは事実ですね.で,今回問題なのは個別のマシンにライブラリ
やヘッダファイルがどこにインストールされているか知る一般的な
方法がないことですよね.まあ,標準的な場所なら探しようがあり
ますが,一般論としてはなんらかの方法で外部から教えてやらなけ
れば実現できません.

で,現状では外部から指定する方法が存在しないので,しょうがな
いからextconf.rbを直接編集する方法を選んでいるわけですね.私
はautomakeについてあまり調べてないんですが,やはりなんらかの
オプションで指定しているようですね.

となると外部からextconf.rbなどを編集することなしに指定できる
方法が提供されれば,問題は一応解消されるのかな,と感じていま
す.その方法は

|手で Makefile.in を書いた方が良いのでは? という気がしてしまいます。

よりもむしろ

|あるいは mkmf.rb 自身が --with-* や --enable-* といったオプションを
|解釈するように改造するかしないといけません。

の方が良いのかなあ,と考えてます.というのも

|ただ、extconf.rb を編集する必要をなくすなら、configure.in に
|
|    AC_OUTPUT(ext/dbm/extconf.rb.in)
|
|として extconf.rb を自動生成するか、

のような対応できるのは標準でついてくるツールだけで,後付けの
拡張ライブラリではやはりmkmf.rbのようなものが必要だからです.

  extconf.rb --with-include-dir=/usr/local/include

とかするのかなあ.あるいはExt::MakeMaker.pmのような方向性も
ありえるとは思いますが.

                                まつもと ゆきひろ /:|)