From: "U.Nakamura" Date: 2010-02-27T12:41:27+09:00 Subject: [ruby-dev:40513] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson アーロン宛 と、ご要望にお応えして書いておきます。 こんにちは、なかむら(う)です。 In message "[ruby-dev:40511] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson " on Feb.27,2010 10:01:24, wrote: > 2010/2/25 NARUSE, Yui : > > 成瀬です。 > > > > その後 Aaron さんから特に反応がないので ext/dl 下を巻き戻しました。 > > 再マージの際には mswin32/mswin64 でビルド出来る事が期待されます。 > > お手数ですが、メイルの先頭に、「アーロン宛」と記述して下さると、大変助かります。 > 日本語で返事を書くのは私にとってかなり時間がかかるので、頻繁に返事をしない事を先にお詫びしておきます。 > 皆さんと同じなように、私も沢山のメイルを毎日扱っていますので、今後見落としがない為にも宜しくお願いします。 > > ところで、実際にlibffiをMSVC++でコンパイルされた方はおりますか?Luis Lavena (the One-Click > installer maintainer) によると、libffiはMSVC++でコンパイルするそうです。 > >   http://twitter.com/luislavena/status/9650556934 現在リリースされているバージョン(3.0.9)のlibffiはVCをまったく サポートしていません。 以上で結論ということで話を打ち切ってもいいんですが、私もDLの libffi化を完全に否定してるわけでもないので、もうちょっと時間 をつぎ込んで調べてみると、gitリポジトリでは今年の1月16日頃に VCサポートっぽい変更が加えられています。 # ちなみに、CC(およびCPP)、LDのみcl.exeとlink.exeを使い、後は # shとかmakeとかいった関連ツールは全てcygwinあたりで用意する # ことが前提のようです。 というわけで、取ってきて試してみましたが、 * VC6ではサポートされていないコマンドラインオプションを使用 しようとするのでエラーが出て一切先に進まない * VC8でもパス区切りとしての\の扱いに問題があるようでやっぱ り先に進まない * というわけなので、x64に関しては調べる気も起きない という状況で、なんか条件をそろえて頑張ってビルドツール類をデ バッグすれば先に進めるのかもしれないけれど、現時点でこれが「 コンパイルできる」という状態であると言い切るのは無理がある、 という感じです。 しかし、別にlibffi自体をVCでコンパイルできる必要なんか全然な くて、Windowsで正しく動くlibffiのバイナリがありさえすれば、あ とはrubyの構築時に必要なファイル群(ヘッダとライブラリファイル) さえ用意可能なら問題ないと言えないこともありません。 libffiを動的リンクするならmingw版libffiのDLLからインポートラ イブラリを作りさえすればいいような気もするんですが、誰かそっ ちの方向でアプローチしてたりしませんかね? たぶん現状のlibffiのVCサポートをhack & debugした上でlibffi側 にアプローチするより、こっちの方が遥かに楽だろうと思います。 > 私も自分の上司からvisual > studioをもらえる事になったので、そうなり次第、すぐにでもテストし、その変更をコミットする予定でいますので、宜しくお願いします。 老婆心ながら、別に誰かに貰わなくてもExpress Editionならフリー で入手できますよ。 それでは。 -- U.Nakamura