From: Masahiro TANAKA Date: 2003-09-22T20:37:38+09:00 Subject: [ruby-dev:21403] Building 1.8.0 on Solaris with Sun CC Sun CC でコンパイルが通らないという [ruby-core:1547] ですけど、以下の ようにすると問題なくコンパイルできましたので、一応お知らせしておきます。 configure.in 等の設定までできるとよいのですが、そこまで手が回らないも ので。 1. inline展開ファイルを作成 % cat > frw.il .inline flush_register_windows, 0 ta 0x03 .end ^D 2. define.h の修正してinline定義をはずす。 --- defines.h~ 2003-08-01 19:57:18 +0900 +++ defines.h 2003-08-08 20:42:12 +0900 @@ -136,6 +136,7 @@ #endif #if defined(sparc) || defined(__sparc__) +#if defined(__GNUC__) static inline void flush_register_windows(void) { @@ -147,6 +148,7 @@ asm volatile ("ta 0x03"); # endif /* trap always to flush register windows if we are on a Sparc system */ } +#endif /* __GNUC__ */ # define FLUSH_REGISTER_WINDOWS flush_register_windows() #else # define FLUSH_REGISTER_WINDOWS ((void)0) 3. inline展開を必要とするソースに対して、 frw.il を引数に加えてコンパイル。 % cc -g -I. -c eval.c frw.il % cc -g -I. -c gc.c frw.il あとは通常どおり。 田中昌宏