summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2009-09-12 07:38:32 +0100
committerNicholas Clark <nick@ccl4.org>2009-09-12 07:38:32 +0100
commita049506658d2a1f1262d7635971158f305c441f6 (patch)
treee91557a5668e2d6399fc93514123e7c39d084dde
parentbc72ff4919d7f1638a7ea29ecb264459926b1933 (diff)
downloadperl-a049506658d2a1f1262d7635971158f305c441f6.tar.gz
re.pm will load under miniperl, so don't hard-code its values into ParseXS
(There's special-case code in the core to make re.pm available early as lib/re.pm, as it's needed by other modules in the XS toolchain, so we don't need a special case and attendant fragility in ExtUtils::ParseXS)
-rw-r--r--ext/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm6
-rw-r--r--ext/re/re.pm5
2 files changed, 4 insertions, 7 deletions
diff --git a/ext/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm b/ext/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
index 3fa4cc00f5..93bca09819 100644
--- a/ext/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
+++ b/ext/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
@@ -18,7 +18,7 @@ my(@XSStack); # Stack of conditionals and INCLUDEs
my($XSS_work_idx, $cpp_next_tmp);
use vars qw($VERSION);
-$VERSION = '2.2002';
+$VERSION = '2.2003';
use vars qw(%input_expr %output_expr $ProtoUsed @InitFileCode $FH $proto_re $Overload $errors $Fallback
$cplusplus $hiertype $WantPrototypes $WantVersionChk $except $WantLineNumbers
@@ -210,7 +210,9 @@ sub process_file {
$size = qr[,\s* (??{ $bal }) ]x; # Third arg (to setpvn)
foreach my $key (keys %output_expr) {
- BEGIN { $^H |= 0x00200000 }; # Equivalent to: use re 'eval', but hardcoded so we can compile re.xs
+ # We can still bootstrap compile 're', because in code re.pm is available to
+ # miniperl, and does not attempt to load the XS code.
+ use re 'eval';
my ($t, $with_size, $arg, $sarg) =
($output_expr{$key} =~
diff --git a/ext/re/re.pm b/ext/re/re.pm
index 54d504f55e..742a018f86 100644
--- a/ext/re/re.pm
+++ b/ext/re/re.pm
@@ -23,11 +23,6 @@ my %bitmask = (
# - File::Basename contains a literal for 'taint' as a fallback. If
# taint is changed here, File::Basename must be updated as well.
#
-# - ExtUtils::ParseXS uses a hardcoded
-# BEGIN { $^H |= 0x00200000 }
-# in it to allow re.xs to be built. So if 'eval' is changed here then
-# ExtUtils::ParseXS must be changed as well.
-#
# *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING ***
sub setcolor {