X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=makedef.pl;h=b98f65c9eb445ec6e50e436402689c324e8855c3;hb=85ce96a160e902929b94338ada20cf46b265d595;hp=8070f0af7b5709a1435821861b423c1808a13441;hpb=3a00b83ed94a188580921b4677320b4295bee93d;p=p5sagit%2Fp5-mst-13.2.git diff --git a/makedef.pl b/makedef.pl index 8070f0a..b98f65c 100644 --- a/makedef.pl +++ b/makedef.pl @@ -36,6 +36,25 @@ my %PLATFORM; defined $PLATFORM || die "PLATFORM undefined, must be one of: @PLATFORM\n"; exists $PLATFORM{$PLATFORM} || die "PLATFORM must be one of: @PLATFORM\n"; +if ($PLATFORM eq 'win32' or $PLATFORM eq 'wince' or $PLATFORM eq "aix") { + # Add the compile-time options that miniperl was built with to %define. + # On Win32 these are not the same options as perl itself will be built + # with since miniperl is built with a canned config (one of the win32/ + # config_H.*) and none of the BUILDOPT's that are set in the makefiles, + # but they do include some #define's that are hard-coded in various + # source files and header files and don't include any BUILDOPT's that + # the user might have chosen to disable because the canned configs are + # minimal configs that don't include any of those options. + my $opts = ($PLATFORM eq 'wince' ? '-MCross' : ''); # for wince need Cross.pm to get Config.pm + my $config = `$^X $opts -Ilib -V`; + my($options) = $config =~ /^ Compile-time options: (.*?)\n^ \S/ms; + $options =~ s/\s+/ /g; + print STDERR "Options: ($options)\n"; + foreach (split /\s+/, $options) { + $define{$_} = 1; + } +} + my %exportperlmalloc = ( Perl_malloc => "malloc", @@ -133,8 +152,9 @@ if ($define{USE_ITHREADS} && $PLATFORM ne 'win32' && $^O ne 'darwin') { my $sym_ord = 0; +print STDERR "Defines: (" . join(' ', sort keys %define) . ")\n"; + if ($PLATFORM =~ /^win(?:32|ce)$/) { - warn join(' ',keys %define)."\n"; ($dll = ($define{PERL_DLL} || "perl59")) =~ s/\.dll$//i; print "LIBRARY $dll\n"; print "DESCRIPTION 'Perl interpreter'\n"; @@ -231,7 +251,6 @@ if ($PLATFORM eq 'win32') { PL_linestart PL_modcount PL_pending_ident - PL_sortcxix PL_sublex_info PL_timesbuf main @@ -289,7 +308,6 @@ if ($PLATFORM eq 'wince') { PL_linestart PL_modcount PL_pending_ident - PL_sortcxix PL_sublex_info PL_timesbuf PL_collation_ix @@ -490,7 +508,6 @@ elsif ($PLATFORM eq 'netware') { PL_linestart PL_modcount PL_pending_ident - PL_sortcxix PL_sublex_info PL_timesbuf main @@ -564,6 +581,7 @@ unless ($define{'DEBUGGING'}) { Perl_debprofdump Perl_debstack Perl_debstackptrs + Perl_pad_sv Perl_sv_peek PL_block_type PL_watchaddr @@ -643,10 +661,10 @@ else { )]; } -unless ($define{'PERL_MALLOC_WRAP'}) { +if ($define{'PERL_USE_SAFE_PUTENV'}) { skip_symbols [qw( - PL_memory_wrap - )]; + PL_use_safe_putenv + )]; } unless ($define{'USE_ITHREADS'}) { @@ -784,6 +802,28 @@ unless ($define{'PERL_NEED_TIMESBASE'}) { )]; } +unless ($define{'DEBUG_LEAKING_SCALARS_FORK_DUMP'}) { + skip_symbols [qw( + PL_dumper_fd + )]; +} +unless ($define{'PERL_DONT_CREATE_GVSV'}) { + skip_symbols [qw( + Perl_gv_SVadd + )]; +} +if ($define{'SPRINTF_RETURNS_STRLEN'}) { + skip_symbols [qw( + Perl_my_sprintf + )]; +} +unless ($define{'PERL_USES_PL_PIDSTATUS'}) { + skip_symbols [qw( + Perl_pidgone + PL_pidstatus + )]; +} + unless ($define{'d_mmap'}) { skip_symbols [qw( PL_mmap_page_size