# that does not present in the WIN32 port but there is no easy
# way to find them so I just put a exception list here
-while (@ARGV && $ARGV[0] =~ /^-/)
+my $CCTYPE = "MSVC"; # default
+
+while (@ARGV)
{
my $flag = shift;
$define{$1} = 1 if ($flag =~ /^-D(\w+)$/);
+ $CCTYPE = $1 if ($flag =~ /^CCTYPE=(\w+)$/);
}
open(CFG,'config.h') || die "Cannot open config.h:$!";
warn join(' ',keys %define)."\n";
-my $CCTYPE = shift || "MSVC";
-
if ($CCTYPE ne 'GCC')
{
print "LIBRARY Perl\n";
Perl_ck_aelem
Perl_cryptseen
Perl_cx_dump
-Perl_deb
-Perl_deb_growlevel
-Perl_debop
-Perl_debprofdump
-Perl_debstack
-Perl_debstackptrs
Perl_do_ipcctl
Perl_do_ipcget
Perl_do_msgrcv
Perl_too_few_arguments
Perl_too_many_arguments
Perl_unlnk
-Perl_wait4pid
Perl_watch
Perl_yyname
Perl_yyrule
Perl_nthreads_cond
Perl_per_thread_magicals
Perl_thread_create
+Perl_threadnum
Perl_find_threadsv
Perl_threadsv_names
Perl_thrsv
Perl_sv_uv
Perl_sv_pvn
Perl_newRV_noinc)];
+ }
+unless ($define{'FAKE_THREADS'})
+ {
+ skip_symbols [qw(Perl_curthr)];
}
sub readvar
{
# All symbols have a Perl_ prefix because that's what embed.h
# sticks in front of them.
- push(@syms,"Perl_".$1) if (/\bPERLVARI?\([IGT](\w+)/);
+ push(@syms,"Perl_".$1) if (/\bPERLVARI?C?\([IGT](\w+)/);
}
close(VARS);
return \@syms;
unless ($define{'DEBUGGING'})
{
skip_symbols [qw(
+ Perl_deb
+ Perl_deb_growlevel
+ Perl_debop
+ Perl_debprofdump
+ Perl_debstack
+ Perl_debstackptrs
Perl_runops_debug
Perl_sv_peek
Perl_watchaddr
Perl_watchok)];
}
+if ($define{'HAVE_DES_FCRYPT'})
+ {
+ emit_symbols [qw(win32_crypt)];
+ }
+
open (GLOBAL, "<../global.sym") || die "failed to open global.sym" . $!;
while (<GLOBAL>)
{
win32_alarm
win32_open_osfhandle
win32_get_osfhandle
+win32_ioctl
+win32_utime
+win32_wait
+win32_str_os_error
Perl_win32_init
Perl_init_os_extras
Perl_getTHR