[webkit-dev] Using JavaScriptCore in Win32

Oliver Hunt oliver at apple.com
Mon Aug 10 14:43:14 PDT 2009


> Dependency walker tells me that the JavaScriptCore.dll depends on
> CFLite.dll, pthreadvc2.dl, and ICUUC40.dll.  Perhaps these links are
> not all needed; now that JavaScriptCore is its own DLL, we should be
> able to get rid of pthreadvc2 (IIRC, the only reason it was kept after
> the win32 threading work was that a dll target was needed for handling
> thread shut-down.)
>
> I'm not sure if CFLite/CoreFoundation is really needed.  Their
> inclusion in the header file is no doubt the cause of your compiler
> problems, but it might just be that the CoreFoundation link library
> was left in when JavaScriptCore was made a separate DLL.
>
> Darin, do you know if CoreFoundation is really needed by
> JavaScriptCore? Or maybe Olliver would know?

Beyond the requirements of JSStringRef.h (eg. that a few types exist)  
there should not be any deliberate dependency on CF in JSC for  
anything other than platform specific behaviour, and a quick scan  
indicates that all such sites seem to have appropriate ifdef guards.

On non-CF platforms you also only want to include JavaScriptCore/ 
JavaScript.h not JavaScriptCore/JavaScriptCore.h as it is  
JavaScriptCore.h that brings in the CF APIs.  The only real concern  
beyond that is to make sure that in builds where you do not want a CF  
dependency in JSC to ensure that PLATFORM(CF) is false and that  
JSStringRefCF.cpp is not compiled.

In an ideal world that should Just Work.

--Oliver

>
> Thanks,
>
> -Brent
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev



More information about the webkit-dev mailing list