For miniperl, disable PERL_UNICODE and -C.
Nicholas Clark [Wed, 23 Sep 2009 10:28:51 +0000 (11:28 +0100)]
This allows a build to complete with PERL_UNICODE set and a UTF-8 locale.
Without this there's a bootstrapping problem, as miniperl can't load the UTF-8
components of the regexp engine, because they're not yet built.

perl.c
t/run/switchC.t

diff --git a/perl.c b/perl.c
index 8691a15..e595a0a 100644 (file)
--- a/perl.c
+++ b/perl.c
@@ -2055,6 +2055,7 @@ S_parse_body(pTHX_ char **env, XSINIT_t xsinit)
 #if defined(__SYMBIAN32__)
     PL_unicode = PERL_UNICODE_STD_FLAG; /* See PERL_SYMBIAN_CONSOLE_UTF8. */
 #endif
+#  ifndef PERL_IS_MINIPERL
     if (PL_unicode) {
         /* Requires init_predump_symbols(). */
         if (!(PL_unicode & PERL_UNICODE_LOCALE_FLAG) || PL_utf8locale) {
@@ -2093,6 +2094,7 @@ S_parse_body(pTHX_ char **env, XSINIT_t xsinit)
              }
         }
     }
+#endif
 
     {
        const char *s;
index 7aabbc0..213bdbc 100644 (file)
@@ -9,6 +9,11 @@ BEGIN {
        print "1..0 # Skip: not perlio\n";
        exit 0;
     }
+    if ($ENV{PERL_CORE_MINITEST}) {
+       print "1..0 # Skip : -C and \$ENV{PERL_UNICODE} are disabled on miniperl\n";
+       exit 0;
+    }
+       
 }
 
 BEGIN { require "./test.pl"; }