From: nobu.nakada@... Date: 2002-08-12T19:58:04+09:00 Subject: [ruby-dev:17980] Re: [ruby-cvs] ruby/ext: * bignum.c (rb_big_cmp): use dbl2big() for Floats, instead of なかだです。 At Mon, 12 Aug 2002 07:39:10 +0000, matz wrote: > matz Mon, 12 Aug 2002 07:39:10 +0000 > > Modified files: > ruby/ext: > extmk.rb.in @@ -709,4 +709,5 @@ def extmake(target) end end + $static = $target if $static if File.exist?("./Makefile") if $static これだと、targetとディレクトリ名が違うものはリンクされなくなり ます。extconf.rbでtargetを変更したからといって、ディレクトリ名 まで変わるわけではありません。$extlistの要素はディレクトリ名と targetのペアのはずです。この二つは違うものでもありえるのに(実際 にtk/tkutil.soでは別)、強制的に同じにしてしまうのはまずいのでは。 逆にInit_とtarget、featureは必ず一致しなければならないはずです。 それと、ビルドディレクトリのext/Setupを変更してもext/extinit.c がなぜか更新されないと思ったら、最初に読み込むとき以外は常に $top_srcdirのほうを見に行ってます。 Index: extmk.rb.in =================================================================== RCS file: /cvs/ruby/src/ruby/ext/extmk.rb.in,v retrieving revision 1.34.2.34 diff -u -2 -p -r1.34.2.34 extmk.rb.in --- extmk.rb.in 12 Aug 2002 07:40:39 -0000 1.34.2.34 +++ extmk.rb.in 12 Aug 2002 10:14:11 -0000 @@ -632,5 +632,5 @@ def extmake(target) if $static_ext.size > 0 || !File.exist?("./Makefile") || - older("./Makefile", "#{$top_srcdir}/ext/@setup@") || + older("./Makefile", $setup) || older("./Makefile", "#{$topdir}/ext/extmk.rb") || older("./Makefile", "#{$top_srcdir}/ext/#{target}/makefile.rb") || @@ -647,5 +647,4 @@ def extmake(target) end end - $static = $target if $static if File.exist?("./Makefile") if $static @@ -696,4 +695,5 @@ for setup in ["@setup@", "#{$top_srcdir} $static_ext[target] = true end + $setup = setup f.close break @@ -738,5 +738,5 @@ if $extlist.size > 0 \tInit_%s();\n\ \trb_provide(\"%s.so\");\n\ -", t, s) +", t, t) $extobjs += "ext/" $extobjs += f @@ -747,5 +747,5 @@ if $extlist.size > 0 end - if older("extinit.c", "#{$top_srcdir}/ext/@setup@") + if older("extinit.c", $setup) f = open("extinit.c", "w") f.printf "void Init_ext() {\n" @@ -762,5 +762,5 @@ if $extlist.size > 0 Dir.chdir ".." - if older(ruby, "#{$top_srcdir}/ext/@setup@") or older(ruby, miniruby) + if older(ruby, $setup) or older(ruby, miniruby) rm_f ruby end -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦