# ignore patch backups, RCS files, emacs backup & temp files and the
# .exists files, .PL files, and test files.
- return if $name =~ m{\.orig$|\.rej$|~$|^#.+#$|,v$|^\.exists|\.PL$|\.plc$|\.t$|^test\.pl$} ||
+ return if $name =~ m{\.orig$|\.rej$|~$|^#.+#$|,v$|^\.exists|\.PL$|\.plc$|\.t$|^test\.pl$|^dbm_filter_util.pl$} ||
$dir =~ m{/t(?:/|$)};
# ignore the cpan script in lib/CPAN/bin, the instmodsh and xsubpp
# scripts in lib/ExtUtils, the prove script in lib/Test/Harness,
# the corelist script from lib/Module/CoreList/bin and ptar* in
# lib/Archive/Tar/bin, the config_data script in lib/Module/Build/scripts
# (they're installed later with other utils)
- return if $name =~ /^(?:cpan|instmodsh|prove|corelist|ptar|ptardiff|config_data)\z/;
+ return if $name =~ /^(?:cpan|instmodsh|prove|corelist|ptar|cpan2dist|cpanp|cpanp-run-perl|ptardiff|config_data)\z/;
# 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/;
return if $name =~ m{^(?:TODO|BUGS|CREDITS)$}i;
return if $name =~ m{^change(?:s|log)(?:\.libnet)?$}i;
+ # if using a shared perl library then ignore:
+ # - static library files [of statically linked extensions];
+ # - import library files and export library files (only present on Win32
+ # anyway?) and empty bootstrap files [of dynamically linked extensions].
+ return if $Config{useshrplib} eq 'true' and
+ ($name =~ /$Config{_a}$/ or $name =~ /\.exp$/ or ($name =~ /\.bs$/ and -z $name));
+
$name = "$dir/$name" if $dir ne '';
my $installlib = $installprivlib;