X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=makedef.pl;h=e8fa48a1dc4d634e911df41446f0734fc28c39dd;hb=bb7c595be2e30a806b95ad83e9d3613aeb95c384;hp=bc47833ea2d3018d9dfab209b369568dc27493a7;hpb=c69033f2a629160559f680da8e4e5a7e3c4c3a0c;p=p5sagit%2Fp5-mst-13.2.git diff --git a/makedef.pl b/makedef.pl index bc47833..e8fa48a 100644 --- a/makedef.pl +++ b/makedef.pl @@ -36,6 +36,24 @@ 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 "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 $config = `$^X -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 +151,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 +250,6 @@ if ($PLATFORM eq 'win32') { PL_linestart PL_modcount PL_pending_ident - PL_sortcxix PL_sublex_info PL_timesbuf main @@ -289,7 +307,6 @@ if ($PLATFORM eq 'wince') { PL_linestart PL_modcount PL_pending_ident - PL_sortcxix PL_sublex_info PL_timesbuf PL_collation_ix @@ -490,7 +507,6 @@ elsif ($PLATFORM eq 'netware') { PL_linestart PL_modcount PL_pending_ident - PL_sortcxix PL_sublex_info PL_timesbuf main @@ -649,6 +665,12 @@ unless ($define{'PERL_MALLOC_WRAP'}) { )]; } +if ($define{'PERL_USE_SAFE_PUTENV'}) { + skip_symbols [qw( + PL_use_safe_putenv + )]; +} + unless ($define{'USE_ITHREADS'}) { skip_symbols [qw( PL_thr_key @@ -794,6 +816,17 @@ unless ($define{'PERL_DONT_CREATE_GVSV'}) { 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(