[Israel.pm] lib/auto/DynaLoader/DynaLoader.a

Shmuel Fomberg semuelf at 012.net.il
Sat Nov 17 09:57:30 PST 2007


Hello There.

While developing my little embedded program, I come on the issue of
DynaLoader.a.
For a bit of background, DynaLoader is the Perl module that enables the
loading of shared objects (or DLLs on Windows). The SO are the C parts - XS
parts of other modules. However, DynaLoader itself is part perl and part C -
who loads the loader?
So the C part should be statically linked into Perl. That is why there is a
".a" file - for statically linking.
Anyway, on my Windows machine this file does not exist. I wrongly assumed
that it's a Windows-verus-Unix thing. But when Shlomi Fish tested the module
on a Linux machine, it didn't have this file either.
This gave me the conclusion: it's an ActiveState thing. (both of us tested
the module on an ActiveState distro) They physically include the C part of
DynaLoader inside the libperl.so, so you don't need it anymore.
In contrast, the official distro probably statically link it to perl
executable. 
An I right? Wrong? Missed something?

Thanks,
Shmuel.






More information about the Perl mailing list