This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
installperl wasn't putting extensions with two or more
authorGurusamy Sarathy <gsar@cpan.org>
Mon, 6 Mar 2000 04:48:17 +0000 (04:48 +0000)
committerGurusamy Sarathy <gsar@cpan.org>
Mon, 6 Mar 2000 04:48:17 +0000 (04:48 +0000)
nested package names in the archlib

p4raw-id: //depot/perl@5568

installperl

index dd6d663..656943c 100755 (executable)
@@ -86,12 +86,28 @@ if ((-e "testcompile") && (defined($ENV{'COMPILE'})))
 }
 
 find(sub {
 }
 
 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');
 
        }
     }, 'ext');
 
+# print "[$_]\n" for sort keys %archpms;
+
 my $ver = $Config{version};
 my $release = substr($],0,3);   # Not used presently.
 my $patchlevel = substr($],3,2);
 my $ver = $Config{version};
 my $release = substr($],0,3);   # Not used presently.
 my $patchlevel = substr($],3,2);