# the user might have chosen to disable because the canned configs are
# minimal configs that don't include any of those options.
-my @options = sort(Config::bincompat_options(), Config::non_bincompat_options());
-print STDERR "Options: (@options)\n" unless $ARGS{PLATFORM} eq 'test';
-$define{$_} = 1 foreach @options;
+#don't use the host Perl's -V defines for the WinCE Perl
+if($ARGS{PLATFORM} ne 'wince') {
+ my @options = sort(Config::bincompat_options(), Config::non_bincompat_options());
+ print STDERR "Options: (@options)\n" unless $ARGS{PLATFORM} eq 'test';
+ $define{$_} = 1 foreach @options;
+}
my %exportperlmalloc =
(
my $exportperlmalloc = $ARGS{PLATFORM} eq 'os2';
-open(CFG, '<', 'config.h') || die "Cannot open config.h: $!\n";
+my $config_h = $ARGS{PLATFORM} eq 'wince' ? 'xconfig.h' : 'config.h';
+open(CFG, '<', $config_h) || die "Cannot open $config_h: $!\n";
while (<CFG>) {
$define{$1} = 1 if /^\s*\#\s*define\s+(MYMALLOC|MULTIPLICITY
|SPRINTF_RETURNS_STRLEN
++$skip{Perl_sv_setsv_cow};
}
-unless ($define{PERL_SAW_AMPERSAND}) {
+unless ($define{PERL_SAWAMPERSAND}) {
++$skip{PL_sawampersand};
}
unless ($define{'MULTIPLICITY'}) {
++$skip{$_} foreach qw(
PL_interp_size
- PL_interp_size_5_16_0
+ PL_interp_size_5_18_0
);
}
}
if ($define{'USE_PERLIO'}) {
- # Export the symols that make up the PerlIO abstraction, regardless
+ # Export the symbols that make up the PerlIO abstraction, regardless
# of its implementation - read from a file
push @syms, 'perlio.sym';
foreach (@$embed) {
my ($flags, $retval, $func, @args) = @$_;
next unless $func;
- if ($flags =~ /[AX]/ && $flags !~ /[xm]/ || $flags =~ /b/) {
+ if ($flags =~ /[AX]/ && $flags !~ /[xmi]/ || $flags =~ /b/) {
# public API, so export
# If a function is defined twice, for example before and after
# within the block, as the *first* definition may have flags which
# mean "don't export"
next if $seen{$func}++;
- $func = "Perl_$func" if $flags =~ /[pbX]/;
+ # Should we also skip adding the Perl_ prefix if $flags =~ /o/ ?
+ $func = "Perl_$func" if ($flags =~ /[pbX]/ && $func !~ /^Perl_/);
++$export{$func} unless exists $skip{$func};
}
}
));
}
+if ($ARGS{PLATFORM} eq 'wince') {
+ ++$skip{'win32_isatty'}; # commit 4342f4d6df is win32-only
+}
+
if ($ARGS{PLATFORM} =~ /^win(?:32|ce)$/) {
try_symbols(qw(
Perl_init_os_extras