なかだです。

At Tue, 19 Aug 2003 14:23:39 +0900,
Takahiro Kambe wrote:
> > > 1.8だとhave_library("wrap", nil)はhave_library("wrap")と同じ意味
> > > になるようです。
> > > また、ruby-1.6.8だとライブラリの存在のチェックは行われず、単にリ
> > > ストに追加されるだけのようです。
> 正式な機能かどうかは別として、事実上の機能の削除がされた状態なのですね。
> 
> > > みたいにすれば、ruby-1.8でも同じ挙動になりますけど、libwrapの存在
> > > をチェックしなくていいのかなあ。

やはり存在しないときにも追加してしまうのはよろしくないと思いま
す。

> > じゃ、have_library("wrap", "main")でチェックするのはどうでしょう?
> > これなら1.8も1.6も同じになるはずです。
> 単に、これだけでは、
> 
> % ruby extconf.rb
> checking for ident.h... no
> checking for tcpd.h... yes
> checking for main() in -lwrap... no
> % tail -5  mkmf.log
> # 1 "conftest.c" 2
> 
> cc -o conftest -I/usr/pkg/lib/ruby/1.6/i386-netbsdelf -O2 -fPIC -pipe   -Wl,-export-dynamic  conftest.c -lwrap -lc  -lcrypt -lm
> /usr/lib/libwrap.so: undefined reference to `allow_severity'
> /usr/lib/libwrap.so: undefined reference to `deny_severity'
> 
> となってダメでした。

他にも、Windows上のOpenGLではプロトタイプ宣言がないとリンクでき
ないという話があったりするので、have_libraryに引数を追加するほ
うがいいのかも知れません。1.6との互換性が問題ですが。

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦