Rejig the location of the cache assertion code in Perl_sv_pos_b2u().
[p5sagit/p5-mst-13.2.git] / configpm
index 728e012..46b1972 100755 (executable)
--- a/configpm
+++ b/configpm
@@ -298,14 +298,62 @@ EOT
 my @need_relocation;
 
 if (fetch_string({},'userelocatableinc')) {
-    foreach my $what (qw(archlibexp
+    foreach my $what (qw(prefixexp
+
+                        archlibexp
+                        html1direxp
+                        html3direxp
+                        man1direxp
+                        man3direxp
                         privlibexp
+                        scriptdirexp
                         sitearchexp
+                        sitebinexp
+                        sitehtml1direxp
+                        sitehtml3direxp
                         sitelibexp
-                        sitelib_stem
+                        siteman1direxp
+                        siteman3direxp
+                        sitescriptexp
                         vendorarchexp
+                        vendorbinexp
+                        vendorhtml1direxp
+                        vendorhtml3direxp
                         vendorlibexp
-                        vendorlib_stem)) {
+                        vendorman1direxp
+                        vendorman3direxp
+                        vendorscriptexp
+
+                        siteprefixexp
+                        sitelib_stem
+                        vendorlib_stem
+
+                        installarchlib
+                        installhtml1dir
+                        installhtml3dir
+                        installman1dir
+                        installman3dir
+                        installprefix
+                        installprefixexp
+                        installprivlib
+                        installscript
+                        installsitearch
+                        installsitebin
+                        installsitehtml1dir
+                        installsitehtml3dir
+                        installsitelib
+                        installsiteman1dir
+                        installsiteman3dir
+                        installsitescript
+                        installvendorarch
+                        installvendorbin
+                        installvendorhtml1dir
+                        installvendorhtml3dir
+                        installvendorlib
+                        installvendorman1dir
+                        installvendorman3dir
+                        installvendorscript
+                        )) {
        push @need_relocation, $what if fetch_string({}, $what) =~ m!^\.\.\./!;
     }
 }
@@ -362,16 +410,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,"<myconfig.SH") || die "open myconfig.SH failed: $!";
 1 while defined($_ = <MYCONFIG>) && !/^Summary of/;
 do { print CONFIG_HEAVY $_ } until !defined($_ = <MYCONFIG>) || /^\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;
 
@@ -399,7 +443,9 @@ if ($Common{byteorder}) {
 if (@need_relocation) {
 print CONFIG_HEAVY 'foreach my $what (qw(', join (' ', @need_relocation),
       ")) {\n", <<'EOT';
-    s/^($what=)(['"])(.*?)\2/$1 . $2 . relocate_inc($3) . $2/me;
+    s<^($what=)(['"])(.*?)\2>
+     <$1 . $2 . relocate_inc($3) . $2 . "\n" .
+      'raw_' . $1 . $2 . $3 . $2>me;
 }
 EOT
 # Currently it only makes sense to do the ... relocation on Unix, so there's
@@ -418,7 +464,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)) {
@@ -863,6 +909,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