Xfce 4.4BETA1 - core packages

Benedikt Meurer benedikt.meurer at unix-ag.uni-siegen.de
Mon Mar 27 17:05:24 CEST 2006


Brian J. Tarricone wrote:
> So basically you're saying that dlopen() (and friends) are basically 
> useless for anything but incredibly simple plugin systems that do 
> basically nothing but incredibly trivial things.  What a waste.

Basicly, yes, dlopen() is just an interface to the runtime link editor,
nothing more nothing less. And as such it depends on the functionality
of the runtime link editor. The power of a plugin system if designed in
a sane fashion is by no means affected by limitations of the runtime
linker. For example, the GType plugin system is very powerful and
portable (it's even independent of GModule, as one can implement load()
and unload() in various, i.e. you could load JAR files to provide the
GTypes using Java classes). "Plugin system" and "runtime linker" are
totally independent of each other. You can develop very powerful plugin
systems with minimum requirements for the runtime linker.

If you don't care for portability, you can of course use all the
features provided by a certain runtime linker. But if you care for
portability, you'll have to stick the common subset of functionality
that is going to work on all platforms (or atleast on most platforms).

What you want to do is really a weird hack, and as such you cannot rely
on weird hacks being supported by all linkers. As a clean solution, the
libraries would have need to be designed as loadable/unloadable modules;
but that's not the case, they're designed as shared/static libraries,
that are loaded before the application is run. But this would be just
overhead.

I honestly fail to see why you want to do this at all? The dependency
chain is perfect, the user can even build in alphabetic order (well,
except that everything depends on libxfce4util):

libxfce4util -> libexo -> libxfcegui4 -> libxfce4mcs
             -> Thunar -> xfdesktop

It's not a long time "problem" either, as we can merge the desktop icon
stuff into Thunar after 4.4. There was just not enough time left to add
it to Thunar for 4.4.

> 	-brian

Benedikt



More information about the Xfce4-dev mailing list