From: David Golden Date: Wed, 5 Jan 2011 11:43:00 +0000 (-0500) Subject: Avoid CPAN config init when just checking values X-Git-Tag: 1.008004~21 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=59b1a634003229d22cc231e25980aeb561a01ee5;p=p5sagit%2Flocal-lib.git Avoid CPAN config init when just checking values This commit keeps Makefile.PL from triggering a full CPAN configuration initialization just to see if certain bad configurations exist. It's sufficient to load any exist config and check that. --- diff --git a/Makefile.PL b/Makefile.PL index 359446a..11f376c 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -202,25 +202,27 @@ delete $ENV{PERL5_CPAN_IS_RUNNING} if $no_cpan_env; # It will already be installed by the time we reach here if bootstrapping, # otherwise, if we're running from CPAN then it will be installed soon # enough, and we'll come back here.. - if (!$@) { - CPAN::HandleConfig->load; - for my $eumm_setting ( qw/makepl_arg make_install_arg/ ) { - if ($CPAN::Config->{$eumm_setting} =~ /(?:PREFIX|INSTALL_BASE)/) { - die <<"DEATH"; + if (!$@ ) { + CPAN::HandleConfig->require_myconfig_or_config; + if ( $CPAN::Config ) { + for my $eumm_setting ( qw/makepl_arg make_install_arg/ ) { + if ($CPAN::Config->{$eumm_setting} =~ /(?:PREFIX|INSTALL_BASE)/) { + die <<"DEATH"; WHOA THERE! It looks like you've got $CPAN::Config->{$eumm_setting} set. This is known to cause problems with local::lib. Please either remove this setting or clear out your .cpan directory. DEATH + } } - } - for my $mb_setting (qw/mbuild_arg mbuild_install_arg mbuildpl_arg/) { - if ($CPAN::Config->{$mb_setting} =~ /(?:--prefix|--install_base)/) { - die <<"DEATH"; + for my $mb_setting (qw/mbuild_arg mbuild_install_arg mbuildpl_arg/) { + if ($CPAN::Config->{$mb_setting} =~ /(?:--prefix|--install_base)/) { + die <<"DEATH"; WHOA THERE! It looks like you've got $CPAN::Config->{$mb_setting} set. This is known to cause problems with local::lib. Please either remove this setting or clear out your .cpan directory. DEATH + } } } }