#
# Needed by WIN32 and OS/2 for creating perl.dll,
# and by AIX for creating libperl.a when -Dusershrplib is in effect,
-# and by MacOS Classic.
#
# Reads from information stored in
#
# global.sym
# globvar.sym
# intrpvar.h
-# macperl.sym (on MacOS)
# miniperl.map (on OS/2)
# perl5.def (on OS/2; this is the old version of the file being made)
# perlio.sym
}
}
-my @PLATFORM = qw(aix win32 wince os2 MacOS netware);
+my @PLATFORM = qw(aix win32 wince os2 netware);
my %PLATFORM;
@PLATFORM{@PLATFORM} = ();
my $intrpvar_h = "intrpvar.h";
my $perlvars_h = "perlvars.h";
my $global_sym = "global.sym";
-my $pp_sym = "pp.sym";
my $globvar_sym = "globvar.sym";
my $perlio_sym = "perlio.sym";
my $static_ext = "";
}
elsif ($PLATFORM =~ /^win(?:32|ce)$/ || $PLATFORM eq 'netware') {
$CCTYPE = "MSVC" unless defined $CCTYPE;
- foreach ($intrpvar_h, $perlvars_h, $global_sym,
- $pp_sym, $globvar_sym, $perlio_sym) {
+ foreach ($intrpvar_h, $perlvars_h, $global_sym, $globvar_sym, $perlio_sym) {
s!^!..\\!;
}
}
-elsif ($PLATFORM eq 'MacOS') {
- foreach ($intrpvar_h, $perlvars_h, $global_sym,
- $pp_sym, $globvar_sym, $perlio_sym) {
- s!^!::!;
- }
-}
-unless ($PLATFORM eq 'win32' || $PLATFORM eq 'wince' || $PLATFORM eq 'MacOS' || $PLATFORM eq 'netware') {
+unless ($PLATFORM eq 'win32' || $PLATFORM eq 'wince' || $PLATFORM eq 'netware') {
open(CFG,$config_sh) || die "Cannot open $config_sh: $!\n";
while (<CFG>) {
if (/^(?:ccflags|optimize)='(.+)'$/) {
print "LIBRARY $dll\n";
# The DESCRIPTION module definition file statement is not supported
# by VC7 onwards.
- if ($CCTYPE !~ /^MSVC7/ && $CCTYPE !~ /^MSVC8/ && $CCTYPE !~ /^MSVC9/) {
+ if ($CCTYPE =~ /^(?:MSVC60|GCC|BORLAND)$/) {
print "DESCRIPTION 'Perl interpreter'\n";
}
print "EXPORTS\n";
)])
if $define{'USE_5005THREADS'} or $define{'USE_ITHREADS'};
}
-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
- Perl_sys_intern_clear
- Perl_sys_intern_init
- )];
-}
elsif ($PLATFORM eq 'netware') {
skip_symbols [qw(
PL_statusvalue_vms
# functions from *.sym files
-my @syms = ($global_sym, $globvar_sym); # $pp_sym is not part of the API
+my @syms = ($global_sym, $globvar_sym);
# Symbols that are the public face of the PerlIO layers implementation
# These are in _addition to_ the public face of the abstraction
# variables
-if ($define{'MULTIPLICITY'}) {
- for my $f ($perlvars_h, $intrpvar_h) {
+if ($define{'MULTIPLICITY'} && $define{PERL_GLOBAL_STRUCT}) {
+ for my $f ($perlvars_h) {
my $glob = readvar($f, sub { "Perl_" . $_[1] . $_[2] . "_ptr" });
emit_symbols $glob;
}
- unless ($define{'USE_ITHREADS'}) {
- # XXX needed for XS extensions that define PERL_CORE
- emit_symbol("PL_curinterp");
- }
# XXX AIX seems to want the perlvars.h symbols, for some reason
if ($PLATFORM eq 'aix' or $PLATFORM eq 'os2') { # OS/2 needs PL_thr_key
my $glob = readvar($perlvars_h);
my $glob = readvar($perlvars_h);
emit_symbols $glob;
}
- my $glob = readvar($intrpvar_h);
- emit_symbols $glob;
+ unless ($define{MULTIPLICITY}) {
+ my $glob = readvar($intrpvar_h);
+ emit_symbols $glob;
+ }
}
sub try_symbol {
@missing = grep { !exists $exportperlmalloc{$_} } @missing;
delete $export{$_} foreach @missing;
}
-elsif ($PLATFORM eq 'MacOS') {
- open MACSYMS, 'macperl.sym' or die 'Cannot read macperl.sym';
-
- while (<MACSYMS>) {
- try_symbol($_);
- }
-
- close MACSYMS;
-}
elsif ($PLATFORM eq 'netware') {
foreach my $symbol (qw(
boot_DynaLoader
$ordinal{$exportperlmalloc{$symbol}} || ++$sym_ord
if $exportperlmalloc and exists $exportperlmalloc{$symbol};
}
- elsif ($PLATFORM eq 'aix' || $PLATFORM eq 'MacOS') {
+ elsif ($PLATFORM eq 'aix') {
print "$symbol\n";
}
elsif ($PLATFORM eq 'netware') {