diff options
author | Chris Nandor <pudge@pobox.com> | 2001-02-12 19:02:43 -0500 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2001-02-13 14:22:50 +0000 |
commit | 084592ab0b76f3cbd4d089afb08ccea7ba1c9dd8 (patch) | |
tree | 8a175b8128ee3a57f4f96b96a3290adb0eb07399 /makedef.pl | |
parent | 67127a85e86d9ef67c9a136224ffce237c7df32b (diff) | |
download | perl-084592ab0b76f3cbd4d089afb08ccea7ba1c9dd8.tar.gz |
buncha MacPerl patches for bleadperl
Message-Id: <p05010404b6ae6f85e07a@[10.0.1.177]>
p4raw-id: //depot/perl@8792
Diffstat (limited to 'makedef.pl')
-rw-r--r-- | makedef.pl | 96 |
1 files changed, 92 insertions, 4 deletions
diff --git a/makedef.pl b/makedef.pl index 6a30fc6ee9..c677458d81 100644 --- a/makedef.pl +++ b/makedef.pl @@ -51,7 +51,7 @@ while (@ARGV) { $PLATFORM = $1 if ($flag =~ /^PLATFORM=(\w+)$/); } -my @PLATFORM = qw(aix win32 os2); +my @PLATFORM = qw(aix win32 os2 MacOS); my %PLATFORM; @PLATFORM{@PLATFORM} = (); @@ -78,8 +78,14 @@ elsif ($PLATFORM eq 'win32') { s!^!..\\!; } } +elsif ($PLATFORM eq 'MacOS') { + foreach ($thrdvar_h, $intrpvar_h, $perlvars_h, $global_sym, + $pp_sym, $globvar_sym, $perlio_sym) { + s!^!::!; + } +} -unless ($PLATFORM eq 'win32') { +unless ($PLATFORM eq 'win32' || $PLATFORM eq 'MacOS') { open(CFG,$config_sh) || die "Cannot open $config_sh: $!\n"; while (<CFG>) { if (/^(?:ccflags|optimize)='(.+)'$/) { @@ -300,6 +306,33 @@ elsif ($PLATFORM eq 'os2') { Perl_hab_GET )]); } +elsif ($PLATFORM eq 'MacOS') { + skip_symbols [qw( + Perl_GetVars + PL_cryptseen + PL_cshlen + PL_cshname + PL_statusvalue_vms + PL_sys_intern + PL_opsave + PL_timesbuf + Perl_dump_fds + Perl_my_bcopy + Perl_my_bzero + Perl_my_chsize + Perl_my_htonl + Perl_my_memcmp + Perl_my_memset + Perl_my_ntohl + Perl_my_swap + Perl_safexcalloc + Perl_safexfree + Perl_safexmalloc + Perl_safexrealloc + Perl_unlnk + )]; +} + unless ($define{'DEBUGGING'}) { skip_symbols [qw( @@ -498,7 +531,53 @@ if ($define{'PERL_GLOBAL_STRUCT'}) { my @syms = ($global_sym, $globvar_sym); # $pp_sym is not part of the API if ($define{'USE_PERLIO'}) { - push @syms, $perlio_sym; + push @syms, $perlio_sym; + if ($define{'USE_SFIO'}) { + # SFIO defines most of the PerlIO routines as macros + skip_symbols [qw( + PerlIO_canset_cnt + PerlIO_clearerr + PerlIO_close + PerlIO_eof + PerlIO_error + PerlIO_exportFILE + PerlIO_fast_gets + PerlIO_fdopen + PerlIO_fileno + PerlIO_findFILE + PerlIO_flush + PerlIO_get_base + PerlIO_get_bufsiz + PerlIO_get_cnt + PerlIO_get_ptr + PerlIO_getc + PerlIO_getname + PerlIO_has_base + PerlIO_has_cntptr + PerlIO_importFILE + PerlIO_open + PerlIO_printf + PerlIO_putc + PerlIO_puts + PerlIO_read + PerlIO_releaseFILE + PerlIO_reopen + PerlIO_rewind + PerlIO_seek + PerlIO_set_cnt + PerlIO_set_ptrcnt + PerlIO_setlinebuf + PerlIO_sprintf + PerlIO_stderr + PerlIO_stdin + PerlIO_stdout + PerlIO_stdoutf + PerlIO_tell + PerlIO_ungetc + PerlIO_vprintf + PerlIO_write + )]; + } } for my $syms (@syms) { @@ -725,6 +804,15 @@ elsif ($PLATFORM eq 'os2') { keys %export; delete $export{$_} foreach @missing; } +elsif ($PLATFORM eq 'MacOS') { + open MACSYMS, 'macperl.sym' or die 'Cannot read macperl.sym'; + + while (<MACSYMS>) { + try_symbol($_); + } + + close MACSYMS; +} # Now all symbols should be defined because # next we are going to output them. @@ -771,7 +859,7 @@ sub output_symbol { elsif ($PLATFORM eq 'os2') { print qq( "$symbol"\n); } - elsif ($PLATFORM eq 'aix') { + elsif ($PLATFORM eq 'aix' || $PLATFORM eq 'MacOS') { print "$symbol\n"; } } |