In makedef.pl, skip relevant symbols when USE_LOCALE_COLLATE is not defined.
authorNicholas Clark <nick@ccl4.org>
Mon, 18 Jul 2011 13:00:53 +0000 (15:00 +0200)
committerNicholas Clark <nick@ccl4.org>
Mon, 1 Aug 2011 09:53:49 +0000 (11:53 +0200)
Previously these symbols were only listed as platform specific exceptions
for WinCE. config.ce has i_locale as undef, so <locale.h> is not included,
so (presumably) there USE_LOCALE_COLLATE is not part of
Config::bincompat_options().

makedef.pl

index cf595e244b32abdbed178620dffb9ff0ed6e4dcf..0c5ebf61b5185a6cdb0ed60cf5edbb6f3e535c92 100644 (file)
@@ -326,16 +326,10 @@ if ($PLATFORM eq 'wince') {
                     PL_pending_ident
                     PL_sublex_info
                     PL_timesbuf
-                    PL_collation_ix
-                    PL_collation_name
-                    PL_collation_standard
-                    PL_collxfrm_base
-                    PL_collxfrm_mult
                     PL_numeric_local
                     PL_numeric_name
                     PL_numeric_radix_sv
                     PL_numeric_standard
-                    Perl_sv_collxfrm
                     setgid
                     setuid
                     win32_free_childdir
@@ -950,6 +944,18 @@ if ($define{HAS_SIGACTION}) {
                    )];
 }
 
+unless ($define{USE_LOCALE_COLLATE}) {
+    skip_symbols [qw(
+                   PL_collation_ix
+                   PL_collation_name
+                   PL_collation_standard
+                   PL_collxfrm_base
+                   PL_collxfrm_mult
+                   Perl_sv_collxfrm
+                   Perl_sv_collxfrm_flags
+                   )];
+}
+
 if ($^O ne 'vms') {
     # VMS does its own thing for these symbols.
     skip_symbols [qw(PL_sig_handlers_initted