[Webkit-unassigned] [Bug 68206] Ensure TestWebKitAPI works on mac, win, chromium-mac, chromium-win and chromium-linux

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Sep 15 19:23:05 PDT 2011


https://bugs.webkit.org/show_bug.cgi?id=68206


Dirk Pranke <dpranke at chromium.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fishd at chromium.org,
                   |                            |tony at chromium.org




--- Comment #2 from Dirk Pranke <dpranke at chromium.org>  2011-09-15 19:23:04 PST ---
Okay, I spent a half hour or so staring at this on the win shared build and I think you've got a couple of things to fix before this'll work.

this TestWebKitAPI target is new to me ... it looks like it is intended to be the unit test driver for c++ tests in webkit/webcore/etc.?

At any rate, it appears to be linking in both webkit and wtf, and it looks like the existing files for TestWebKitAPI are unit tests for WTF ...

Here's where the problems come up ... Chromium is only building wtf as a static library; it gets included into webkit.dll, but the WTF symbols aren't (and shouldn't be) exported from that. 

the WTF library has internal dependencies on a function called currentTime; Chromium overrides the default WTF implementation with one found in ChromiumCurrentTime. Which, unfortunately, is not built as part of wtf.lib, it's built as part of webkit.dll. 

So, wtf can't link without webkit.dll. However, there's no good way to export the CurrentTime symbol out of webkit.dll on windows in a way where the __declspec(dllexport) makes sense, without creating a compile time dependency from wtf onto webkit.

You can hack around this by including ChromiumCurrentTime.cpp and ChromiumThreading.cpp (apparently also needed) directly into the TestWebKitAPI sources list, but of course you can't call the currentTime function() without initializing webkit_support and including that as a dependency.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list