I get this error when doing the linking step for WebCore on Mac: Ld /Volumes/HDD/NonPerforce/WebKit/WebKitBuild/b110352new/Debug/WebCore.framework/Versions/A/WebCore normal x86_64 cd /Volumes/HDD/NonPerforce/WebKit/Source/WebCore setenv MACOSX_DEPLOYMENT_TARGET 10.8 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -dynamiclib -L/Volumes/HDD/NonPerforce/WebKit/WebKitBuild/b110352new/Debug -F/Volumes/HDD/NonPerforce/WebKit/WebKitBuild/b110352new/Debug -F/System/Library/Frameworks/Carbon.framework/Frameworks -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks -F/System/Library/Frameworks/CoreServices.framework/Frameworks -filelist /Volumes/HDD/NonPerforce/WebKit/WebKitBuild/b110352new/WebCore.build/Debug/WebCore.build/Objects-normal/x86_64/WebCore.LinkFileList -Xlinker --no-demangle -exported_symbols_list /Volumes/HDD/NonPerforce/WebKit/WebKitBuild/b110352new/Debug/DerivedSources/WebCore/WebCore.LP64.exp -install_name /System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Versions/A/WebCore -mmacosx-version-min=10.8 -lsqlite3 -lobjc -lANGLE -allowable_client WebCoreTestSupport -sub_library libobjc -umbrella WebKit -allowable_client WebKit2 -framework IOSurface -stdlib=libc++ -fobjc-link-runtime -framework Accelerate -framework ApplicationServices -framework AudioToolbox -framework AudioUnit -framework Carbon -framework Cocoa -framework CoreAudio -framework IOKit -framework JavaScriptCore -licucore -lobjc -lxml2 -lz -framework OpenGL -framework QuartzCore -framework SystemConfiguration -single_module -compatibility_version 1 -current_version 537.33 -o /Volumes/HDD/NonPerforce/WebKit/WebKitBuild/b110352new/Debug/WebCore.framework/Versions/A/WebCore Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_DOMCSSHostRule", referenced from: objc-class-ref in DOMCSS.o "__ZN7WebCore13JSCSSHostRule14finishCreationERN3JSC12JSGlobalDataE", referenced from: __ZN7WebCore13JSCSSHostRule6createEPN3JSC9StructureEPNS_17JSDOMGlobalObjectEN3WTF10PassRefPtrINS_11CSSHostRuleEEE in JSCSSRuleCustom.o "__ZN7WebCore13JSCSSHostRule14getConstructorEPN3JSC9ExecStateEPNS1_14JSGlobalObjectE", referenced from: __ZN7WebCore33jsDOMWindowCSSHostRuleConstructorEPN3JSC9ExecStateENS0_7JSValueENS0_12PropertyNameE in JSDOMWindow.o "__ZN7WebCore13JSCSSHostRule15createPrototypeEPN3JSC9ExecStateEPNS1_14JSGlobalObjectE", referenced from: __ZN7WebCore15getDOMStructureINS_13JSCSSHostRuleEEEPN3JSC9StructureEPNS2_9ExecStateEPNS_17JSDOMGlobalObjectE in JSCSSRuleCustom.o "__ZN7WebCore13JSCSSHostRule6s_infoE", referenced from: __ZN7WebCore15getDOMStructureINS_13JSCSSHostRuleEEEPN3JSC9StructureEPNS2_9ExecStateEPNS_17JSDOMGlobalObjectE in JSCSSRuleCustom.o __ZN7WebCore13JSCSSHostRule15createStructureERN3JSC12JSGlobalDataEPNS1_14JSGlobalObjectENS1_7JSValueE in JSCSSRuleCustom.o __ZN3JSC12allocateCellIN7WebCore13JSCSSHostRuleEEEPvRNS_4HeapEm in JSCSSRuleCustom.o "__ZN7WebCore13JSCSSHostRuleC1EPN3JSC9StructureEPNS_17JSDOMGlobalObjectEN3WTF10PassRefPtrINS_11CSSHostRuleEEE", referenced from: __ZN7WebCore13JSCSSHostRule6createEPN3JSC9StructureEPNS_17JSDOMGlobalObjectEN3WTF10PassRefPtrINS_11CSSHostRuleEEE in JSCSSRuleCustom.o ld: symbol(s) not found for architecture x86_64
Created attachment 191407 [details] Patch
Created attachment 191410 [details] Patch
Created attachment 191444 [details] Patch
Created attachment 191923 [details] Patch
Please wait for approval from timothy@apple.com (or another member of the Apple Safari Team) before submitting because this patch contains changes to the Apple Mac WebKit.framework public API.
Comment on attachment 191923 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=191923&action=review > Source/WebCore/bindings/objc/PublicDOMInterfaces.h:924 > +#if defined(ENABLE_SHADOW_DOM) && ENABLE_SHADOW_DOM > +@interface DOMCSSHostRule : DOMCSSRule WEBKIT_VERSION_1_3 > +@property(readonly, retain) DOMCSSRuleList *cssRules; > +- (unsigned)insertRule:(NSString *)rule index:(unsigned)index AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER; > +- (void)deleteRule:(unsigned)index; > +@end > +#endif This should not be added to PublicDOMInterfaces.h at this time. It should be SPI (in PrivateHeaders) for now.
I've managed to build WK + Mac + Shadow yesterday only with the modified build files (so no symbol exported and no new API). I guess changing only the build files should be sufficient.
(In reply to comment #7) > I've managed to build WK + Mac + Shadow yesterday only with the modified build files (so no symbol exported and no new API). > I guess changing only the build files should be sufficient. Yes, touching PublicDOMInterfaces.h is only needed to make a header/method public.
Created attachment 192634 [details] Patch
Comment on attachment 191923 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=191923&action=review Thank you for reviewing. >> Source/WebCore/bindings/objc/PublicDOMInterfaces.h:924 >> +#endif > > This should not be added to PublicDOMInterfaces.h at this time. It should be SPI (in PrivateHeaders) for now. I see. I reverted this change.
Comment on attachment 192634 [details] Patch Clearing review flag on patches from before 2014. If this patch is still relevant, please reset the r? flag.
This file is gone now.