いがらしです。

「[ruby-list:15686] Re: cannot install ruby-gtk into FreeBSD 2.2.x」で 、
TAKAHASHI Masayoshi <maki / inac.co.jp>さんは書きました:

> 高橋征義です。
> 
> Hiroshi Igarashi <igarashi / ueda.info.waseda.ac.jp>さん:
> > > というか、[ruby-list:13955] のpatchはどうして取り込まれなかった
> > > のでしょうか?
> > 
> > 申し訳ありませんでした。
> > $(RANLIB)が定義されない環境があるので、
> > 単にあのパッチを当てるだけではまずいんです。
> 
> なるほど、そうだったんですね。
> xmlparserの方では、expatをコンパイルする時に $(RANLIB) してた
> んで、いいかな? とも思ってたんですが、まずい場合もあるんですね。

私もxmlparserを使っているのに?  と思って見てみると
xmlparserの配布物に含まれているexpat-19990626.diffの中に
+RANLIB=ranlib
という行があるので問題にならなかったみたいです。

> > 判定方法があれば対応できると思うのですが、
> > /freebsd2/ === PLATFORM で大丈夫でしょうか?
> 
> とりあえずはそれでよさそうな気がします。試してみますね。
> # が、そんなベタなやり方でいいんでしょうか?(^^;

いくらなんでもこれは安直過ぎましたね^_^;)

もう少しまともな方法として、Configを参照して添付のパッチのように
できるんですけど……ruby本体と一緒にcompileするときに問題になります。

もっともMakefileをせこせこputsで書き出しているのを
なんとかしたいので、いずれもう少し考えた上で
extconf.rbを含めて書き直します。

> p.s. 縦書きビューア、期待してます(^_^)>五十嵐さん

ここのところ時間が取れず進んでいません。
あまり期待せずにお待ち下さい^_^;

----
五十嵐  宏  (Hiroshi IGARASHI)


--- gtk-0.20/src/makedefconst.rb Wed Jul 14 22:40:08 1999 +++ gtk/src/makedefconst.rb Wed Jul 28 03:20:27 1999 @@ -1,4 +1,5 @@ +require 'rbconfig' require 'ftools' Split="split -l 100" @@ -110,14 +111,14 @@ cfile.puts("}") makefile.puts -if /mswin32/ =~ PLATFORM +case PLATFORM +when /mswin32/ makefile.puts(" lib /OUT:\$@ \$?") else - makefile.puts(" \$(AR) -rs \$@ \$?") + makefile.puts(" \$(AR) -r \$@ \$?"); + ranlib = Config::CONFIG["RANLIB"] + makefile.puts(" -#{ranlib} $@ 2> /dev/null || true") end -makefile.puts("# if your \$(AR) don't accept -s options, test below:") -makefile.puts("# \$(AR) -r \$@"); -makefile.puts("# \$(RANLIB) \$@") makefile.close cfile.close