On 10/28/10, Erik Anderson <eri...@odysseus.anderson.name> wrote:
> There is a static component that is linked when linking to dynamic
> libraries, however that is present mostly to inform the compiler on what the
> ABI is, or how your compiled code is expected to interact with the DLL.  It
> is very possible to write a piece of code that explicitly loads the library
> by name and manually builds calls to it.  In fact, it's likely possible to
> compile a program intended to run with a .dll without any related files
> being on the machine at the time.

Yeah, but that's not what we're talking about.
libmedia_plugin_webkit.so is in fact linked statically with various Qt
libraries - the entirety of the code for those Qt libraries is
incorporated into libmedia_plugin_webkit.so by the linker at compile
time, not just a stub. The same happens with libmedia_plugin_webkit.a
and  libmedia_plugin_webkit.dylib. I'm not sure exactly why Linden Lab
decided to do this - it's not a common thing to do and getting it to
work right requires a certain amount of mucking with the build system,
since static libraries normally aren't compiled with options that
allow them to be included in a shared library - but do it they did.
_______________________________________________
Policies and (un)subscribe information available here:
http://wiki.secondlife.com/wiki/OpenSource-Dev
Please read the policies before posting to keep unmoderated posting privileges

Reply via email to