From: WATANABE Hirofumi Date: 2000-06-27T10:00:57+09:00 Subject: [ruby-dev:10126] Re: configure.in わたなべです. Tadayoshi Funaba writes: :なぜか、1.5 の configure が失敗するようになりました。ぱっとみ、eval す :るように変更されているようで、このあたりがあやしいような気がしますが、 :よくわかりません。 えっと, なぜ sitedir を sitedir='${prefix}/lib/ruby/site_ruby' にしたかというと rbconfig.rb が CONFIG["sitedir"] = "/usr/local/lib/ruby/site_ruby" となってしまうのがいやだったからなんです. #それで eval が必要になってしまいました. CONFIG["prefix"] を書き換えても変化しないし. で, 今は sitedir="${prefix}/lib/ruby/site_ruby" に戻ってるけど, eval はそのままというのが原因かなあ. でなんでこんなことしたかというと fake_i386-cygwin.rb という ファイルを用意して, こんな感じで書いとけば cross-compile し た環境でも拡張ライブラリを make できるからです. ruby -rfake_i386-cygwin.rb -e extconf.rb --with-foo-dir=/usr/local/cygwin みたいに. この場合の cygwin 版 ruby は make install DESTDIR=/install/i386-cygwin でインストールしてあります. ARCH = /fake_(.*).rb/.match(__FILE__)[1] DESTDIR = '/install/' + ARCH $:.collect! do |x| x.sub(/^/, DESTDIR).sub(RUBY_PLATFORM, ARCH) end class Object remove_const :RUBY_PLATFORM RUBY_PLATFORM = ARCH if defined? PLATFORM remove_const :PLATFORM PLATFORM = ARCH end CROSS_COMPILING = true remove_const :ARCH end -- わたなべひろふみ