diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2000-02-09 19:38:04 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2000-02-09 19:38:04 +0000 |
commit | 18c4b137c9980e718512bda9b795c3430bccd5f4 (patch) | |
tree | cc27871c8e9c9ebbe304608bf15d71c9c431656f /makedef.pl | |
parent | a99dda5d5fbc1bdcf2251bf6ff1d9815e1e917c9 (diff) | |
download | perl-18c4b137c9980e718512bda9b795c3430bccd5f4.tar.gz |
fix AIX and multiplicity problems
p4raw-id: //depot/cfgperl@5054
Diffstat (limited to 'makedef.pl')
-rw-r--r-- | makedef.pl | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/makedef.pl b/makedef.pl index 1b77855814..eaeb269a8d 100644 --- a/makedef.pl +++ b/makedef.pl @@ -100,6 +100,33 @@ while (<CFG>) { } 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"; @@ -472,7 +499,13 @@ for my $syms (@syms) { # variables if ($define{'PERL_OBJECT'} || $define{'MULTIPLICITY'}) { - for my $f ($perlvars_h, $intrpvar_h, $thrdvar_h) { + for my $f ($perlvars_h) { + my $glob = readvar($f, sub { "Perl_" . $_[1] . $_[2] . "_ptr" }); + emit_symbols $glob; + $glob = readvar($f); + emit_symbols $glob; + } + for my $f ($intrpvar_h, $thrdvar_h) { my $glob = readvar($f, sub { "Perl_" . $_[1] . $_[2] . "_ptr" }); emit_symbols $glob; } |