From: WATANABE Hirofumi Date: 2003-02-18T14:27:55+09:00 Subject: [ruby-dev:19599] Re: cpp in mkmf (Re: Problems building mysql ruby 2.4.4 on 1.8) わたなべです。 とみたまさひろ writes: > 前に MUSHA さんから添付のようなパッチをもらいました。このパッチでうま > くいくでしょうか? <省略> > -cpp = Config::expand sprintf(CPP, $CPPFLAGS, $CFLAGS, '') > +if defined? cpp_command > + cpp = Config.expand(cpp_command(CONFIG['CPPOUTFILE'])) > +else > + cpp = Config::expand sprintf(CPP, $CPPFLAGS, $CFLAGS, '') > +end > unless system "#{cpp} > confout" then > exit 1 > end これを見ててちょっと不思議に思ったんですが、 cpp = Config.expand(cpp_command(CONFIG['CPPOUTFILE'])) としてしまうと、たとえばLinuxでは gcc -E -I/usr/local/lib/ruby/1.8/i386-linux -I/usr/local/lib/ruby/1.8/i386-linux -Os -fPIC -o conftest.i conftest.c という感じになります。つまりconftest.iに出力されるので、 confoutのサイズは0になってしまうと思います。 ここは単に cpp = Config.expand(cpp_command('')) だけでいいはずです。 -- わたなべひろふみ