On Thursday, December 27, 2012 11:14:15 Stewart Gordon wrote: > On 27/12/2012 04:04, Jonathan M Davis wrote: > <snip> > > > And if I understand correctly, that's what the Windows API > > > > project does, which should make the transition easier. But there's still > > the issue of figuring out how to do that transition (like figuring out > > how to deal with versions and the like), and someone still has to do it. > > You mean how to give people who currently _are_ using > core.sys.windows.windows the time to convert their code to use the full > bindings? If win32.* is just migrated to core.sys.windows.* then the > problem is solved, since win32.windows is a module that imports > everything. The only thing they'll need to do is do away with the extra > Windows API declarations they've put into their projects, in order to > avoid symbol conflicts.
Transition is one issue, but as I understand it, there are issues with regards to versioning, since druntime tends assume that there's only one OS version instead of asking you which version you're building for, whereas the actual Windows API uses a fair number of ifdefs which use macros, and the Windows API project has tried to emulate that. I think that there were also issues with different approaches for handling types between what the Windows API project is doing now and what druntime is doing now. I'd have to go look through previous discussions on that to really know what was going on though. I don't deal with Windows much and am prone to forgetting some of those types of details. Regardless of what the issues are though or how much effort is involved in merging the Windows API project into druntime, someone has to take the time to sort it all out and do it, and no one has done that yet. We need a D developer who's familiar with Windows and the Windows API project to step up and take it on. The last, major discussion on it was instigated by someone interested in doing it, but they weren't all that familiar with the Windows side of things, and it seems that some issues weren't properly sorted out, so it never went anywhere. - Jonathan M Davis
