diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 2000-03-06 04:48:17 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 2000-03-06 04:48:17 +0000 |
commit | 68c887af8bbbe8aaa5d726ce35fbbb66c21b6301 (patch) | |
tree | b3ed7a1e8e3c93d610d783901fa59e65e1a59aa0 /installperl | |
parent | beccb14cab66f75e33e409a80fccc6cd1a636e4d (diff) | |
download | perl-68c887af8bbbe8aaa5d726ce35fbbb66c21b6301.tar.gz |
installperl wasn't putting extensions with two or more
nested package names in the archlib
p4raw-id: //depot/perl@5568
Diffstat (limited to 'installperl')
-rwxr-xr-x | installperl | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/installperl b/installperl index dd6d66394d..656943c787 100755 --- a/installperl +++ b/installperl @@ -86,12 +86,28 @@ if ((-e "testcompile") && (defined($ENV{'COMPILE'}))) } find(sub { - if ("$File::Find::dir/$_" =~ m{^ext/[^/]+/(.*)\.pm$}) { - (my $pm = $1) =~ s{^lib/}{}; - $archpms{$pm} = 1; + if ("$File::Find::dir/$_" =~ m{^ext\b(.*)/([^/]+)\.pm$}) { + my($path, $modname) = ($1,$2); + + # strip trailing component first + $path =~ s{/[^/]*$}{}; + + # strip optional "/lib"; + $path =~ s{/lib\b}{}; + + # strip any leading / + $path =~ s{^/}{}; + + # reconstitute canonical module name + $modname = "$path/$modname" if length $path; + + # remember it + $archpms{$modname} = 1; } }, 'ext'); +# print "[$_]\n" for sort keys %archpms; + my $ver = $Config{version}; my $release = substr($],0,3); # Not used presently. my $patchlevel = substr($],3,2); |