From: Koji Arai Date: 2002-09-14T02:41:55+09:00 Subject: [ruby-dev:18283] try_cpp() has a problem (lib/mkmf.rb) 新井です。 ruby 1.7.3 (2002-09-11) [mips-sysv4.2MP] でのコンパイルの話です。 おそらく http://www.ruby-lang.org/~eban/diary/200209a.html#200209083 ここらでの変更だと思うのですが、今の try_cpp のやり方がとあ る環境(それは EWS4800^^;)にとってマズイです。 EWS4800 では、cc の -o オプションの仕様が以下のようになってます(man cc より) -o pathname Specify the pathname of the final output file. This is a link editor option. Therefore, it is ignored when you specify it with the -c option. You cannot use the following suffixes for the file name specified by pathname. .c, .C, .p, .f, .F, .r, .e, .i, or .s これにより、-o conftest.i の指定を受け付けず、have_header() の結果がコンパイルエラー(というかプリプロセスエラー)になって ます。 根拠のない予想ですが、もしかすると autoconf の AC_PROG_CC_C_O にひっかかる環境は同じことになるのかもしれま せん。 とりあえず、以下のように逃げました。 --- mkmf.rb.org Tue Sep 10 18:53:04 2002 +++ mkmf.rb Fri Sep 13 22:01:32 2002 @@ -86,6 +86,9 @@ elsif /bccwin32/ =~ RUBY_PLATFORM OUTFLAG = '-o' CPPOUTFILE = '-oconftest.i' +elsif /mips-sysv4/ =~ RUBY_PLATFORM + OUTFLAG = '-o ' + CPPOUTFILE = '> conftest.i' else OUTFLAG = '-o ' CPPOUTFILE = '-o conftest.i' -- 新井康司 (Koji Arai)