X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=win32%2Fmakedef.pl;h=c366be4cddd12fc780563ac7ffde820bbe57f77f;hb=a5871d1a83cd3d5c7292135cbb30a336a8552ab0;hp=1bda71e722ac04badf2cd2dfabb0263632553480;hpb=31fb120917c4f65d2069bd7d23b1876b523066fe;p=p5sagit%2Fp5-mst-13.2.git diff --git a/win32/makedef.pl b/win32/makedef.pl index 1bda71e..c366be4 100644 --- a/win32/makedef.pl +++ b/win32/makedef.pl @@ -14,23 +14,25 @@ # 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:$!"; while () { $define{$1} = 1 if /^\s*#\s*define\s+(MYMALLOC)\b/; + $define{$1} = 1 if /^\s*#\s*define\s+(USE_THREADS)\b/; } close(CFG); warn join(' ',keys %define)."\n"; -my $CCTYPE = shift || "MSVC"; - if ($CCTYPE ne 'GCC') { print "LIBRARY Perl\n"; @@ -78,12 +80,6 @@ Perl_chsize 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 @@ -163,15 +159,9 @@ Perl_timesbuf Perl_too_few_arguments Perl_too_many_arguments Perl_unlnk -Perl_wait4pid Perl_watch Perl_yyname Perl_yyrule -Perl_Yes -Perl_No -Perl_hexdigit -Perl_patleave -Perl_vert allgvs curblock curcsv @@ -210,9 +200,12 @@ if ($define{'MYMALLOC'}) unless ($define{'USE_THREADS'}) { skip_symbols [qw( +Perl_getTHR +Perl_setTHR Perl_condpair_magic Perl_thr_key Perl_sv_mutex +Perl_svref_mutex Perl_malloc_mutex Perl_eval_mutex Perl_eval_cond @@ -223,6 +216,7 @@ Perl_nthreads Perl_nthreads_cond Perl_per_thread_magicals Perl_thread_create +Perl_threadnum Perl_find_threadsv Perl_threadsv_names Perl_thrsv @@ -235,7 +229,11 @@ Perl_sv_true Perl_sv_uv Perl_sv_pvn Perl_newRV_noinc)]; + } +unless ($define{'FAKE_THREADS'}) + { + skip_symbols [qw(Perl_curthr)]; } sub readvar @@ -247,7 +245,7 @@ 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; @@ -274,12 +272,23 @@ if ($define{'PERL_GLOBAL_STRUCT'}) 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 () { @@ -366,6 +375,7 @@ __DATA__ perl_init_i18nl10n perl_init_ext perl_alloc +perl_atexit perl_construct perl_destruct perl_free @@ -382,6 +392,11 @@ perl_call_sv perl_require_pv perl_eval_pv perl_eval_sv +perl_new_ctype +perl_new_collate +perl_new_numeric +perl_set_numeric_standard +perl_set_numeric_local boot_DynaLoader Perl_thread_create win32_errno @@ -502,6 +517,10 @@ win32_times 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