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/
pgp00000.pgp
Description: PGP signature
