Hi,

At Thu, 5 Jan 2006 12:38:05 +0900,
Austin Ziegler wrote in [ruby-core:07055]:
> 1. The zlib team recommends that you only compile to zlib1.dll if you
> are linking against msvcrt.dll, because of zlib's intended status as a
> "system component". As such, I am creating ruby-zlib1.dll. How can I
> tell Ruby that's the version of zlib to compile against for zlib.so?

--with-zlib=ruby-zlib1 might work, if you have ruby-zlib1.lib.

> 2. The dynamic discovery of DLLs is harder. It is possible to put
> msvcr80.dll in the Ruby bin/ directory, but it is not the recommended
> way to do it, since msvcr80.dll is intended to be an SxS
> (side-by-side) assembly. I have made modifications to the Zlib and
> OpenSSL build processes (and now pdcurses, too) to make this happen,
> but the Ruby build process is a little too... confusing to me to deal
> with. Basically, there's a link step and a post-link step. After the
> link is done, a .manifest file is generated, e.g.:
> 
>   ruby.exe
>   ruby.exe.manifest
>   msvcr80-ruby18.dll
>   msvcr80-ruby18.dll.manifest
> 
> Don't ask my *why*, but the linker doesn't give the ability to
> automatically embed the manifest in the DLL or the EXE. However, there
> is a way to do it using mt ("manifest tool").

Where's that mt command?  I've installed VC++ 2005 Express
Edition too, but can't find it anywhere.

> Without this step, the installer must install not only the .exe or
> .dll, but the .manifest file along with it. With this step, the
> installer needs be made no smarter and binaries just work the way they
> always have on Windows.

Is .manifest file really mandatory?  I don't know how it is
used, but /manifest:no linker option seems to suppress making
it.

-- 
Nobu Nakada