[webkit-dev] JavaScriptCore in Windows Applications

Eric Brunstad webkit-list at ericbrunstad.com
Wed Jun 24 08:41:46 PDT 2009


Hi Brent and all,

Oh my goodness, it compiled!  Thanks so much for all your help.

There is still an issue, however.  The point of my application is to  
generate JavaScript applications.  These applications do not  
necessarily use WebKit (they could, however) but they all use  
JavaScriptCore because they are written in JavaScript (and interact  
with objects vended by the application).  That means that I have to  
include WebKit (or at least JavaScriptCore) in all the generated  
applications.  But, the WebKit built by the Cairo port has a ton of  
DLLs that would have to be copied into each built application  
directory.  I'd much rather that only one DLL was copied. So my  
question is, is it possible to either merge DLLS or to compile all the  
source into one DLL in the first place?

Thank you ****very**** much,
Eric


On Jun 24, 2009, at 12:15 AM, Brent Fulgham wrote:

> Hi Eric,
>
> Let me try to answer your last few questions in order.   
> Unfortunately, I'm on vacation this week and don't have my Windows  
> machine available, otherwise I would have tried to get you the DLLs  
> you asked for.
>
> 1.  You *should* be able to mix/match the CFLite.lib and DLL from  
> the CallJS example and the files in the Release and Debug WebKit  
> zipfiles on my iDisk.  I generated them at the same time (or around  
> the same day) trying to get them in sync, so they should be  
> compatible.
>
> 2.  The build errors you are seeing are because there are a few  
> things missing from the WebKit SVN repository.  These are packaged  
> up in a ever-shrinking patch attached to https://bugs.webkit.org/show_bug.cgi?id=17484 
> .  Currently it patches the WebView.cpp file to exclude some  
> printing logic that I have not ported to Cairo yet, and it modifies  
> the WebCore/config.h file to instruct the Windows build includes to  
> use the Cairo/cURL support, rather than the CG/CFNetwork stuff.
>
> 3.  The following error looks like it's building the "Debug" target,  
> rather than the "Debug_Cairo" target, as the FrameCGWin.cpp file is  
> not part of the files in the Cairo build manifest (and neither are  
> the CFNetwork-based files):
>
>> FrameCGWin.cpp
>> ..\page\win\FrameCGWin.cpp(69) : error C2664:
>> 'WebCore::GraphicsContext::GraphicsContext(PlatformGraphicsContext  
>> *)' :
>> cannot convert parameter 1 from 'CGContextRef' to  
>> 'PlatformGraphicsContext
>> *'
>>       Types pointed to are unrelated; conversion requires
>> reinterpret_cast, C-style cast or function-style cast
>> FrameWin.cpp
>> PageWin.cpp
>
> [...]
>
>> ResourceLoaderCFNet.cpp
>> ..\loader\cf\ResourceLoaderCFNet.cpp(34) : error C2039:
>> 'shouldCacheResponse' : is not a member of 'WebCore::ResourceLoader'
>>       c:\cygwin\home\ericbrunstad\WebKit\WebCore\loader 
>> \ResourceLoader.h(50)
>> : see declaration of 'WebCore::ResourceLoader'
>
> I unfortunately don't have a license for Windows to run on my laptop  
> (MacBookPro), so I am somewhat limited in what I can do remotely at  
> the moment.
>
> Please make sure you are selecting the "Debug_Cairo" or  
> "Release_Cairo" build target in Visual Studio, or that you are  
> building with the command line flag "--cairo-win32" if you are using  
> "buid-webkit".
>
> Thanks,
>
> -Brent



More information about the webkit-dev mailing list