Windows API Translation
Don
nospam at nospam.com
Wed Feb 9 01:25:38 PST 2011
Rainer Schuetze wrote:
>
> Matthias Pleh wrote:
>> Am 08.02.2011 22:37, schrieb Stewart Gordon:
>>> On 08/02/2011 12:25, Trass3r wrote:
>>>>> I wonder if these bindings would be suitable for inclusion in the
>>>>> core.sys.windows package?
>>>>
>>>> They definitely need to be merged.
>>>
>>> Merged? The whole point of the bindings project is that it will one day
>>> be complete. As such, it needs to _replace_ the current std.c.windows.*
>>> and core.sys.windows.*.
>>>
>>> Stewart.
>>
>> VisualD has some code for automated winapi-conversion:
>>
>> <quote>to build the necessary D translations from the Windows and
>> Visual Studio SDK</quote>
>>
>> http://www.dsource.org/projects/visuald/wiki/Build_from_source
>
> Yes, building Visual D uses a tool that machine translates about 40
> header and idl files from the Windows SDK (I tweaked it for versions
> 6.0A and 7.1A) and the full Visual Studio SDK.
>
> It filters out unused branches (mostly 64-bit), but tries to keep the
> rest similar to the original headers including comments. Preprocessor
> macros with arguments are translated to template functions. It uses
> "const" for most declaration including GUIDs, so you need to build a
> library and cannot simply import them in your project. Updating the
> import libraries needs coffimplib, implib32 does not work well enough.
>
> How well does SWIG handle the Windows API headers?
>
> Don wrote:
> > Andrej Mitrovic wrote:
> >> Btw, how up-to-date are the import libs in windows/lib that ships with
> >> DMD2? Can they be used with e.g. Win7?
> >
> > They are horribly outdated. But I have a vague recollection that Walter
> > has explicit permission from Microsoft to redistribute updated versions.
>
> If Walter not only has permission to distribute import libraries, but
> also the API header files,
I believe he does. But it was a newsgroup post many years ago, I don't
trust my memory on that.
> I could tweak it to support more of the 1200
> header files (it often needs one or two special cases per file because
> of some preprocessor magic), so it could go into the dmd distribution.
> It is probably not perfectly compatible with core.sys.windows, though.
>
> Assuming redistribution is a problem, I was planning to add some
> conversion wizard to Visual D to let the user create the files from the
> C headers and libraries.
>
> Rainer
More information about the Digitalmars-d
mailing list