From: "NARUSE, Yui" Date: 2010-02-03T13:53:36+09:00 Subject: [ruby-dev:40298] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson 成瀬です。 r26545 において dl が libffi 依存に置き換えられました。 この方向自体は妥当だと思いますし、test-allが通っているのは素晴らしいと思います。 (正確には1つ失敗しているのだが、これは置き換え前からのもの) しかし、この置き換えにより、libffi がない環境では dl が使えなくなってしまいました。 Unix 系ならば入れればいいだけなので、この点はそこまで問題だとは思いませんが、 mswin32 では現状 libffi がサポートされていません。 つまり、r26545 によって mswin32 では dl が使えなくなってしまいました。 これは問題だと思います。 対策としては、 * libffi を mswin32 にポートした上で何らかの形で配布 * mswin32 では従来の dl を使う * revert などを思いつきましたが、他にもあるかもしれません。 On Wed, Feb 3, 2010 at 10:23 AM, wrote: > tenderlove 2010-02-03 10:23:48 +0900 (Wed, 03 Feb 2010) > > New Revision: 26545 > > http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=26545 > > Log: > Wed Feb 3 10:12:09 2010 Aaron Patterson > > * ext/dl/function.c: DL::Function now uses libffi > > * ext/dl/cfunc.c (rb_dl_set_last_error): set to non static so errors > can be exposed. > > * ext/dl/closure.c: DL::Closure will now be used in place of > ext/dl/callback/*. > > * ext/dl/dl.c: legacy callbacks removed in favor of libffi > > * ext/dl/dl_converions.(c,h): used for converting ruby types to FFI > types. > > * ext/dl/callback/*: replaced by libffi callbacks. > > * ext/dl/lib/dl/callback.rb: Converting internal callbacks to use > DL::Closure > > * ext/dl/lib/dl/closure.rb: Ruby parts of the new DL::Closure object > > * ext/dl/lib/dl/import.rb: More conversion to use DL::Closure object > > * ext/dl/lib/dl/value.rb (ruby2ffi): adding private method for > DL::CPtr to ffi value conversion. > > Added files: > trunk/ext/dl/closure.c > trunk/ext/dl/dl_conversions.c > trunk/ext/dl/dl_conversions.h > trunk/ext/dl/function.c > trunk/ext/dl/lib/dl/closure.rb > trunk/test/dl/test_closure.rb > Removed files: > trunk/ext/dl/callback/depend > trunk/ext/dl/callback/extconf.rb > trunk/ext/dl/callback/mkcallback.rb > Modified files: > trunk/ChangeLog > trunk/ext/dl/cfunc.c > trunk/ext/dl/dl.c > trunk/ext/dl/dl.h > trunk/ext/dl/extconf.rb > trunk/ext/dl/lib/dl/callback.rb > trunk/ext/dl/lib/dl/func.rb > trunk/ext/dl/lib/dl/import.rb > trunk/ext/dl/lib/dl/value.rb > trunk/test/dl/test_base.rb > trunk/test/dl/test_dl2.rb > trunk/test/dl/test_func.rb > > -- NARUSE, Yui naruse@airemix.jp