On Tue Jul 9 17:37:02 2024 +0000, Elizabeth Figura wrote:
Hmm, well, it doesn't seem impossible to tweak widl output enough so that the headers match? Thing is, the IDLs are easier to read, they're smaller, they avoid bugs by using static inline helpers instead of macros, and even when the header has already been written there's been errors that come from writing by hand (e.g. bb9e54808c, 60c4fbda45). If it's not possibly going to be worthwhile, I'll drop it, though...
It's probably possible to improve the compatibility around IDLs like that. The question if it's worth it is down to subjective judgement; I'm not convinced, but I also don't spend time reading those headers, so I fully understand that you may see it differently.
Those particular headers seem fairly complete and don't see active development anymore (the last change was in 2020), so for mingw-w64 the ratio of synchronization benefits compared to the risk of a change like that feels very low. If we go ahead with this, I will probably just remove those files from the sync script, effectively forking it. It should be just fine in this case, but if other headers follow that pattern, then some widl hacks would indeed be a good idea.
(There is also a more general argument for worrying more about compatibility for Wine itself, not only for mingw-w64, but we already have similar incompatibilities in other places, so I guess others find it more acceptable than I do...)