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. --- perl-5.8.8/configpm 2007/04/30 03:10:43 1.1 +++ perl-5.8.8/configpm 2007/04/30 03:11:56 @@ -374,7 +374,7 @@ my($self, $key) = @_; # check for cached value (which may be undef so we use exists not defined) - return $self->{$key} if exists $self->{$key}; + #return $self->{$key} if exists $self->{$key}; return $self->fetch_string($key); } @@ -530,7 +530,21 @@ 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"; }