From: nobu.nakada@... Date: 2002-10-24T21:27:20+09:00 Subject: [ruby-dev:18578] Re: avoid substituting $(s) in a templateofLIBPATHFLAG なかだです。 At Thu, 24 Oct 2002 18:51:43 +0900, Ryo HAYASAKA wrote: > > > $&.chop とかしないと, エスケープのままになっちゃいますね. > > Config::expandのほうで$$を$にしてます。つまり、config.status中 > > の$$はConfig::MAKEFILE_CONFIGでも$$のまま、Config::CONFIGや > > mkmf.rbで作られたMakefileでの展開結果は$、というつもりです。 > > make すると > > ... > compiling curses > /home/ryoh/work/ruby/lib/mkmf.rb:223:in `%': malformed format string - %$ (ArgumentError) うむむむむ。考えが浅かったようです。mkmf.rb内部で使うものと Makefileに埋め込むものとが混在する状況で、$が衝突することの影響 をちゃんと予想できなかったのが問題でしょう。 > きちんと追っていませんが, 以下のようにするとちゃんと動くみたいです. Config::CONFIGにしてしまうと、LINK_SOやTRY_LINKなどのマクロもす べて展開されてしまいます。実行時に与えなければならないものも含 まれてたりするのでちょっとまずいです。 どうも根本的に失敗してるような気もしますが、これでとりあえずの 回避はできないでしょうか。 Index: configure.in =================================================================== RCS file: /cvs/ruby/src/ruby/configure.in,v retrieving revision 1.149 diff -u -2 -p -r1.149 configure.in --- configure.in 23 Oct 2002 17:40:14 -0000 1.149 +++ configure.in 24 Oct 2002 12:15:35 -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 ;; -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦