WinAPI and druntime [was: WinAPI for druntime and OpenGL for deimos]

Vladimir Panteleev vladimir at thecybershadow.net
Sun Nov 25 01:38:36 PST 2012


On Sunday, 25 November 2012 at 07:13:15 UTC, Gor Gyolchanyan 
wrote:
> So I've come to the point where I have the WinAPI modules from
> dsource.organd want to add them to druntime.
>
> Here are the issues, that need to be discussed before I can 
> send a pull
> request:
>
> 1. There is a number of version flags that are expected to be 
> specified to
> the compiler, which specifies the Windows version, Internet 
> Explorer
> version, winsock version and a bunch of other stuff. I suppose 
> these will
> go into the sc.ini under Windows, because those won't change 
> too often and
> are equivalent to linking with phobos (not necessary, but 
> provided as a
> default).

I suggest changing the code to fall back to the minimum version 
Druntime supports if none of the version flags are specified on 
the command-line. I believe that would be Windows XP at the 
moment.

> 2. There are some static libraries, which are pragma(lib, ...) 
> -ed inside
> those modules, so those libraries will have to be included to 
> the DMD
> distribution.

Agreed.

> 3. They include MinGW copyright and header comments, which I 
> don't know if
> can be submitted to druntime as is and if they can be removed 
> either.

Copyright? Last I checked almost all files, except the WinSock 
ones, are explicitly specified to be in the public domain. Please 
clarify?

> 4. They contain a special WindowsUnitTests version, which could 
> probably be
> replaced with a regular unittests or removed from the DMD 
> distribution.

There are only two blocks:
The first (w32api.d) prints some information regarding the 
targeted Windows version, I believe. I guess the code could be 
removed or left as-is.
The second (dde.d) seems to tests some struct properties. This 
can be a normal unittest.

> 5. The package to put them is to be decided, because 
> core.sys.windows
> contains druntime-specific modules whic hare not to be mixed 
> with WinAPI
> modules.

I think non-binding code should be moved out of that package. 
Other OS-specific packages do not seem to contain non-binding 
code.



More information about the Digitalmars-d mailing list