Skip to content

New setup with "shared utils" dynamically loadable libs and plugin selection in configure

Until now, when plugins shared some code, they would each copy the shared code into its own plugin file. This would make it easy to build the plugins and decide at install time which one you wanted to install, but it would also make the overall size larger (due to the copy) and also break support for multiple plugins trying to create objects of the same type (GType system would complain).

Fix the setup, by creating new 'shared' utils modules that are loaded always before the plugins.

Also, we will now force all symbols of a plugin to be resolved before the plugin is loaded (i.e. disabling 'lazy' loading). It's better to avoid loading a plugin all together than having a runtime crash due to missing symbols.

The build setup is also updated to allow disabling specific plugins or to disable all and enable only some. E.g.:

$ ./configure                \
     --disable-all-plugins   \
     --enable-plugin-generic \
     --enable-plugin-zte ...

$ ./configure \
     --disable-plugin-generic \
     --disable-plugin-zte ...
Edited by Aleksander Morgado

Merge request reports