summaryrefslogtreecommitdiff
path: root/installperl
diff options
context:
space:
mode:
Diffstat (limited to 'installperl')
-rwxr-xr-xinstallperl22
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);