1From 7f313cac31c55cbe62a4d0cdfa8321cc05a8eb3a Mon Sep 17 00:00:00 2001 2From: Alexander Kanavin <alex.kanavin@gmail.com> 3Date: Sun, 27 May 2007 21:04:11 +0000 4Subject: [PATCH] perl: 5.8.7 -> 5.8.8 (from OE) 5 6This patch is used for perl-native only. It enables the switching of 7configuration files between Config_heavy.pl and 8Config_heavy-target.pl by setting the environment variables 9PERLCONFIGTARGET - the later containing settings for the target while 10the former contains those for the host. This will allow cpan.bbclass 11to use the settings appropriate for the native and/or target builds 12as required. This also disables the use of the cache since the cached 13values would be valid for the host only. 14 15Upstream-Status: Inappropriate [native] 16Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 17 18--- 19 configpm | 18 ++++++++++++++++-- 20 1 file changed, 16 insertions(+), 2 deletions(-) 21 22diff --git a/configpm b/configpm 23index 09c4a3b..6a0a680 100755 24--- a/configpm 25+++ b/configpm 26@@ -687,7 +687,7 @@ sub FETCH { 27 my($self, $key) = @_; 28 29 # check for cached value (which may be undef so we use exists not defined) 30- return exists $self->{$key} ? $self->{$key} : $self->fetch_string($key); 31+ return $self->fetch_string($key); 32 } 33 34 ENDOFEND 35@@ -845,7 +845,21 @@ $config_txt .= sprintf <<'ENDOFTIE', $fast_config; 36 sub DESTROY { } 37 38 sub AUTOLOAD { 39- require 'Config_heavy.pl'; 40+ my $cfgfile = 'Config_heavy.pl'; 41+ if (defined $ENV{PERLCONFIGTARGET} and $ENV{PERLCONFIGTARGET} eq "yes") 42+ { 43+ $cfgfile = 'Config_heavy-target.pl'; 44+ } 45+ if (defined $ENV{PERL_ARCHLIB}) 46+ { 47+ push @INC, $ENV{PERL_ARCHLIB}; 48+ require $cfgfile; 49+ pop @INC; 50+ } 51+ else 52+ { 53+ require $cfgfile; 54+ } 55 goto \&launcher unless $Config::AUTOLOAD =~ /launcher$/; 56 die "&Config::AUTOLOAD failed on $Config::AUTOLOAD"; 57 } 58