On Tuesday, 15 November 2016 at 23:34:34 UTC, Jonathan M Davis wrote:
On Tuesday, November 15, 2016 16:20:53 AB via Digitalmars-d wrote:
On Tuesday, 15 November 2016 at 16:00:48 UTC, kink wrote:
> It's not just the linker. You need the libs as well (static > and dynamic ones), and not just the WinSDK ones, but the > MSVCRT ones too.

I was under the impression that DMD for Windows was (meant to be) self-sufficient. I must have been misled by how it can build 32-bit applications just fine without requiring the many gigabytes of WinSDK and MSVCRT extras.

You _can_ build 32-bit applications with dmd without the Microsoft toolchain just fine. dmc and optlink should be installed with the dmd installer so that code can be compiled to 32-bit OMF and linked. You just need the Microsoft toolchain if you're compiling for 64-bit (which is only COFF) or if you want to compile to 32-bit COFF. It's unnecessary if you simply want to compile and run 32-bit programs and are willing to use OMF for the linker format. If dmd's installer is actually requiring that you install Visual Studio to compile 32-bit programs, then that's a problem. It didn't do that before, and it shouldn't need to now.

- Jonathan M Davis

That's not a good enough reason to keep using it, compared to all the reasons for it's removal. Optlink is old and bug ridden, switching to Microsoft's linker solved a bunch of misc problems I was having with D (unable to debug cause of constant crashing, mismanagement of resources like std file handles, etc...). There is no 64-bit equivalent, so you are using two different linkers, when you can simply unify it to have one. It isn't compatible with the standard format of the host OS. Most software uses 64-bit, some not even bothering with 32-bit applications. Having Visual Studio is already pretty much a requirement, if you want 64-bit (which is probably most people). Adding Visual Studio build tools in some way to the installer will ease the setup process for people that want 64-bit.

I'm for removing it completely, if not, then at the very least don't make it the default and add a switch instead.

Reply via email to