dont install PPPort.so/PPPort.dll
authorDaniel Dragan <bulk88@hotmail.com>
Sun, 25 Oct 2015 23:31:27 +0000 (19:31 -0400)
committerTony Cook <tony@develop-help.com>
Mon, 2 Nov 2015 04:49:04 +0000 (15:49 +1100)
This shared lib is only used for PPPort testing itself, it is similar to
APItest.dll in purpose. PPPort.pm never uses XSLoader/DynaLoader, only its
.t files do. This saves 616KB in the final install dir on Win32, and
atleast one or two dozen KB on all OSes. Since where is auto dir, and what
is arch dir, is complicated and unportable (atleast to me), and what other
files live next to the shared lib (examples, .pdb file, .bs file, .a file)
match the directory fragment, not the files inside of it or the dirs
full path.

 Directory of C:\p523\src\lib\auto\Devel\PPPort

10/25/2015  07:16 PM    <DIR>          .
10/25/2015  07:16 PM    <DIR>          ..
10/25/2015  07:16 PM                 0 .exists
10/25/2015  07:16 PM            59,392 PPPort.dll
10/25/2015  07:16 PM               796 PPPort.exp
10/25/2015  07:16 PM             1,738 PPPort.lib
10/25/2015  07:16 PM           569,344 PPPort.pdb
               5 File(s)        631,270 bytes

installperl

index 866bf5d..5ea37be 100755 (executable)
@@ -671,8 +671,8 @@ sub installlib {
     return if $name =~ /^(?:cpan|instmodsh|prove|corelist|ptar|ptardiff|ptargrep|zipdetails)\z/;
     # ignore the Makefiles
     return if $name =~ /^makefile$/i;
-    # ignore the test extensions
-    return if $dir =~ m{\bXS/(?:APItest|Typemap)\b};
+    # ignore the test extensions, dont install PPPort.so/.dll
+    return if $dir =~ m{\b(?:XS/(?:APItest|Typemap)|Devel/PPPort)\b};
     return if $name =~ m{\b(?:APItest|Typemap)\.pm$};
     # ignore the build support code
     return if $name =~ /\bbuildcustomize\.pl$/;