https://bugs.winehq.org/show_bug.cgi?id=40830
Bug ID: 40830 Summary: Conflict between kVK_RightCommand and macOS 10.12 Sierra in carbon framework Product: Wine Version: 1.9.12 Hardware: x86-64 OS: Mac OS X Status: UNCONFIRMED Severity: major Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: alexander@neilson.net.nz
Apple has added kVK_RightCommand to macOS Sierra as in the first developer beta [0]. Wine 1.9.12 fails to build through Homebrew (Not tried standalone or in MacPorts) throwing an error during build [1].
It appears that Wine added specifically this matcher to the carbon frameworks as Apple had failed to provide a default call differentiating between left and right control on the platform.
This will probably need a case test to see if the enumerator already exists on the platform and then skip defining it inside Wine's build process. Or possibly just check for version and if >=10.12 then skip that. Not sure what is preferred as the approach.
[0] - https://developer.apple.com/library/prerelease/content/releasenotes/Miscella... [1] - cocoa_window.m:48:5: error: redefinition of enumerator 'kVK_RightCommand' kVK_RightCommand = 0x36, /* Invented for Wine; was unused */ ^ /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/Carbon.framework/Frameworks/HIToolbox.framework/Headers/Events.h:276:3: note: previous definition is here kVK_RightCommand = 0x36, ^ 1 error generated. make[1]: *** [cocoa_window.o] Error 1 make: *** [dlls/winemac.drv] Error 2
Apologies if this is not formatted correctly.
Regards Alexander