summaryrefslogtreecommitdiff
path: root/makedef.pl
diff options
context:
space:
mode:
authorIlya Zakharevich <ilya@math.berkeley.edu>2003-03-31 04:43:37 -0800
committerJarkko Hietaniemi <jhi@iki.fi>2003-04-01 16:32:03 +0000
commit5c728af092d5febae92774d9106a235643cb49e5 (patch)
treef2b54077514f1f871504f57b7633df9dcdb72876 /makedef.pl
parent15978375e3ac30958ab56d2e88249ad742eecd30 (diff)
downloadperl-5c728af092d5febae92774d9106a235643cb49e5.tar.gz
Integrate:
[ 19106] Subject: [PATCH 5.8.1 @19053] OS/2-related patches Message-ID: <20030331204337.GA3634@math.berkeley.edu> and regen Configure. p4raw-link: @19106 on //depot/maint-5.8/perl: 8257dec7ed17c0d4d721411d2a781ceadf724da5 p4raw-id: //depot/perl@19120 p4raw-edited: from //depot/maint-5.8/perl@19118 'edit in' embedvar.h (@18804..) p4raw-integrated: from //depot/maint-5.8/perl@19118 'copy in' os2/Makefile.SHs os2/OS2/ExtAttr/Changes os2/OS2/ExtAttr/ExtAttr.pm os2/OS2/PrfDB/Changes os2/OS2/PrfDB/PrfDB.pm os2/OS2/REXX/DLL/DLL.pm os2/OS2/REXX/REXX.pm os2/dl_os2.c os2/os2thread.h (@17645..) ext/threads/threads.xs (@18619..) perlio.c (@18948..) Makefile.SH (@19061..) 'ignore' embed.pl (@18872..) embed.h (@19011..) embed.fnc (@19030..) 'merge in' os2/os2ish.h (@17645..) os2/os2.c (@18347..) perlapi.h (@18804..) perlvars.h (@18808..) makedef.pl (@18896..) intrpvar.h (@18920..) sv.c (@18961..) p4raw-edited: from //depot/maint-5.8/perl@19106 'edit in' Configure (@19040..) p4raw-integrated: from //depot/maint-5.8/perl@19106 'copy in' reentr.h (@18850..) reentr.c reentr.pl (@18922..)
Diffstat (limited to 'makedef.pl')
-rw-r--r--makedef.pl18
1 files changed, 16 insertions, 2 deletions
diff --git a/makedef.pl b/makedef.pl
index ef84c18796..b075eb41db 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+)$/);
@@ -417,7 +424,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(
@@ -947,7 +961,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;
}