Alexey Varlamov wrote:
Hi all,

Looking on HARMONY-3964 "[drlvm][build] missing MSVCR71D.DLL
dependency for debug builds", I'm surprised to realize that only GC
dlls in VM ever depend on MSVCR*.DLL, no matter release or debug.
All the rest of VM is linked against static LIBCMTD.LIB so every dll
carries it's own copy of C runtime, with independent heaps and static
data! Now it explains all that troubles with bad frees in
HARMONY-3772, and why each dll has to disable assert dialog
individually (HARMONY-4715). I've just tried fully dynamic build and
indeed all these problems are gone.

I guess why it was done so, and the only reason I could think of is
historycal. Does anyone knows other explanation? Otherwise I believe
the build must be fixed to link with MSVCRxx.DLL always. Especially as
we already redistribute them with classlib.

I agree very much that dynamic build would be much better. The only reason why it wasn't done I think is that it just wasn't easy to do this in the current ant based build system. If you can do it please go ahead and commit!

BTW don't forget about windows x86_64.

--
Gregory

Reply via email to