From: kjana@... (YANAGAWA Kazuhisa) Date: 1998-09-22T23:48:19+09:00 Subject: [ruby-list:9664] Re: ruby-gtk-0.11 この ruby-gtk-0.12 について,ちょっと提案. 現在の extconf.rb は LDFLAGS と CFLAGS を gtk-config をみて決定して いますよね.で,いくつか問題があると思ったわけです. 1. (たとえば FreeBSD の packages に入ってるののような)gtk-config がないシステムだとくじける. これは「失敗したらありそうな設定をしておく」ということで結構どう にでもなるのではないかと思うのです.たとえば /usr/X11R6/{lib,include} と /usr/local/{lib,include} ぐらいを設定 しておく. 2. gtk-config --libs は -L だけでなく -l もはいてくれるわけです.そ れでもってこれが LIBS の設定とかぶる.かぶるだけならまだしも -o や .o の前に挿入されるのでリンカが文句をいう. これもまあ,ちょっとした事で直りそうだな,と. --- extconf.rb.orig Tue Sep 22 22:58:57 1998 +++ extconf.rb Tue Sep 22 23:23:36 1998 @@ -1,8 +1,14 @@ require "mkmf" # may need to be changed -$LDFLAGS=`gtk-config --libs`.chomp! -$CFLAGS=`gtk-config --cflags`.chomp! +begin + $LDFLAGS, *libs = `gtk-config --libs`.chomp!.split(/(-l.*)/) + $libs = libs.join(' ')+' '+$libs + $CFLAGS = `gtk-config --cflags`.chomp! +rescue + $LDFLAGS = '-L/usr/X11R6/lib -L/usr/local/lib' + $CFLAGS = '-I/usr/X11R6/lib -I/usr/local/include' +end have_library("X11", "XOpenDisplay") have_library("Xext", "XShmQueryVersion") @@ -10,5 +16,6 @@ if have_library("glib", "g_print") and have_library("gdk", "gdk_init") and have_library("gtk", "gtk_init") + $libs = $libs.split(/\s/).uniq.join(' ') create_makefile("gtk") end あわせると,こんな感じ.もっとまともに書けるかもしれませんが. どうでしょ? # ついでに,FreeBSD では ruby そのものの make で -lxpg4 としてくれる # と gtk みたいな setlocale を使うライブラリを使っても `locale # unsuppoted. not changed' などとくどくど言われなくてすむのですが, # どうでしょ? > | 実は僕も list/dev の使い分けがよくわかってないんですが、まぁこのくらいなら > |list でもいいんじゃないかな... > > そーですね.過去にパッチ合戦の経験がありますので,そうなりそ > うでしたらdevの方へどうぞ. このぐらいだと,まあ合戦にはなりませんよね. # ruby/gtk で ppp の on/off トグルをする「だけ」のものでも書いて見よ # うと思いつつ,早一月.... (^^; =========================================================================== 柳川和久 @ 東大阪市 . 大阪府 kjana@os.xaxon.ne.jp September 22, 1998 The more haste, the less speed.