X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=configpm;h=ccf7816f293a9fbdc40a239b71ff4c4b7b5d4697;hb=c696a6a43b0b5a16f820f8a91db4e187fc9ac45b;hp=6ac52e2fa438fcc4f205e0c1327ea3007020e35b;hpb=ae7e4cc14be2e40a3d39a27af7d2e07ebcc705e9;p=p5sagit%2Fp5-mst-13.2.git diff --git a/configpm b/configpm index 6ac52e2..ccf7816 100755 --- a/configpm +++ b/configpm @@ -82,7 +82,7 @@ use strict; # use vars pulls in Carp ENDOFBEG -my $myver = sprintf "v%vd", $^V; +my $myver = sprintf "%vd", $^V; printf CONFIG <<'ENDOFBEG', ($myver) x 3; # This file was created by configpm when Perl was built. Any changes @@ -362,16 +362,12 @@ if (%need_relocation) { print CONFIG_HEAVY @non_v, "\n"; # copy config summary format from the myconfig.SH script -print CONFIG_HEAVY "our \$summary : unique = <<'!END!';\n"; +print CONFIG_HEAVY "our \$summary = <<'!END!';\n"; open(MYCONFIG,") && !/^Summary of/; do { print CONFIG_HEAVY $_ } until !defined($_ = ) || /^\s*$/; close(MYCONFIG); -# NB. as $summary is unique, we need to copy it in a lexical variable -# before expanding it, because may have been made readonly if a perl -# interpreter has been cloned. - print CONFIG_HEAVY "\n!END!\n", <<'EOT'; my $summary_expanded; @@ -418,7 +414,7 @@ s/(byteorder=)(['"]).*?\2/$1$2$Config::byteorder$2/m; my $config_sh_len = length $_; -our $Config_SH_expanded : unique = "\n$_" . << 'EOVIRTUAL'; +our $Config_SH_expanded = "\n$_" . << 'EOVIRTUAL'; EOT foreach my $prefix (qw(ccflags ldflags)) { @@ -617,13 +613,15 @@ if ($Common{byteorder}) { } my $fast_config = join '', map { " $_,\n" } sort values %Common; +# Sanity check needed to stop an infite loop if Config_heavy.pl fails to define +# &launcher for some reason (eg it got truncated) print CONFIG sprintf <<'ENDOFTIE', $fast_config; sub DESTROY { } sub AUTOLOAD { require 'Config_heavy.pl'; - goto \&launcher; + goto \&launcher unless $Config::AUTOLOAD =~ /launcher$/; die "&Config::AUTOLOAD failed on $Config::AUTOLOAD"; } @@ -861,6 +859,7 @@ EOS $cross =~ s/\*\*\*replace-marker\*\*\*/$Opts{cross}/g; print CROSS $cross; close CROSS; + unshift(@INC,"xlib/$Opts{cross}"); } # Now do some simple tests on the Config.pm file we have created