defined $PLATFORM || die "PLATFORM undefined, must be one of: @PLATFORM\n";
exists $PLATFORM{$PLATFORM} || die "PLATFORM must be one of: @PLATFORM\n";
-if ($PLATFORM eq 'win32' or $PLATFORM eq "aix") {
+if ($PLATFORM eq 'win32' or $PLATFORM eq 'wince' or $PLATFORM eq "aix") {
# Add the compile-time options that miniperl was built with to %define.
# On Win32 these are not the same options as perl itself will be built
# with since miniperl is built with a canned config (one of the win32/
# source files and header files and don't include any BUILDOPT's that
# the user might have chosen to disable because the canned configs are
# minimal configs that don't include any of those options.
- my $config = `$^X -Ilib -V`;
+ my $opts = ($PLATFORM eq 'wince' ? '-MCross' : ''); # for wince need Cross.pm to get Config.pm
+ my $config = `$^X $opts -Ilib -V`;
my($options) = $config =~ /^ Compile-time options: (.*?)\n^ \S/ms;
$options =~ s/\s+/ /g;
print STDERR "Options: ($options)\n";
PL_linestart
PL_modcount
PL_pending_ident
- PL_sortcxix
PL_sublex_info
PL_timesbuf
main
Perl_getenv_len
Perl_my_pclose
Perl_my_popen
+ Perl_my_sprintf
)];
}
else {
PL_linestart
PL_modcount
PL_pending_ident
- PL_sortcxix
PL_sublex_info
PL_timesbuf
PL_collation_ix
Perl_getenv_len
Perl_my_pclose
Perl_my_popen
+ Perl_my_sprintf
)];
}
elsif ($PLATFORM eq 'aix') {
Perl_sys_intern_clear
Perl_sys_intern_dup
Perl_sys_intern_init
+ Perl_my_sprintf
PL_cryptseen
PL_opsave
PL_statusvalue_vms
PL_linestart
PL_modcount
PL_pending_ident
- PL_sortcxix
PL_sublex_info
PL_timesbuf
main
Perl_debprofdump
Perl_debstack
Perl_debstackptrs
+ Perl_pad_sv
Perl_sv_peek
+ Perl_hv_assert
PL_block_type
PL_watchaddr
PL_watchok
)];
}
-unless ($define{'PERL_MALLOC_WRAP'}) {
- skip_symbols [qw(
- PL_memory_wrap
- )];
-}
-
if ($define{'PERL_USE_SAFE_PUTENV'}) {
skip_symbols [qw(
PL_use_safe_putenv
PL_sharedsv_space
PL_sharedsv_space_mutex
PL_dollarzero_mutex
+ PL_hints_mutex
+ PL_perlio_mutex
+ PL_regdupe
Perl_dirp_dup
Perl_cx_dup
Perl_si_dup
Perl_sharedsv_thrcnt_inc
Perl_sharedsv_unlock
Perl_stashpv_hvname_match
+ Perl_regdupe_internal
)];
}
unless ($define{'PERL_IMPLICIT_CONTEXT'}) {
skip_symbols [qw(
+ PL_my_ctx_mutex
+ PL_my_cxt_index
+ PL_my_cxt_list
+ PL_my_cxt_size
Perl_croak_nocontext
Perl_die_nocontext
Perl_deb_nocontext
Perl_sv_setpvf_nocontext
Perl_sv_catpvf_mg_nocontext
Perl_sv_setpvf_mg_nocontext
+ Perl_my_cxt_init
)];
}
Perl_gv_SVadd
)];
}
+if ($define{'SPRINTF_RETURNS_STRLEN'}) {
+ skip_symbols [qw(
+ Perl_my_sprintf
+ )];
+}
+unless ($define{'PERL_USES_PL_PIDSTATUS'}) {
+ skip_symbols [qw(
+ Perl_pidgone
+ PL_pidstatus
+ )];
+}
+
+unless ($define{'PERL_TRACK_MEMPOOL'}) {
+ skip_symbols [qw(
+ PL_memory_debug_header
+ )];
+}
+
+if ($define{'PERL_MAD'}) {
+ skip_symbols [qw(
+ PL_nextval
+ PL_nexttype
+ )];
+} else {
+ skip_symbols [qw(
+ PL_madskills
+ PL_xmlfp
+ PL_lasttoke
+ PL_realtokenstart
+ PL_faketokens
+ PL_thismad
+ PL_thistoken
+ PL_thisopen
+ PL_thisstuff
+ PL_thisclose
+ PL_thiswhite
+ PL_nextwhite
+ PL_skipwhite
+ PL_endwhite
+ PL_curforce
+ Perl_pad_peg
+ Perl_xmldump_indent
+ Perl_xmldump_vindent
+ Perl_xmldump_all
+ Perl_xmldump_packsubs
+ Perl_xmldump_sub
+ Perl_xmldump_form
+ Perl_xmldump_eval
+ Perl_sv_catxmlsv
+ Perl_sv_catxmlpvn
+ Perl_sv_xmlpeek
+ Perl_do_pmop_xmldump
+ Perl_pmop_xmldump
+ Perl_do_op_xmldump
+ Perl_op_xmldump
+ )];
+}
unless ($define{'d_mmap'}) {
skip_symbols [qw(
PerlIO_sv_dup
Perl_PerlIO_clearerr
Perl_PerlIO_close
+ Perl_PerlIO_context_layers
Perl_PerlIO_eof
Perl_PerlIO_error
Perl_PerlIO_fileno
emit_symbols \@layer_syms;
emit_symbols [qw(perlsio_binmode)];
}
+ if ($define{'USE_ITHREADS'}) {
+ emit_symbols [qw(
+ PL_perlio_mutex
+ )];
+ }
+ else {
+ skip_symbols [qw(
+ PL_perlio_mutex
+ )];
+ }
} else {
# -Uuseperlio
# Skip the PerlIO layer symbols - although
# nothing should have exported them anyway.
skip_symbols \@layer_syms;
- skip_symbols [qw(perlsio_binmode)];
- skip_symbols [qw(PL_def_layerlist PL_known_layers PL_perlio)];
+ skip_symbols [qw(
+ perlsio_binmode
+ PL_def_layerlist
+ PL_known_layers
+ PL_perlio
+ PL_perlio_debug_fd
+ PL_perlio_fd_refcnt
+ PL_perlio_fd_refcnt_size
+ )];
# Also do NOT add abstraction symbols from $perlio_sym
# abstraction is done as #define to stdio
1;
__DATA__
-# extra globals not included above.
-Perl_cxinc
-perl_alloc
-perl_alloc_using
-perl_clone
-perl_clone_using
-perl_construct
-perl_destruct
-perl_free
-perl_parse
-perl_run
# Oddities from PerlIO
PerlIO_binmode
PerlIO_getpos