X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=installperl;h=d4cb71185ac5ab3aa8fef0f73bae51fa54f82488;hb=dfa3a3d32f999ad1e84b6c1f00ad651a83b7102c;hp=e6e2bbeb6f4ba907da0490f743e5b6f0fdbe5348;hpb=4927f9a31bc3f85171d61beda44b59c1552c2543;p=p5sagit%2Fp5-mst-13.2.git diff --git a/installperl b/installperl index e6e2bbe..d4cb711 100755 --- a/installperl +++ b/installperl @@ -30,6 +30,14 @@ umask 022; @pods = (); +%archpms = (Config => 1, FileHandle => 1, overload => 1); +find(sub { + if ("$File::Find::dir/$_" =~ m{^ext/[^/]+/(.*)\.pm$}) { + (my $pm = $1) =~ s{^lib/}{}; + $archpms{$pm} = 1; + } + }, 'ext'); + $ver = $]; $release = substr($ver,0,3); # Not used presently. $patchlevel = substr($ver,3,2); @@ -171,7 +179,8 @@ foreach $file (@corefiles) { $mainperl_is_instperl = 0; -if (-w $mainperldir && ! &samepath($mainperldir, $installbin) && !$nonono) { +if (!$nonono && -t STDIN && -t STDERR + && -w $mainperldir && ! &samepath($mainperldir, $installbin)) { local($usrbinperl) = "$mainperldir/perl$exe_ext"; local($instperl) = "$installbin/perl$exe_ext"; local($expinstperl) = "$binexp/perl$exe_ext"; @@ -349,7 +358,8 @@ sub installlib { $name = "$dir/$name" if $dir ne ''; my $installlib = $installprivlib; - if ($dir =~ /^auto/ || $name =~ /^(Config|FileHandle|Safe)\.pm$/) { + if ($dir =~ /^auto/ || + ($name =~ /^(.*)\.(?:pm|pod)$/ && $archpms{$1})) { $installlib = $installarchlib; return unless $do_installarchlib; } else {