From: Steve Hay Date: Thu, 21 Jul 2005 17:01:33 +0000 (+0000) Subject: Make makedef.pl read "miniperl -V" on Win32 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=17bdc114163535a73d3e2fdde10eb61bdbc86f05;p=p5sagit%2Fp5-mst-13.2.git Make makedef.pl read "miniperl -V" on Win32 Perhaps other platforms that use makedef.pl also need a similar change (currently required to pick up PERL_DONT_CREATE_GVSV), but it also requires them to have minimal canned configs (if they are using canned configs like Win32 does) and I don't have any of the affected platforms (AIX, WinCE, OS/2, MacOS Classic and NetWare) for testing, so play it safe instead p4raw-id: //depot/perl@25209 --- diff --git a/makedef.pl b/makedef.pl index bc47833..b460bee 100644 --- a/makedef.pl +++ b/makedef.pl @@ -36,6 +36,22 @@ 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') { + # Add the compile-time options that miniperl was built with to %define. + # 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 -V`; + my($options) = $config =~ /^ Compile-time options: (.*?)^ \S/ms; + foreach (split /\s+/, $options) { + $define{$_} = 1; + } +} + my %exportperlmalloc = ( Perl_malloc => "malloc",