The future of the WindowsAPI bindings project

Jonathan M Davis jmdavisProg at gmx.com
Sun May 13 13:50:03 PDT 2012


On Sunday, May 13, 2012 16:07:09 Stewart Gordon wrote:
> 3. Windows 9x support has been officially discontinued in the D2 line. 
> Indeed, it's been reported that programs compiled with recent DMD2 versions
> won't run under Win9x.  Keeping in the versioning for Win9x enables those
> D1 programmers that remain to write stuff that runs under Win9x.  But it
> does complicate the code quite a bit, and D1 will be discontinued at the
> end of the year anyway.
> 
> On this basis, what should we do?  Indeed, what exactly is D2's official
> minimum supported version of Windows?  Me, NT4 or 2000?

There is no "officially supported" version of Windows whatsoever. We used to 
have specific workarounds for issues with missing functions on Win9x, but they 
needlessly complicated code for something that almost no one needs, so we 
removed them, making it so that we don't work with Win9x anymore. Most stuff 
appears to work with Win2K, but apparently portions of std.datetime won't, 
because for some reason TzSpecificLocalTimeToSystemTime was added in WinXP 
(even though SystemTimeToTzSpecificLocalTime was around prior to that), and 
some portions of WindowsTimeZone (and therefore some portions of LocalTime and 
SysTime on Windows) rely on it. So currently, if you want _everything_ to work 
in druntime and Phobos, you're going to need at least WinXP.

Regardless of what actually works though, we have _never_ had an _officially_ 
supported verison. It's just been a case of "what works works," and when 
someone complained about something not working with an older version of 
Windows, we've generally tried to make it work.

- Jonathan M Davis


More information about the Digitalmars-d mailing list