[webkit-dev] Compile WebKit as an embedded framework

Krapfl, Adam Adam.Krapfl at pearson.com
Tue Apr 29 10:15:05 PDT 2008


My company writes a Java application that uses the WebKit.framework.
The framework is called through a jnilib library compiled in xcode.
This has worked fine for a number of years.  Recently we've had some
problems because of changes Apple has pushed to the framework through
Safari updates.  3.1 was especially problematic for us.  Design issues
aside, we would like to embed the open source version of the framework
into our application.  This has a number of benefits to us, including
simplified installation (admin rights not required...all components
self-contained), independence of Apple release schedules, predictable
environments to test against.

 

My understanding of the open source webkit project is that we have
rights to deploy the framework with our application, and in reading
postings and documentation, that embedding is not a difficult process.
I can only assume that it's my understanding of XCode and apple projects
that is falling short.

 

At this point I have downloaded a few releases of the webkit project
from svn.  All compiled fine, so we proceeded with the 3.0 codebase.
The only modifications I made was to change the Installation Directory
for all four projects to "@loader_path\Frameworks".  We did some initial
tests using @executable_path, but they didn't seem to work.  We assumed
this to be an issue with the fact that it's a Java bundle, or the fact
that webkit is being called through a jnilib sitting outside of the
application bundle (but still in our app install directory).

 

I'm testing this by renaming the system framework
(/System/Library/Frameworks/WebKit.framework), and after compiling my
jnilib, renaming the WebKitBuild directory of my webkit projects.  Doing
this, I'm fairly confident that the WebKit.framework IS being referenced
using my relative path.  The problem I'm running into is that the other
frameworks (WebCore, JavaScriptCore, and possibly JavaScriptGlue), do
NOT work from this relative path.  If I put the WebKitBuild directory
back, and only rename the WebKit.framework within WebKitBuild, I can
successfully execute my app.  This tells me (hopefully), that I'm using
WebKit from a relative path, but WebCore and JavaScriptCore are being
referenced from their original location.

 

Again, I'm sure this is a silly mistake I've made due to lack of
understanding.  I'm under the impression that what I'm doing is
possible.  Could someone point me in the right direction?

 

Thank you.

 

-Adam.


**************************************************************************** 
This email may contain material confidential to
Pearson.  If you were not an intended recipient, 
please notify the sender and delete all copies. 
We may monitor email to and from our network. 
****************************************************************************
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.webkit.org/pipermail/webkit-dev/attachments/20080429/7b357cd0/attachment-0001.html


More information about the webkit-dev mailing list