Make parser_free() be called slightly later,
[p5sagit/p5-mst-13.2.git] / installperl
index 919fc64..521e4f5 100755 (executable)
@@ -181,11 +181,8 @@ find(sub {
     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 to optional "/lib", or remove trailing component
+       $path =~ s{.*/lib\b}{} or $path =~ s{/[^/]*$}{};
 
        # strip any leading /
        $path =~ s{^/}{};
@@ -602,7 +599,7 @@ if ($versiononly) {
 # Install pod pages.  Where? I guess in $installprivlib/pod
 # ($installprivlib/pods for cygwin).
 
-my $pod = ($Is_Cygwin || $Is_Darwin || $Is_VMS) ? 'pods' : 'pod';
+my $pod = ($Is_Cygwin || $Is_Darwin || $Is_VMS || $Is_W32) ? 'pods' : 'pod';
 if ( !$versiononly || ($installprivlib =~ m/\Q$ver/)) {
     mkpath("${installprivlib}/$pod", $verbose, 0777);
 
@@ -837,7 +834,8 @@ sub installlib {
     # ignore the Makefiles
     return if $name =~ /^makefile$/i;
     # ignore the test extensions
-    return if $dir =~ m{ext/XS/(?:APItest|Typemap)/};
+    return if $dir =~ m{\bXS/(?:APItest|Typemap)\b};
+    return if $name =~ m{\b(?:APItest|Typemap)\.pm$};
     # ignore the demo files
     return if $dir =~ /\bdemos?\b/;
 
@@ -862,7 +860,7 @@ sub installlib {
     }
 
     if (-f $_) {
-       if (/\.(?:al|ix)$/ && !($dir =~ m[^auto/(.*)$] && $archpms{$1})) {
+       if (/\.(?:al|ix)$/ && !($dir =~ m[^auto/(.*)$])) {
            $installlib = $installprivlib;
            #We're installing *.al and *.ix files into $installprivlib,
            #but we have to delete old *.al and *.ix files from the 5.000