RESOLVED FIXED 126232
[GTK] [CMake] Convenience libraries that export API should be compiled with --whole-archive on Unix
https://bugs.webkit.org/show_bug.cgi?id=126232
Summary [GTK] [CMake] Convenience libraries that export API should be compiled with -...
Martin Robinson
Reported 2013-12-25 10:59:15 PST
CMake doesn't automatically add --whole-archive when linking convenience libraries, so we need to add it to the linker command line manually. Without the flag, the linker will trim unused symbols from the final shared object.
Attachments
Patch (2.89 KB, patch)
2013-12-26 16:12 PST, Martin Robinson
no flags
Martin Robinson
Comment 1 2013-12-26 16:11:56 PST
An example of this issue for me is that after linking, $ objdump -T lib/libwebkitgtk-3.0.so | grep webkit_dom_css_value_get_type does not show any output. With this change, I see: 0000000001fdefc0 g DF .text 0000000000000090 Base webkit_dom_css_value_get_type This change may seem a bit mysterious, but I've confirmed that libtool (which isn't used in the CMake build) does this as well.
Martin Robinson
Comment 2 2013-12-26 16:12:39 PST
Martin Robinson
Comment 3 2013-12-29 10:46:26 PST
Comment on attachment 220037 [details] Patch Clearing flags on attachment: 220037 Committed r161121: <http://trac.webkit.org/changeset/161121>
Martin Robinson
Comment 4 2013-12-29 10:46:29 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.