On 21 Feb 2004 at 20:21, Jesse Schoch wrote:
> I didn't see the updated archive, is it up on http://aut.dyndns.org/dist/
>
> Also I hope I can do the following, though I can live without the -C.
> pp -C -d -o foo.exe foo.pl
> pp -C -d -o bar.exe bar.pl
Any combination should work. Just watch out for mixing:
pp -C -o foo.exe foo.pl
pp -C -d -o bar.exe bar.pl
or
pp -C -d -o foo.exe foo.pl
pp -C -o bar.exe bar.pl
You might notice an unavoidable side effect in Win32. Since foo and bar execute in the
same process space, they will both use the same perl5x.dll. In the first case, the one
extracted to the foo temp dir; in the second case, the one in the perl bin dir. That
affects the contents of @INC.
> ___________ foo.pl _______________
> #!/usr/bin/perl -w
> use Win32::Process;
> # not sure if what to set the TEMP var to.
> $ENV{PAR_GLOBAL_TEMP} = "";
> $ENV{PAR_GLOBAL_CLEAN = 1;
> Win32::Process::Create($ProcessObj,
> "bar.exe",
> "bar",
> 0,# this should make the process not inherit anything from the
> process, not sure why it doesn't work.
> NORMAL_PRIORITY_CLASS,
> ".")|| die &Error;
The intent of PAR_GLOBAL_xxx was to do:
pp -d -o foo.exe foo.pl
pp -d -o bar.exe bar.pl
pp -d -o baz.exe baz.pl
set PAR_GLOBAL_CLEAN=1
foo
baz
and have foo, bar and baz run as if they had been compiled with -C.
If you include $ENV{PAR_GLOBAL_CLEAN}=1 in foo.pl and not the command line, it would
run bar clean, but not foo and baz. If the temp dir name generated automatically by
PAR
is OK with you, then you don't need $ENV{PAR_GLOBAL_TEMP} either. If you do specify
PAR_GLOBAL_TEMP, that overides any -C or PAR_GLOBAL_CLEAN anyway.
Alan Stewart