X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=makedef.pl;h=6b4adc2a5394870ed709f624bf6a788311756f1a;hb=ca9279baf07d6843f58a31f1ce3ff7dc875faf1a;hp=848e8d98fe676aa8b64457820e33a103b658da84;hpb=0190f6ec86786064d260189cc19ad5f413c4a0a3;p=p5sagit%2Fp5-mst-13.2.git diff --git a/makedef.pl b/makedef.pl index 848e8d9..6b4adc2 100644 --- a/makedef.pl +++ b/makedef.pl @@ -6,13 +6,20 @@ # and by MacOS Classic. # # reads global.sym, pp.sym, perlvars.h, intrpvar.h, thrdvar.h, config.h -# On OS/2 reads miniperl.map as well +# On OS/2 reads miniperl.map and the previous version of perl5.def as well my $PLATFORM; my $CCTYPE; while (@ARGV) { my $flag = shift; + if ($flag =~ s/^CC_FLAGS=/ /) { + for my $fflag ($flag =~ /(?:^|\s)-D(\S+)/g) { + $fflag .= '=1' unless $fflag =~ /^(\w+)=/; + $define{$1} = $2 if $fflag =~ /^(\w+)=(.+)$/; + } + next; + } $define{$1} = 1 if ($flag =~ /^-D(\w+)$/); $define{$1} = $2 if ($flag =~ /^-D(\w+)=(.+)$/); $CCTYPE = $1 if ($flag =~ /^CCTYPE=(\w+)$/); @@ -381,6 +388,8 @@ elsif ($PLATFORM eq 'os2') { my_getpwent my_setpwent my_endpwent + fork_with_resources + croak_with_os2error setgrent endgrent getgrent @@ -417,7 +426,14 @@ elsif ($PLATFORM eq 'os2') { os2error ResetWinError CroakWinError + PL_do_undump )]); + emit_symbols([qw(os2_cond_wait + pthread_join + pthread_create + pthread_detach + )]) + if $define{'USE_5005THREADS'} or $define{'USE_ITHREADS'}; } elsif ($PLATFORM eq 'MacOS') { skip_symbols [qw( @@ -563,6 +579,7 @@ else { unless ($define{'PERL_COPY_ON_WRITE'}) { skip_symbols [qw( Perl_sv_setsv_cow + Perl_sv_release_IVX )]; } @@ -764,6 +781,8 @@ my @layer_syms = qw( PerlIOBase_read PerlIOBase_setlinebuf PerlIOBase_unread + PerlIOBase_noop_ok + PerlIOBase_noop_fail PerlIOBuf_bufsiz PerlIOBuf_fill PerlIOBuf_flush @@ -946,7 +965,7 @@ if ($define{'MULTIPLICITY'}) { emit_symbols $glob; } # XXX AIX seems to want the perlvars.h symbols, for some reason - if ($PLATFORM eq 'aix') { + if ($PLATFORM eq 'aix' or $PLATFORM eq 'os2') { # OS/2 needs PL_thr_key my $glob = readvar($perlvars_h); emit_symbols $glob; } @@ -989,6 +1008,7 @@ if ($PLATFORM =~ /^win(?:32|ce)$/) { Perl_init_os_extras Perl_thread_create Perl_win32_init + Perl_win32_term RunPerl win32_async_check win32_errno