$ENV{PERL5LIB} = 'lib';
}
+BEGIN {
+ use Config;
+ if ($Config{userelocatableinc}) {
+ # This might be a considered a hack. Need to get information about the
+ # configuration from Config.pm *before* Config.pm expands any .../
+ # prefixes.
+ #
+ # So we set $^X to pretend that we're the already installed perl, so
+ # Config.pm doesits ... expansion off that location.
+
+ my $location = $Config{initialinstalllocation};
+ die <<'OS' unless defined $location;
+$Config{initialinstalllocation} is not defined - can't install a relocatable
+perl without this.
+OS
+ $^X = "$location/perl";
+ # And then remove all trace of ever having loaded Config.pm, so that
+ # it will reload with the revised $^X
+ undef %Config::;
+ delete $INC{"Config.pm"};
+ delete $INC{"Config_heavy.pl"};
+ # You never saw us. We weren't here.
+ }
+}
+
use strict;
my ($Is_VMS, $Is_W32, $Is_OS2, $Is_Cygwin, $Is_Darwin,
$nonono, $dostrip, $versiononly, $silent, $verbose, $force,
# Install pod pages. Where? I guess in $installprivlib/pod
# ($installprivlib/pods for cygwin).
-my $pod = ($Is_Cygwin || $Is_Darwin) ? '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);
return if $name =~ m{\.orig$|\.rej$|~$|^#.+#$|,v$|^\.exists|\.PL$|\.plc$|\.t$|^test\.pl$} ||
$dir =~ m{/t(?:/|$)};
# ignore the cpan script in lib/CPAN/bin, the instmodsh and xsubpp
- # scripts in lib/ExtUtils, and the prove script in lib/Test/Harness
- # as well as the corelist script from lib/Module/CoreList/bin
+ # 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)\z/;
+ return if $name =~ /^(?:cpan|instmodsh|prove|corelist|ptar|ptardiff|config_data)\z/;
# ignore the Makefiles
return if $name =~ /^makefile$/i;
# ignore the test extensions
# ignore READMEs, MANIFESTs, INSTALL docs, META.ymls and change logs.
# Changes.e2x and README.e2x are needed by enc2xs.
- return if $name =~ m{^(?:README|MANIFEST|META\.yml|INSTALL)$};
+ return if $name =~ m{^(?:README(?:\.\w+)?|MANIFEST|META\.yml|INSTALL)$} && $name ne 'README.e2x';
return if $name =~ m{^(?:TODO|BUGS|CREDITS)$}i;
return if $name =~ m{^change(?:s|log)(?:\.libnet)?$}i;