Nobu said:
Hi,
At Fri, 14 May 2004 05:51:45 +0900,
Joel VanderWerf wrote in [ruby-talk:100179]:
I'm puzzlied, why does VC generate a .so instead of a .dll? Oh well,
ruby seems to load it with no problem.
Because nothing is prefixed to library files on Windows
traditionally, whereas "lib" for Unixes. For instance, iconv
extension library requires external DLL named iconv.dll in
common, it would introduce confusion if the ruby extension also
were have .dll suffix.
Mmm...
sqlite-ruby uses the external sqlite.dll
The extconf has:
create_makefile( "_sqlite" )
and creates _sqlite.dll internal dll (BTW: actually _sqlite.so)
In a script, we say -- require 'sqlite' ...
Ruby finds sqlite.rb (one-liner) before .dll (or .so) which says:
require '_sqlite'
_sqlite.dll uses sqlite.dll OK.
Link against _sqlite.lib or sqlite.lib OK
... no conflict ... everyone's happy.
sqlite-ruby is built safely, avoiding conflict. It's slightly
more tricky to set up, but it's invisible to the user.
=========
<duck>
With the new change, however, I can write a Ruby package called
KERNEL32 or USER32 etc. Build will safely create KERNEL32.so
and save me from trouble
)
</duck>
I distributed a dll made to run with Ruby 1.6 -> 1.9 on
Windows only called ___.so and in the FAQ is:
1) "There's no dll in the zip file."
2) "What's this ___.so" thing ?
;-)
But I don't have a problem with the new setup.
It's in the Changelog, so I was able to find the information.
daz