2013/11/10 PCMan <pcman.tw@gmail.com>
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.
This is my dream and nightmare. First of all we should to improve cmake files for the libraries. I started work on it http://sourceforge.net/mailarchive/message.php?msg_id=31565649, but I don't see any interest.

Now I added Qt5 support for xdgqt, and liblxqt. The liblxqt don't buildable with Qt5, but cmake infrastructure is ready.

I'm using XXX_use files. Alternative is use cmake export/import functionality, but I don't familiar with it.In any case we should do basis for future changes. In the future we can drop XXX_use files and to add cmake export/import.
If my approach is good, lets merge my changes to the trunk. And I can continue working.
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.


You received this message because you are subscribed to the Google
Groups "Razor-qt" group.
For more options, visit this group at

You received this message because you are subscribed to the Google Groups "Razor-qt" group.
To unsubscribe from this group and stop receiving emails from it, send an email to razor-qt+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Best regards,