[vlc-devel] [PATCH 2/2] configure: split dynamic plugins from dynamic loader

Alexandre Janniaux ajanni at videolabs.io
Fri Mar 6 18:36:04 CET 2020


On Fri, Mar 06, 2020 at 06:20:28PM +0200, Remi Denis-Courmont wrote:
> Le 2020-03-06 17:44, Alexandre Janniaux a écrit :
> > Yes, you can use out-of-tree plugins, which is the whole
> > point of this split.
> Sorry, you're making no sense to me whatsoever there. I don't have anything
> to add.
> -1

You confused me, is it the fact that we can use
out-of-tree plugins, or the fact this is the whole point
of this split, or that my answer doesn't match yours that
doesn't make any sense to you?

> You can't load dynamic plugins without the dynamic loader, and you can't use
> the dynamic loader without dynamic plugins to load with it.

To put thing clear:

You have two types of loaders:

+ static loader (vlc_static_modules)
+ dynamic loader (dlopen)

You have two types of plugins:

+ static plugins
+ dynamic plugins

It leads to different possibilities, among the obvious ones:

+ static loader with static plugins
+ dynamic loader with dynamic plugins

Then, those make no sense:

+ static loader with dynamic plugins
+ dynamic loader with static plugins

Then, those are currently available when building dynamic
libraries (--enabled-shared) on ELF:

+ static and dynamic loader with dynamic plugins

But when building with --disable-shared, we have static
plugins and static loader only.

It makes sense only because you don't have dynamic libraries
to link plugin to, but as you have the static ones, nothing
prevent your from creating them by:

+ creating libvlccore.so by linking libvlccore.a, the
  static.o stub declaring vlc_static_modules, and all the
  different plugins archive libraries.

+ creating libvlc.so by linking libvlc.a and libvlccore.so

+ linking out-of-tree plugin with the libvlccore.so

Does it make more sense to you?

Alexandre Janniaux

More information about the vlc-devel mailing list