In message <199910091441.XAA01180 / mail2.os.xaxon.ne.jp>
kjana / os.xaxon.ne.jp writes:

> mkmf.rb は extconf.rb で$LDFLAGS を設定してやってもリンクテストでそれ
> を使ってくれないので,ちょっと手抜きして「これはあるんだ」とばかりに
> have_library を true で置き換えて Makefile を作らせたりしました (^^;

これ,後のパッチのようにすると

    >ruby extconf.rb --with-slang-dir=/usr/opt

なんかでうまくいくようになるのですが.

termcap ライブラリの必要性のチェックを先にやってやらないと,
have_library でのリンクに失敗して,結局「libslang リンクできない」とい
われてしまいます.


ついでに slang = with_config("slanglib") とでもして,

    if slang and have_library(slang, "SLsmg_refresh")
      $LDFLAGS += " -l"+slang
    end

なんていれておくと --with-slanglib=slang122jp なんてやって,
libslang122.jp.{so,a} をリンクできるようになるから嬉しいかもしれない.

# バイナリディストリビューションが主な環境だと,結構あると思う.パッケー
# ジの関係で違うバージョンの物をファイル名変えて収録してある,とか.


-- 
柳川和久 @ 東大阪市 . 大阪府                               October 25, 1999
「世界平和のために働くってすてきなことね」
「とは言うもののお嬢様は座っているだけですが」

--- extconf.rb.old Mon Sep 13 23:24:20 1999 +++ extconf.rb Mon Oct 25 23:10:38 1999 @@ -3,17 +3,9 @@ $CFLAGS="-I"+ENV['HOME']+"/include -I/usr/include/slang -I/usr/include -I/usr/local/include/slang -I/usr/local/include" $LDFLAGS="-L"+ENV['HOME']+"/lib -L/usr/lib -L/usr/local/lib" +dir_config("slang") + if have_header("slang.h") - if have_library("slang-ja", "SLsmg_refresh") - $LDFLAGS += " -lslang-ja" - elsif have_library("slang", "SLsmg_refresh") - $LDFLAGS += " -lslang" - else - exit - end - for f in ["kanji_pos", "IsKcode"] - have_func(f) - end termcap = true for mid in %w(lib share share/lib local/lib) if FileTest.directory? "/usr/#{mid}/terminfo" @@ -23,6 +15,16 @@ end if termcap $libs += " -ltermcap " + end + if have_library("slang-ja", "SLsmg_refresh") + $LDFLAGS += " -lslang-ja" + elsif have_library("slang", "SLsmg_refresh") + $LDFLAGS += " -lslang" + else + exit + end + for f in ["kanji_pos", "IsKcode"] + have_func(f) end create_makefile("slanglib") end