[webkit-dev] OSX: Linking to custom build resorts to system version...

Nikolay Tsenkov nikolay at tsenkov.net
Mon Nov 23 06:01:21 PST 2015


I’ve tried to load the framework through dlopen, but I still can’t get it to work. I’ve posted a question on stackoverflow <http://stackoverflow.com/questions/33867086/why-doesnt-dlopen-work-with-a-custom-build-of-webkit-framework>, specifically for that.
Here is my fork of the webkit repo on github, with a single commit of mine <https://github.com/nicroto/webkit/commit/309358b78007205fb1f41cd464be3d08b7a9b279> on top of a custom branch (daw). I’ve synced (rebased with latest master) this morning.

Can someone, please, help me out?

Nikolay Tsenkov

> On Nov 11, 2015, at 12:06 PM, Nikolay Tsenkov <nikolay at tsenkov.net> wrote:
> Hello,
> First of all, thanks for the awesome OSS software that WebKit is!
> I need some help with linking to a fresh build of WebKit.framework on OS X:
>  - I am building a modified version of WebKit.framework (my changes are in WebCore and WebKit projects) on OS X 10.11, but I am not able to use that framework in another project - somehow the project always resorts to the default system WebKit.framework.
> Setup:
>  - OS X 10.11.0 (just saw there is 10.11.1 available, but haven’t installed it yet)
>  - System Integrity Protection (SIP) disabled (I couldn’t build when ON)
> Changes:
>  - (Gist) I am making a version of the WebView (the legacy one, the single-process model) which can be used in DAW plugin, exposing API for rendering the audio, settings the sampling rate, not rendering to the audio hardware directly, etc.
>  - (Specific)
> 	 - (WebCore) -Replaced- AudioDestinationMac with AudioDestinationDaw;
> 	 - (WebCore) -Add- DawStateSingleton which exposes the custom destination node to the WebView;
> 	 - (WebKit) -Modify- WebView to include a new constructor and couple of new methods:
> - (instancetype)initWithFrame:(NSRect)frame samplingRate:(float)samplingRate frameName:(NSString *)frameName groupName:(NSString *)groupName;
> - (void)setDawSamplingRate:(float)samplingRate;
> - (void)renderAudio:(int) numberOfFrames bufferList:(AudioBufferList*) bufferList;
> In a new project, I am trying to use the new WebView. If I don’t link to WebKit.framework, of course, the build fails because it can’t find the framework. But if I link to the custom build (the WebView header is the new one, I’ve checked) in run time the app breaks with “-[WebView initWithFrame:samplingRate:frameName:groupName:]: unrecognized selector sent to instance” from which I infer it’s using the system version of the WebView.
> I’ve tried to inspect how the MiniBrowser project correctly is referring to the new build, but I don’t see how the linking is happening…
> Could someone help me out with this?
> Please, accept my apologies, if there is something simple that I’ve missed.
> Regards,
> Nikolay Tsenkov

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-dev/attachments/20151123/4b92cec2/attachment.html>

More information about the webkit-dev mailing list