X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=makedef.pl;h=e63034beb01d13564adc7c6253961cd062ac4c7f;hb=9ec58fb7ec19e41fee2f2944750a45a2a85e4a03;hp=1b7785581436077830a97565d2696107109d63af;hpb=95151ede387cd538ff8505bd2a82530dd81dcfe9;p=p5sagit%2Fp5-mst-13.2.git diff --git a/makedef.pl b/makedef.pl index 1b77855..e63034b 100644 --- a/makedef.pl +++ b/makedef.pl @@ -11,7 +11,11 @@ my $PLATFORM; my $CCTYPE; my %bincompat5005 = - (Perl_call_argv => "perl_call_argv", + ( + Perl_call_atexit => "perl_atexit", + Perl_eval_sv => "perl_eval_sv", + Perl_eval_pv => "perl_eval_pv", + Perl_call_argv => "perl_call_argv", Perl_call_method => "perl_call_method", Perl_call_pv => "perl_call_pv", Perl_call_sv => "perl_call_sv", @@ -34,7 +38,8 @@ my %bincompat5005 = Perl_malloc => "malloc", Perl_mfree => "free", Perl_realloc => "realloc", - Perl_calloc => "calloc",); + Perl_calloc => "calloc", + ); my $bincompat5005 = join("|", keys %bincompat5005); @@ -100,6 +105,33 @@ while () { } close(CFG); +# perl.h logic duplication begins + +if ($define{USE_ITHREADS}) { + if (!$define{MULTIPLICITY} && !$define{PERL_OBJECT}) { + $define{MULTIPLICITY} = 1; + } +} + +$define{PERL_IMPLICIT_CONTEXT} ||= + $define{USE_ITHREADS} || + $define{USE_5005THREADS} || + $define{MULTIPLICITY} ; + +if ($define{PERL_CAPI}) { + delete $define{PERL_OBJECT}; + $define{MULTIPLICITY} = 1; + $define{PERL_IMPLICIT_CONTEXT} = 1; + $define{PERL_IMPLICIT_SYS} = 1; +} + +if ($define{PERL_OBJECT}) { + $define{PERL_IMPLICIT_CONTEXT} = 1; + $define{PERL_IMPLICIT_SYS} = 1; +} + +# perl.h logic duplication ends + if ($PLATFORM eq 'win32') { warn join(' ',keys %define)."\n"; print "LIBRARY Perl56\n"; @@ -243,6 +275,7 @@ elsif ($PLATFORM eq 'os2') { dlopen dlsym dlerror + dlclose my_tmpfile my_tmpnam my_flock @@ -314,9 +347,18 @@ else { )]; } +unless ($define{'PERL_FLEXIBLE_EXCEPTIONS'}) { + skip_symbols [qw( + PL_protect + Perl_default_protect + Perl_vdefault_protect + )]; +} + if ($define{'MYMALLOC'}) { emit_symbols [qw( Perl_dump_mstats + Perl_get_mstats Perl_malloc Perl_mfree Perl_realloc @@ -327,11 +369,17 @@ if ($define{'MYMALLOC'}) { PL_malloc_mutex )]; } + else { + skip_symbols [qw( + PL_malloc_mutex + )]; + } } else { skip_symbols [qw( PL_malloc_mutex Perl_dump_mstats + Perl_get_mstats Perl_malloc Perl_mfree Perl_realloc @@ -340,9 +388,14 @@ else { )]; } -unless ($define{'USE_5005THREADS'}) { +unless ($define{'USE_5005THREADS'} || $define{'USE_ITHREADS'}) { skip_symbols [qw( PL_thr_key + )]; +} + +unless ($define{'USE_5005THREADS'}) { + skip_symbols [qw( PL_sv_mutex PL_strtab_mutex PL_svref_mutex @@ -357,8 +410,6 @@ unless ($define{'USE_5005THREADS'}) { PL_threadsv_names PL_thrsv PL_vtbl_mutex - Perl_getTHR - Perl_setTHR Perl_condpair_magic Perl_new_struct_thread Perl_per_thread_magicals @@ -372,6 +423,7 @@ unless ($define{'USE_5005THREADS'}) { unless ($define{'USE_ITHREADS'}) { skip_symbols [qw( PL_ptr_table + PL_op_mutex Perl_dirp_dup Perl_cx_dup Perl_si_dup @@ -399,6 +451,7 @@ unless ($define{'PERL_IMPLICIT_CONTEXT'}) { Perl_die_nocontext Perl_deb_nocontext Perl_form_nocontext + Perl_load_module_nocontext Perl_mess_nocontext Perl_warn_nocontext Perl_warner_nocontext @@ -476,6 +529,11 @@ if ($define{'PERL_OBJECT'} || $define{'MULTIPLICITY'}) { my $glob = readvar($f, sub { "Perl_" . $_[1] . $_[2] . "_ptr" }); emit_symbols $glob; } + # XXX AIX seems to want the perlvars.h symbols, for some reason + if ($PLATFORM eq 'aix') { + my $glob = readvar($perlvars_h); + emit_symbols $glob; + } } else { unless ($define{'PERL_GLOBAL_STRUCT'}) { @@ -510,14 +568,10 @@ while () { if ($PLATFORM eq 'win32') { foreach my $symbol (qw( boot_DynaLoader - Perl_getTHR Perl_init_os_extras - Perl_setTHR Perl_thread_create Perl_win32_init RunPerl - GetPerlInterpreter - SetPerlInterpreter win32_errno win32_environ win32_stdin