まつもと ゆきひろです

In message "[ruby-dev:6786] mkmf.rb have_library の振る舞い"
    on 99/05/13, Hisakuni FUJIMOTO <hisa / imasy.or.jp> writes:

|  よしだむさんのXMLモジュールを作ろうとして失敗したので気づいたのです
|が、have_libraryの仕様(期待される振る舞い)が
|
|  関数名が省略されたとき、ライブラリがあればtrue
|  関数名が指定されたとき、ライブラリがその関数を持っていればtrue
|  それ以外はfalse
|
|だとすると、1.3.3のmkmf.rbのhave_libraryは期待に反して下のように動きま
|す。最初にhave_libraryが呼ばれたときにcacheされた結果で、関数の有無に
|かかわらず、以降のhave_libraryの戻り値が決まってしまうようです。

えーと,これはちょっと違ってて have_library() の仕様は

  ライブラリがあればtrue

です.関数名はhave_libraryに対するヒントのつもりです.ですか
ら,ライブラリがあればなにがなんでも true を返す現在の仕様は
意図されたものなんです.

関数の存在チェックのためにはあらためて have_func() を呼んで
ください.

|  v1_3_1_990225版のmkmf.rbで試しても同じ結果になりました。1.2.5の
|mkmf.rbでは期待どおりに動きます。

あれえ? 1.2.5でも同じ挙動のはずだけどな.キャッシュの読み込
みに失敗してるんだろうか?
                                まつもと ゆきひろ /:|}