WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
67852
[Meta] Master bug for replacing exp symbol files with header export defines
https://bugs.webkit.org/show_bug.cgi?id=67852
Summary
[Meta] Master bug for replacing exp symbol files with header export defines
Kevin Ollivier
Reported
2011-09-09 09:46:03 PDT
Much of the JSCore API is private (anything outside of Source/JavaScriptCore/API), and as such, it is project policy to declare these APIs with private linkage so they are not accessible by JSCore clients. However, some of those private APIs are still needed by WebCore, WebKit, DRT, etc., and so we cannot use private linkage inside JSCore for these APIs. To solve this problem, currently ports which build JSCore as a shared library must manually maintain largely similar (but not the same, as there are port-specific APIs) compiler-specific export symbol files that contain a list of symbols needed by other components of WebKit. However, this is inefficient, because each export symbol file must be changed each time a common symbol is exported (or removed from export). I came across this myself when the wx's lack of export symbol file caused problems running DRT. This bug intends to resolve this issue by having the exported symbols declared in the JSCore headers directly, so that a single change updates all ports. This will reduce overall maintenance and make it easier for other ports to build JSCore as a shared library without increasing the maintenance burden. The framework for doing this is already in JSCore, its use controlled by the WTF_USE_EXPORT_MACROS define in Platform.h, so the basic approach has already been r+ed. The next steps are as follows: 1) Add JS_EXPORT_PRIVATE / WTF_EXPORT_PRIVATE macros to any JSCore function which is needed by WebCore, DRT, etc. 2) Switch each port to using them one at a time by defining WTF_USE_EXPORT_MACROS to 1 for that port.
Attachments
Add attachment
proposed patch, testcase, etc.
Gavin Barraclough
Comment 1
2012-09-21 16:42:06 PDT
All child bugs closed & all exp files have been removed from JavaScriptCore – I believe this action is complete (yay!)
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug