Andreas J. Koenig <[EMAIL PROTECTED]> writes:
>Patch 13140, at least on Linux, changed $^X to be always an absolute
>path:
>
>/usr/sources/perl/repoperls/perl-5.7.2@13139% ./miniperl -le 'print $^X'
>../miniperl
>
>/usr/sources/perl/repoperls/perl-5.7.2@13140% ./miniperl -le 'print $^X'
>/usr/sources/perl/repoperls/perl-5.7.2@13140/miniperl
>
>This has the unfortunate side effect on MakeMaker's init_PERL method,
>that all Makefiles below ext now contain the absolute path to miniperl
>in the PERL variable. This is a bug. We must not have absolute paths
>in Makefiles for PERL and FULLPERL.
>
>I suppose the bug has not been discovered yet because it only
>manifests itself if you move the source around.

No objection to the patch. But IIRC you need to re-run Makefile.PLs
if you move sources about anyway dependancies and -I options 
need tweaking too.


>
>The following patch fixes the problem for me (tested):
>
>--- perl-5.8.0@17791-moved/lib/ExtUtils/MM_Unix.pm@17791       Thu Aug 29 11:31:34 
>2002
>+++ perl-5.8.0@17791-moved/lib/ExtUtils/MM_Unix.pm     Thu Aug 29 11:34:11 2002
>@@ -2145,6 +2145,7 @@ sub init_PERL {
>     # core.  Otherwise its a last resort.
>     my $miniperl = "miniperl$Config{exe_ext}";
>     if( $self->{PERL_CORE} ) {
>+        $perls[0] = File::Spec->abs2rel($perls[0]);
>         splice @perls, 1, 0, $miniperl;
>     }
>     else {
>
>
>I'm sure there will be other ways to fix it, but that's the first that
>came to my mind. I hope it has no negative side effects.
-- 
Nick Ing-Simmons
http://www.ni-s.u-net.com/

Reply via email to