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