なかだです。

At Sun, 10 Aug 2008 21:34:54 +0900,
Yusuke ENDOH wrote in [ruby-dev:35811]:
> 1.9 では st.h や util.h などが ruby/st.h などに移動しているために、
> #include "st.h" としている拡張ライブラリが軒並みビルドできません。
> 
> 移動した理由を知らないのですが、これは拡張ライブラリ側で対処すべき
> 問題でしょうか。もしそうだとしたら、1.8 でも 1.9 でもビルドできる
> 拡張ライブラリはどうやったら書けるでしょうか。

util.hやconfig.hなど、いかにも他とかぶりそうなものを分離するため
です。

At Sun, 10 Aug 2008 22:32:49 +0900,
Tadashi Saito wrote in [ruby-dev:35812]:
> 自分も拡張ライブラリを書いており、一時期悩んでたのですが、
> ・extconf.rbの中、<ruby/ruby.h>があるかどうかで1.9か否かをチェックして

1.9のruby.hでは、HAVE_RUBY_RUBY_Hなどが定義済みです。

こんなところでどうでしょうか。include/ruby/backwardは2.0までには
削除するということで。


Index: lib/mkmf.rb =================================================================== --- lib/mkmf.rb (revision 18470) +++ lib/mkmf.rb (working copy) @@ -1758,5 +1758,7 @@ def init_mkmf(config = CONFIG) $CPPFLAGS = with_config("cppflags", arg_config("CPPFLAGS", config["CPPFLAGS"])).dup $LDFLAGS = with_config("ldflags", arg_config("LDFLAGS", config["LDFLAGS"])).dup - $INCFLAGS = "-I$(arch_hdrdir) -I$(hdrdir) -I$(srcdir)" + $INCFLAGS = "-I$(arch_hdrdir)" + $INCFLAGS << " -I$(hdrdir)/ruby/backward" unless $extmk + $INCFLAGS << " -I$(hdrdir) -I$(srcdir)" $DLDFLAGS = with_config("dldflags", arg_config("DLDFLAGS", config["DLDFLAGS"])).dup $LIBEXT = config['LIBEXT'].dup Index: include/ruby/backward/util.h =================================================================== --- include/ruby/backward/util.h (revision 0) +++ include/ruby/backward/util.h (revision 0) @@ -0,0 +1,6 @@ +#if defined __GNUC__ +#warning use "ruby/util.h" instead bare "util.h" +#elif defined _MSC_VER +#pragma message("warning: use \"ruby/util.h\" instead bare \"util.h\"") +#endif +#include "../../ruby/util.h" Property changes on: include/ruby/backward/util.h ___________________________________________________________________ Name: svn:keywords + Author Id Revision Name: svn:eol-style + LF Index: include/ruby/backward/st.h =================================================================== --- include/ruby/backward/st.h (revision 0) +++ include/ruby/backward/st.h (revision 0) @@ -0,0 +1,6 @@ +#if defined __GNUC__ +#warning use "ruby/st.h" instead bare "st.h" +#elif defined _MSC_VER +#pragma message("warning: use \"ruby/st.h\" instead bare \"st.h\"") +#endif +#include "ruby/st.h" Property changes on: include/ruby/backward/st.h ___________________________________________________________________ Name: svn:keywords + Author Id Revision Name: svn:eol-style + LF
-- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦