Summary: | [gtk] GTK JavaScriptCore needs to export symbols for JSC API and WTF | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Eric Seidel (no email) <eric> | ||||||||
Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> | ||||||||
Status: | RESOLVED FIXED | ||||||||||
Severity: | Normal | CC: | alp, aroben, ggaren, jmalonzo, mrowe | ||||||||
Priority: | P2 | Keywords: | Gtk | ||||||||
Version: | 523.x (Safari 3) | ||||||||||
Hardware: | PC | ||||||||||
OS: | OS X 10.4 | ||||||||||
Bug Depends on: | |||||||||||
Bug Blocks: | 15561, 15687 | ||||||||||
Attachments: |
|
Description
Eric Seidel (no email)
2007-10-19 20:45:56 PDT
One problem with using an exports file is that compilers on different platforms all have different means of specifying the exports file, and the same compiler on different platforms may mangle names in a different manner. The approach used within the Gtk API code is to have a #define that marks a symbol as having default visibility (eg, as being exported) when building, and to set the default symbol visibility to private. Created attachment 17521 [details]
Export API symbols in the headers
This does the job for the GTK+ port, but I'm not sure what is defined for Windows and Mac builds of JavaScriptCore, so those parts might well be wrong.
Adam?
Created attachment 17522 [details]
Update Win check and don't bother with Metrowerks
I think this still needs a Win-savvy reviewer to take a look first.
Comment on attachment 17522 [details]
Update Win check and don't bother with Metrowerks
This looks OK on the Windows side.
Created attachment 17543 [details]
Now with non-GCC support
I think we've covered Win, Mac and non-GCC now. Good to go?
Comment on attachment 17543 [details]
Now with non-GCC support
r=me
Looks fine, let's make sure to do this at a time when you can watch the buildbots to make sure it worked out ok.
See http://bugs.webkit.org/show_bug.cgi?id=16227 for updates on the Win/MSVC situation. |