summaryrefslogtreecommitdiff
path: root/makedef.pl
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2000-02-09 19:38:04 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2000-02-09 19:38:04 +0000
commit18c4b137c9980e718512bda9b795c3430bccd5f4 (patch)
treecc27871c8e9c9ebbe304608bf15d71c9c431656f /makedef.pl
parenta99dda5d5fbc1bdcf2251bf6ff1d9815e1e917c9 (diff)
downloadperl-18c4b137c9980e718512bda9b795c3430bccd5f4.tar.gz
fix AIX and multiplicity problems
p4raw-id: //depot/cfgperl@5054
Diffstat (limited to 'makedef.pl')
-rw-r--r--makedef.pl35
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;
}