Summary: | [GTK][OSX] JavaScriptCore fails to build on older versions of OS X due to CF_AVAILABLE usage | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Jeremy Huddleston Sequoia <jeremyhu> | ||||||
Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | commit-queue, ggaren, keith_miller, mark.lam, msaboff, philip.chimento, saam | ||||||
Priority: | P2 | ||||||||
Version: | WebKit Nightly Build | ||||||||
Hardware: | Mac | ||||||||
OS: | OS X 10.11 | ||||||||
See Also: |
https://bugs.webkit.org/show_bug.cgi?id=126433 https://bugs.webkit.org/show_bug.cgi?id=157574 |
||||||||
Bug Depends on: | |||||||||
Bug Blocks: | 126492 | ||||||||
Attachments: |
|
Description
Jeremy Huddleston Sequoia
2016-01-04 17:31:45 PST
Actually, the issue seems to be that WebKitAvailability.h is guarded by: #if defined(__APPLE__) && !defined(BUILDING_GTK__) And thus has no effect when building webkit-gtk for some reason. Why was that done? This regression was caused by: commit e47eb45c6bcb88b853858eb0a3aaecbbdcc3aa38 Author: mcatanzaro@igalia.com <mcatanzaro@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc> Date: Mon Oct 12 17:59:45 2015 +0000 webkit-gtk 2.3.3 fails to build on OS X - Conflicting type "Fixed" https://bugs.webkit.org/show_bug.cgi?id=126433 Patch by Philip Chimento <philip.chimento@gmail.com> on 2015-10-12 Reviewed by Philippe Normand Don't include CoreFoundation.h when building the GTK port. * Source/JavaScriptCore/API/WebKitAvailability.h: Add !defined(BUILDING_GTK__) to defined(__APPLE__). git-svn-id: http://svn.webkit.org/repository/webkit/trunk@190862 268f45cc-cd09-0410-ab3c-d52691b4dbfc Odd, that change looks fine to my eyes, and we should be getting: #define CF_AVAILABLE(_mac, _ios) out of WebKitAvailability.h. Something isn't adding up. I need to take a closer look at this. The idea was that we wouldn't include CoreFoundation.h even if it was available, when building WebKitGTK, because some types included from CF conflicted with other types in WebKitGTK. I don't quite understand what's going wrong with that change. Based on the other build warnings (redefinition of the macro), CF is getting included elsewhere as well. In some cases, the ordering works out, but in this case, it doesn't. I think a better approach might be to include it and then redefine the macro. Gonna give that a test tomorrow. Created attachment 269059 [details]
patch
Yep, that did the trick. Patch attached.
Created attachment 269158 [details]
Updated patch with ChangeLog entry
Comment on attachment 269158 [details] Updated patch with ChangeLog entry Clearing flags on attachment: 269158 Committed r195184: <http://trac.webkit.org/changeset/195184> All reviewed patches have been landed. Closing bug. |