From: Jarkko Hietaniemi Date: Wed, 9 Feb 2000 19:38:04 +0000 (+0000) Subject: fix AIX and multiplicity problems X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=18c4b137c9980e718512bda9b795c3430bccd5f4;p=p5sagit%2Fp5-mst-13.2.git fix AIX and multiplicity problems p4raw-id: //depot/cfgperl@5054 --- diff --git a/Makefile.SH b/Makefile.SH index c3e5c85..817b6a0 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 1b77855..eaeb269 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"; @@ -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; }