Subject: | [PATCH] Windows miniperl compatibility |
On Windows, miniperl doesn’t support I/O layers, so the :utf8 binmode fails and breaks the perl build.
The attached patch should do the trick, though I have not been able to test it on Windows. It just accomplishes the same thing but without depending on I/O layers.
Subject: | open_84Sj0rqW.txt |
diff -rup ExtUtils-MakeMaker-7.00-t3aals-orig/lib/ExtUtils/MakeMaker.pm ExtUtils-MakeMaker-7.00-t3aals/lib/ExtUtils/MakeMaker.pm
--- ExtUtils-MakeMaker-7.00-t3aals-orig/lib/ExtUtils/MakeMaker.pm 2014-10-22 12:13:31.000000000 -0700
+++ ExtUtils-MakeMaker-7.00-t3aals/lib/ExtUtils/MakeMaker.pm 2014-10-24 14:09:14.000000000 -0700
@@ -1192,12 +1192,13 @@ sub flush {
unlink($finalname, "MakeMaker.tmp", $Is_VMS ? 'Descrip.MMS' : ());
open(my $fh,">", "MakeMaker.tmp")
or die "Unable to open MakeMaker.tmp: $!";
- if ($] > 5.008 and $Config{useperlio}) {
- binmode $fh, ':utf8';
- binmode $fh, ':encoding(locale)' if $CAN_DECODE;
- }
+ binmode $fh, ':encoding(locale)' if $CAN_DECODE;
for my $chunk (@{$self->{RESULT}}) {
+ my $to_write = "$chunk\n";
+ if (!$CAN_DECODE && $] > 5.008) {
+ utf8::encode $to_write;
+ }
print $fh "$chunk\n"
or die "Can't write to MakeMaker.tmp: $!";
}