X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=makedef.pl;h=db9994578052056abd608c98b74c60688c8cb15d;hb=f91101c94610d6a9ffa5537a656223948d7d5d1f;hp=1b7785581436077830a97565d2696107109d63af;hpb=95151ede387cd538ff8505bd2a82530dd81dcfe9;p=p5sagit%2Fp5-mst-13.2.git diff --git a/makedef.pl b/makedef.pl index 1b77855..db99945 100644 --- a/makedef.pl +++ b/makedef.pl @@ -100,6 +100,33 @@ while () { } close(CFG); +# perl.h logic duplication begins + +if ($define{USE_ITHREADS}) { + if (!$define{MULTIPLICITY} && !defined{PERL_OBJECT}) { + $define{MULTIPLICITY} = 1; + } +} + +$define{PERL_IMPLICIT_CONTEXT} ||= + $define{USE_ITHREADS} || + $define{USE_THREADS} || + $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"; @@ -317,6 +344,7 @@ else { if ($define{'MYMALLOC'}) { emit_symbols [qw( Perl_dump_mstats + Perl_get_mstats Perl_malloc Perl_mfree Perl_realloc @@ -476,6 +504,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'}) {