From: nobu.nakada@... Date: 2002-10-24T02:21:44+09:00 Subject: [ruby-dev:18573] Re: avoid substituting $(s) in a template of LIBPATHFLAG なかだです。 At Wed, 23 Oct 2002 22:16:04 +0900, Ryo HAYASAKA wrote: > > 早坂@北陸先端です. > > NetBSD では, LIBPATHFLAG が " -L%1$s -Wl,-R%1$s" となるんですが, 下の > diff の gsub のところで " -L%1$(s) -Wl,-R%1$(s)" に置き換えられてしま > うので, 文法エラーとなってしまうようです. すいません、確認洩れでした。 これは"$$"という形でエスケープするようにしたつもりだったんです が、御指摘通りconfig.statusから変換するときの処理とconfigure.in でのエスケープ自体を忘れてました。 これでどうでしょうか。 Index: configure.in =================================================================== RCS file: /cvs/ruby/src/ruby/configure.in,v retrieving revision 1.148 diff -u -2 -p -r1.148 configure.in --- configure.in 21 Oct 2002 16:09:08 -0000 1.148 +++ configure.in 23 Oct 2002 17:05:28 -0000 @@ -780,5 +780,5 @@ if test "$with_dln_a_out" != yes; then if test "$rb_cv_binary_elf" = yes; then LDFLAGS="-Wl,-export-dynamic" - LIBPATHFLAG=' -L%1$s -Wl,-R%1$s' + LIBPATHFLAG=' -L%1$$s -Wl,-R%1$$s' fi rb_cv_dlopen=yes ;; Index: mkconfig.rb =================================================================== RCS file: /cvs/ruby/src/ruby/mkconfig.rb,v retrieving revision 1.25 diff -u -2 -p -r1.25 mkconfig.rb --- mkconfig.rb 21 Oct 2002 14:17:44 -0000 1.25 +++ mkconfig.rb 23 Oct 2002 17:17:16 -0000 @@ -40,5 +40,5 @@ File.foreach "config.status" do |line| next if $so_name and /^RUBY_SO_NAME$/ =~ name v = " CONFIG[\"" + name + "\"] = " + - val.gsub(/\$\{?(\w+)\}?/) {"$(#{$1})"}.dump + "\n" + val.gsub(/\$(?:\$|\{?(\w+)\}?)/) {$1?"$(#{$1})":$&}.dump + "\n" if fast[name] v_fast << v -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦