X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FObject%2FRemote%2FFatNode.pm;fp=lib%2FObject%2FRemote%2FFatNode.pm;h=93fa93230ebd63c82621522255dbdeb845a80ee9;hb=06330047ac3d4687291eff2bca47fd511d3b89ff;hp=ec91733eef325376e9a7074cde3f4fdacbad139e;hpb=c5699decd650935332d3d0f7025dc1e9efe55ec0;p=scpubgit%2FObject-Remote.git diff --git a/lib/Object/Remote/FatNode.pm b/lib/Object/Remote/FatNode.pm index ec91733..93fa932 100644 --- a/lib/Object/Remote/FatNode.pm +++ b/lib/Object/Remote/FatNode.pm @@ -64,22 +64,32 @@ foreach(keys(%mods)) { } } +my %mod_libdir = map { + (my $lib_dir = $_) =~ s/[\\\/]$mods{$_}\z//; + $_ => $lib_dir; +} keys %mods; + my @non_core_non_arch = ( $file_names{'Devel/GlobalDestruction.pm'} ); -push @non_core_non_arch, grep +( + +push @non_core_non_arch, grep { + local $_ = $mod_libdir{$_}; not ( - #some of the config variables can be empty which will eval as a matching regex - $Config{privlibexp} ne '' && /^\Q$Config{privlibexp}/ + /[\\\/]\Q$Config{archname}\E\z/ + or /[\\\/]\Q$Config{myarchname}\E\z/ + #some of the config variables can be empty which will eval as a matching regex + or $Config{privlibexp} ne '' && /^\Q$Config{privlibexp}/ or $Config{archlibexp} ne '' && /^\Q$Config{archlibexp}/ or $Config{vendorarchexp} ne '' && /^\Q$Config{vendorarchexp}/ or $Config{sitearchexp} ne '' && /^\Q$Config{sitearchexp}/ ) -), grep !/\Q$Config{archname}/, grep !/\Q$Config{myarchname}/, keys %mods; +} keys %mods; -my @core_non_arch = grep +( +my @core_non_arch = grep { + local $_ = $mod_libdir{$_}; $Config{privlibexp} ne '' && /^\Q$Config{privlibexp}/ and not($Config{archlibexp} ne '' && /^\Q$Config{archlibexp}/ - or /\Q$Config{archname}/ or /\Q$Config{myarchname}/) -), keys %mods; + or /[\\\/]\Q$Config{archname}\E\z/ or /[\\\/]\Q$Config{myarchname}\E\z/) +} keys %mods; my $start = stripspace <<'END_START'; # This chunk of stuff was generated by Object::Remote::FatNode. To find