What's up with the windows headers?

Jonathan M Davis jmdavisProg at gmx.com
Sat Dec 29 16:49:11 PST 2012


On Sunday, December 30, 2012 00:32:18 Stewart Gordon wrote:
> On 28/12/2012 04:57, Jonathan M Davis wrote:
> > On Thursday, December 27, 2012 17:44:09 Stewart Gordon wrote:
> >> On 27/12/2012 13:52, Jonathan M Davis wrote:
> <snip>
> 
> >>> We're not supporting anything older than XP, but we're still
> >>> supporting XP, so whatever is done with the bindings needs to be in
> >>> line with that.
> >> 
> >> Are you referring to DMD or to the D language as a whole?  And where is
> >> the official statement?
> > 
> > I am referring to dmd, druntime, and Phobos. It was agreed upon by the
> > Phobos devs in the newsgroup and/or in discussions in github pull
> > requests, so it's essentially official, but we've never actually put it
> > in the changelog or officially announced it in any way. I believe that it
> > happened when we explicitly removed all of the Win9x support a while
> > back.
> 
> <snip>
> 
> Thinking about it, we need to consider what third-party compiler vendors
> are going to do.  A standardised set of versions for all D compilers to
> use would be desirable.  Moreover, these third parties might want to use
> our bindings as well and thereby avoid duplication of effort.

Third parties would typically take druntime and make whatever minimal tweaks 
they need to make it work with their stuff. That's what gdc and ldc do.

> But what is the oldest version of Windows we can reasonably expect
> anybody who writes a D2 compiler to want to support?  Getting rid of the
> Win9x support would simplify things considerably, but maybe we should
> still make Win2000 the default target version.  While it would seem
> silly to default to targeting a version that we officially don't
> support, it would make our bindings more portable and encourage Windows
> programmers to write portable code.  If that makes sense.
> 
> But this does suggest that, if nonetheless Walter decrees that the
> bindings distributed with DMD shall have XP as the minimum target
> version, meeting all of the objectives I've covered would mean creating
> a fork of the bindings project....

We specifically decided not to support Win2K. It requires extra effort that we 
don't want to go to, and almost no one uses it anymore. XP isn't even going to 
be supported by Microsoft for all that much longer. I think that it's just 
asking for trouble to try and support anything older than XP. It's extra effort 
for little-to-no gain. I don't know why you'd bother. And IIRC, Phobos already 
uses at least one function which does not exist in Win2K. So, while you can 
certainly make it all work on older versions of Windows if you really want to, 
you're fighting an uphill battle. I would expect any bindings added to druntime 
to be done with the idea that they're for XP or newer rather than trying to 
support pre-XP at all.

- Jonathan M Davis


More information about the Digitalmars-d mailing list