This patch is used for perl-native only. It enables the switching of configuration files between Config_heavy.pl and Config_heavy-target.pl by setting the environment variables PERLCONFIGTARGET - the later containing settings for the target while the former contains those for the host. This will allow cpan.bbclass to use the settings appropriate for the native and/or target builds as required. This also disables the use of the cache since the cached values would be valid for the host only. Upstream-Status: Inappropriate [native] Signed-off-by: Alexander Kanavin Index: perl-5.14.2/configpm =================================================================== --- perl-5.14.2.orig/configpm +++ perl-5.14.2/configpm @@ -658,7 +658,7 @@ sub FETCH { my($self, $key) = @_; # check for cached value (which may be undef so we use exists not defined) - return exists $self->{$key} ? $self->{$key} : $self->fetch_string($key); + return $self->fetch_string($key); } ENDOFEND @@ -816,7 +816,21 @@ $config_txt .= sprintf <<'ENDOFTIE', $fa sub DESTROY { } sub AUTOLOAD { - require 'Config_heavy.pl'; + my $cfgfile = 'Config_heavy.pl'; + if (defined $ENV{PERLCONFIGTARGET} and $ENV{PERLCONFIGTARGET} eq "yes") + { + $cfgfile = 'Config_heavy-target.pl'; + } + if (defined $ENV{PERL_ARCHLIB}) + { + push @INC, $ENV{PERL_ARCHLIB}; + require $cfgfile; + pop @INC; + } + else + { + require $cfgfile; + } goto \&launcher unless $Config::AUTOLOAD =~ /launcher$/; die "&Config::AUTOLOAD failed on $Config::AUTOLOAD"; }