On Thu, Feb 27, 2003 at 03:46:37PM -0500, John West wrote:
> I'm just meeting PAR for the first time, and already I love it.  It's a
> great idea, and excellent execution on it.  Kudos!

Thanks a lot for your support. :-)

(Cc'ing the list, again.)

> I've got a question about generating executables with pp.  At the end of
> the perldoc for pp, it says:
> 
> "Note that if your perl was built as a shared library, the 'Clean setup'
> above will still need a separate perl5x.dll or libperl.so to function
> correctly."
> 
> which I take to mean that either I'll have to supply my libperl.so or
> the target environment that I'll install my new executable on, or that
> it must have a similar enough libperl.so so as to function properly.  By
> a little bit of experimentation, this seems to be the case.

That is exactly the case.  It is, I suspect, possible for myldr/main.c
to "remember" the libperl.so as a static string (much as how it already
"remembers" the content of par.pl) via file2c.pl; during runtime, it
should write it to disk and dlopen() it, just before starting the Perl
interpreter.

> So, to avoid needing to recompile my perl binary to not use the shared
> library, is it possible to force the stand-alone executable to use the
> native executable form of par.pl (parl or parl.exe), and to have parl or
> parl.exe statically link libperl.so when I install PAR?

It is possible, but not with the current loader code.  Since I'm not
very versed in the C language, any patch or how-to toward that direction
will be much appreciated.

> If it's possible to get around the need to distribute or ensure the
> presence of a libperl.so on the target environment like this, it seems
> like it would be a win.  I fear I might be over-simplifying the problem,
> however, since I know no more of it than I do.

Your understanding is perfectly correct. Ideally, I'd like the default
'pp' to _not_ bundle perl5x.dll/libperl.so since I think shipping
multiple identical libraries is wasteful -- but an option like "pp -b"
to bundle libperl will be helpful indeed.

You are, of course, free to pursue me to enable bundling libperl by
default. :-)

Thanks,
/Autrius/

Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to