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