I want the Ruby distribution include win32_popen library.
I’ll vote for that.
Btw, is there any reason why the win32_popen method is named distinctly?
Could it be integrated so that the same popen3 calls would work on
windows and other platforms?
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.
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.
···
=========
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 ;))
I distributed a dll made to run with Ruby 1.6 → 1.9 on
Windows only called ___.so and in the FAQ is:
“There’s no dll in the zip file.”
“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.
At Fri, 14 May 2004 12:33:49 +0900,
daz wrote in [ruby-talk:100233]:
I distributed a dll made to run with Ruby 1.6 → 1.9 on
Windows only called ___.so and in the FAQ is:
“There’s no dll in the zip file.”
There should be msvcrt-ruby19.dll
Actually, suffixes are not important for Windows kernel itself,
just userland programs (Exporler, cmd.exe, etc) mind them. So
you can execute viruses have non-.exe suffixes.
At Fri, 14 May 2004 12:33:49 +0900,
daz wrote in [ruby-talk:100233]:
I distributed a dll made to run with Ruby 1.6 → 1.9 on
Windows only called ___.so and in the FAQ is:
“There’s no dll in the zip file.”
There should be msvcrt-ruby19.dll
They can use their own version of Ruby. I find their runtime
from the return address on the stack and map the few Ruby calls
that I need via GetProcAddress().
(They could have bccwin32-ruby17.dll or others)