On 16/11/2016 4:58 PM, Jerry wrote:
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.
And then we'll get complaints that they need another big download just
to compile basic 32bit programs... This whole argument about making
changes is rediculas.
Unless we get explicit permission from Microsoft to distribute the parts
we needs, I think it is safe to say that Optlink stays, in fact nothing
will change.