summaryrefslogtreecommitdiff
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
parenta99dda5d5fbc1bdcf2251bf6ff1d9815e1e917c9 (diff)
downloadperl-18c4b137c9980e718512bda9b795c3430bccd5f4.tar.gz
fix AIX and multiplicity problems
p4raw-id: //depot/cfgperl@5054
-rw-r--r--Makefile.SH2
-rw-r--r--makedef.pl35
2 files changed, 35 insertions, 2 deletions
diff --git a/Makefile.SH b/Makefile.SH
index c3e5c851cd..817b6a008a 100644
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -436,7 +436,7 @@ $(LIBPERL): $& perl$(OBJ_EXT) $(obj) $(LIBPERLEXPORT)
!NO!SUBS!
case "${osname}${osvers}" in
- next4*)
+ next4*|aix*)
$spitshell >>Makefile <<'!NO!SUBS!'
miniperl: $& miniperlmain$(OBJ_EXT) $(LIBPERL) opmini$(OBJ_EXT)
$(CC) -o miniperl `echo $(obj) | sed 's/ op$(OBJ_EXT) / /'` \
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;
}