May 22, 2014
On 22 May 2014 16:28, Joakim via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
> On Thursday, 22 May 2014 at 06:16:54 UTC, Rainer Schuetze wrote:
>>
>> I recently considered making a pull request, but noticed an include dependency that failed to work for another PR, and got distracted. The updated compiler patches are here: https://github.com/rainers/dmd/tree/coff32
>
> I think this is a really important pull for win32 support, still the most widely used platform on which D is available.  Not everybody has the source for outside libraries or the time and inclination to recompile it to OMF using the Digital Mars toolchain.  I think it would really help D to get this pull in soon.

Yeah, it's a gigantic hole, and your work looks like it's almost there.

Do you have any idea about the x64 SSE support and supporting that on x86 as well? Difficult? Practical?
May 22, 2014
On Wednesday, 21 May 2014 at 03:45:42 UTC, Temtaime wrote:
> Yes, DMD uses ld on linux. It's OK because there is no other
> linker. And it's system's default. Everybody(almost) have GCC.

It's still an external tool, without which dmd can't work.

> But on windows.. MSVS is external IDE and toolset.

Do you want the windows dmd installed to download and install msvc automatically for you?
May 22, 2014
On Thursday, 22 May 2014 at 06:28:14 UTC, Joakim wrote:
> On Thursday, 22 May 2014 at 06:16:54 UTC, Rainer Schuetze wrote:
>> I recently considered making a pull request, but noticed an include dependency that failed to work for another PR, and got distracted. The updated compiler patches are here: https://github.com/rainers/dmd/tree/coff32
> I think this is a really important pull for win32 support, still the most widely used platform on which D is available.  Not everybody has the source for outside libraries or the time and inclination to recompile it to OMF using the Digital Mars toolchain.  I think it would really help D to get this pull in soon.

How would it work? Will it link D code with snn, msvcrt or both?
May 22, 2014
On Thursday, 22 May 2014 at 07:45:17 UTC, Kagamin wrote:
> On Thursday, 22 May 2014 at 06:28:14 UTC, Joakim wrote:
>> I think this is a really important pull for win32 support, still the most widely used platform on which D is available.  Not everybody has the source for outside libraries or the time and inclination to recompile it to OMF using the Digital Mars toolchain.  I think it would really help D to get this pull in soon.
>
> How would it work? Will it link D code with snn, msvcrt or both?

Why would you need snn at that point?  It's an OMF library.  You'd do the same as Win64, use msvcrt.
May 22, 2014
Ah, ok, but druntime and phobos are compiled to link with snn, which has functions absent in msvcrt like snvprintf and long double math functions.
May 22, 2014
On 22 May 2014 20:37, Kagamin via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
> Ah, ok, but druntime and phobos are compiled to link with snn, which has functions absent in msvcrt like snvprintf and long double math functions.

That doesn't seem to bother Win64...
May 22, 2014
On 21/05/2014 05:34, Manu via Digitalmars-d wrote:
> On 21 May 2014 13:45, Temtaime via Digitalmars-d
> <digitalmars-d@puremagic.com> wrote:
>> Yes, DMD uses ld on linux. It's OK because there is no other
>> linker. And it's system's default. Everybody(almost) have GCC.
>>
>> But on windows.. MSVS is external IDE and toolset. Some people
>> yes they uses MinGW.
>> Why ? MSVS has some disadvantages for me for example it's poor
>> C++11 support. So it's useless in my work.
>>
>> So for compile 64 app with DMD one must download dmd(~20 MB) and
>> install MSVS(~2 GB).
>> I think dmd should work out of the box isn't it ?
>
> It's still the standard on the platform. Interoperation with other
> libraries/code typically demands MSVC compatibility.
> I don't know how any large-scale Windows developers can avoid this
> practical reality?
>
> On the plus side, there is a recent push to get Clang/LLVM properly
> compatible with MSVC. When that happens, we should be able to rely on
> Clang+LDC for all windows needs.
>
>
>> And what about other compilers ?
>> Latest LDC for example uses 064 frontend.
>>
>> It's outdated for me because of bugs. I cannot ever compile my
>> app now with it.
>> With GDC it's alto difficult to get luck.
>
> Poke the GDC/LDC guys? It would certainly be nice if those toolchains
> were more reliably up-to-date, but the sad truth is, those who use
> MinGW on windows are in the severe minority, so there's probably not
> so much motivation.
>

LDC on MingW doesn't seem to support debugging at all, and that's because of a LLVM issue, not LDC, so it doesn't matter how much LDC is up to date or not. According to Kai, "LLVM on MinGW is not very well tested."

I had better hopes for GDC, and did poke the GDC guys (even put a bounty up - not that I think that amount of money would make any significant difference - it was more to show I really cared about this issue). But it seems GDC on Windows is not properly supported either (news://news.digitalmars.com:119/lkdnrr$j43$1@digitalmars.com). It's not just an issue of build scripts and compiling binary releases, as I initially thought.

Like you said, those like me, who use MinGW on Windows seem to be a severe minority.

Having Clang/LLVM support MSVC toolchain would be great. And it would be *magnificent* if that included LLDB support! The reason I prefer MinGW on Windows is so that I can use a half-decent, open-source debugger.

-- 
Bruno Medeiros
https://twitter.com/brunodomedeiros
May 22, 2014
With VS2013 installed, I had an issue with the DMD installer's
config. mspdb*.dll are located in VC/bin, not VC/bin/x86_amd64,
and using -m64 caused a linker error. Adding %VCINSTALLDIR%\bin
to sc.ini's PATH fixed the problem and produced a working hello
world with -m64.
May 22, 2014
On 23 May 2014 01:45, Anonymous via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
> With VS2013 installed, I had an issue with the DMD installer's config. mspdb*.dll are located in VC/bin, not VC/bin/x86_amd64, and using -m64 caused a linker error. Adding %VCINSTALLDIR%\bin to sc.ini's PATH fixed the problem and produced a working hello world with -m64.

The installer needs to be updated to be aware of VS2013's pathing. Bug it?
May 22, 2014

On 22.05.2014 09:04, Manu via Digitalmars-d wrote:
> On 22 May 2014 16:28, Joakim via Digitalmars-d
> <digitalmars-d@puremagic.com> wrote:
>> On Thursday, 22 May 2014 at 06:16:54 UTC, Rainer Schuetze wrote:
>>>
>>> I recently considered making a pull request, but noticed an include
>>> dependency that failed to work for another PR, and got distracted. The
>>> updated compiler patches are here:
>>> https://github.com/rainers/dmd/tree/coff32
>>
>> I think this is a really important pull for win32 support, still the most
>> widely used platform on which D is available.  Not everybody has the source
>> for outside libraries or the time and inclination to recompile it to OMF
>> using the Digital Mars toolchain.  I think it would really help D to get
>> this pull in soon.
>
> Yeah, it's a gigantic hole, and your work looks like it's almost there.
>
> Do you have any idea about the x64 SSE support and supporting that on
> x86 as well? Difficult? Practical?
>

I don't know, will have to look into that. I always wondered why it isn't supported by x86 to start with.