objc/objc-runtime.h does not exist on iOS. In fact on OSX, the entire contents of this include is #include <objc/runtime.h> #include <objc/message.h> In order to build for iOS, one must either alter the installed SDK or alter wtf/Functional.h. Altering the SDK is incorrect. Here's a diff from Safari-536.26 branch: diff --git a/Source/WTF/wtf/Functional.h b/Source/WTF/wtf/Functional.h index 48d9f32..ffff2d4 100644 --- a/Source/WTF/wtf/Functional.h +++ b/Source/WTF/wtf/Functional.h @@ -33,7 +33,8 @@ #if PLATFORM(MAC) && COMPILER_SUPPORTS(BLOCKS) #include <Block.h> -#include <objc/objc-runtime.h> +#import <objc/runtime.h> +#include <objc/message.h> #endif namespace WTF {
Looks like a reasonable change, but why #import for one and #include for the other?
And if you want to do this, then lets replace all uses of objc-runtime.h with either one or both of the other two headers.
(In reply to comment #2) > And if you want to do this, then lets replace all uses of objc-runtime.h with either one or both of the other two headers. Sounds reasonable.
Someone want to create a patch? Jeremy?
Created attachment 176101 [details] Patch
Comment on attachment 176101 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=176101&action=review Looks good to me. The mac EWS hasn't completed, but I assume you probably already did the Apple Mac and iOS builds locally. > Source/WebKit/mac/Carbon/HIWebView.mm:1169 > + if (wtfObjcMsgSend<BOOL>(resp, @selector(validateUserInterfaceItem:), proxy)) Cool! I didn't know about this template.
(In reply to comment #6) > (From update of attachment 176101 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=176101&action=review > > Looks good to me. The mac EWS hasn't completed, but I assume you probably already did the Apple Mac and iOS builds locally. I'll wait for the EWS to complete. I just did the Mac build locally on MountainLion. It's possible older OSes might break but the fix for such breakage should be easy enough. Thanks for the review.
Mac EWS seems broken. I'll land this patch shortly (with slightly updated ChangeLogs).
Committed r135882: <http://trac.webkit.org/changeset/135882>