On 7/23/23 13:04, LIU Hao wrote:
在 2023-07-23 18:43, Jacek Caban via Mingw-w64-public 写道:
The commit is missing some files generated from IDLs, so current tree doesn't build.

I tried building headers and regenerated all of them from IDL. It was necessary to use an up-to-date WIDL, but I didn't find any missing files..?


Those were missing: d2d1_2.h, d2d1_3.h, d2d1effects_1.h and d2d1effects_2.h and they are included from uuid.c.


Even more importantly, D2D headers have a lot of C++ features, like inline function helpers that overload virtual functions, that are not expressed in Wine IDLs. There is a reason why MS doesn't use IDLs for D2D and it's the same reason we never imported those IDLs. That makes IDLs very incompatible with Windows SDK headers. Those patches broke Firefox build in multiple ways. It should be possible to share more of D2D between Wine and mingw-w64, but not without more work, careful consideration and proper review. I feel like all of that was missing in this case.


Anyway, given that the whole series is just plain wrong, I suggest to revert it all.

OK, reverted now.


Thanks.


As Firefox is mentioned, maybe someone can test building Firefox with 73526385645ffa35c03c0d473b7eac0e00d94541 and see.


I tried wine-gecko (a Firefox 47 fork) and it failed in multiple places as expected. The main blockers are overloaded inline helpers. If anyone is interested, building wine-gecko on Linux is as easy as running ./wine/make_package from https://gitlab.winehq.org/wine/wine-gecko.git (it should be also possible to build more recent Firefox, but that's more tricky).


Jacek




_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to