On Wednesday, 25 January 2012 at 19:16:34 UTC, Jonathan M Davis
wrote:
The level of support for the Windows API in druntime and Phobos
is pretty low. As I understand it, Windows users are pretty
much forced to use
http://www.dsource.org/projects/bindings/browser/trunk/win32 if
they need comprehensive Win32 API bindings. druntime seems to
be trying to define all of the OS-specific stuff like that, but
on top of it missing much of it, in the case of the Win32 API,
that's a _lot_ of functions, and I don't know if we want to put
that much in druntime. So, the question is, how do we want to
support the Win32 API in druntime and Phobos?
Do we want to put all of the Win32 API bindings in druntime? If
not, then do we want to put them in Phobos? Or do we just want
to send Windows developers to a 3rd party library like the
Win32 bindings project on dsource? Given that they're OS
bindings, I would _think_ that we'd want them in druntime, but
I don't know.
I support putting all public domain modules from the Win32
bindings project into Druntime.
The entirety of the Windows API modules (headers in C) and
accompanying import libraries are an integral part of The Windows
SDK. There is no obvious finer-grained separation of modules, so
including only a part of them would need to be done on mostly
subjective decisions.
The only non-public-domain modules are the DirectX headers (which
don't belong in Druntime either way), and WinSock modules, which
are "Portions Copyright (c) 1980, 1983, 1988, 1993 The Regents of
the University of California. All rights reserved." and
"Portions Copyright (c) 1993 by Digital Equipment Corporation."