Hello,
I recently did some gcc visibility-related stuff to most of the libraries
we have.
With this, we can avoid exporting unnecessary dynamic symbols.
Take liblxqt for example, after using the gcc visibility trick, number of
the exported symbols decreased by 50% (about 1000).
This not only make the file size smaller, it also speed up runtime dynamic
linking and symbol name resolution and make loading faster.
I did not touch libqtxdg since it's more complicated.
Other libs already received the treatment and the result was generally good.
About lxqt-panel, I'd like to make building plugins outside the lxqt-panel
source tree possible. These requires several changes.
1. lxqt-panel should be split into lxqt-panel and liblxqt-panel. All
classes/functions used by the plugins should be in liblxqt-panel.
2. BuildPlugin.cmake should be reworked and create LxQtPanel-config.cmake,
which is installable.
3. Install plugin API headers
About #1, making core plugin API its own library liblxqt-panel is needed.
Though without this back-linking from the plugins to the executable still
works, it's not portable.
After these are done, we can develop plugins outside the lxqt-panel source
tree. So other third parties can develop lxqt panel plugins as well. We can
also develop some distro-specific panel plugins, such as libindicator
plugin for ubuntu.
I haven't start doing this since Александр Соколов knows this much better
than me, and also your comments and suggestions are needed.
Cheers!
------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
Lxde-list mailing list
Lxde-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxde-list