X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/ec4e49dc1523dcdb6bec56a66be410eab95cfa61..46538741db37cc3beb7d7a909a5c15da28a5a933:/minimod.pl diff --git a/minimod.pl b/minimod.pl index 82760ee..a5bd172 100644 --- a/minimod.pl +++ b/minimod.pl @@ -1,4 +1,5 @@ -# minimod.PL writes the contents of miniperlmain.c into the module +#./miniperl -w +# minimod.pl writes the contents of miniperlmain.c into the module # ExtUtils::Miniperl for later perusal (when the perl source is # deleted) # @@ -10,6 +11,10 @@ # # Version 1.0, Feb 2nd 1995 by Andreas Koenig +BEGIN { unshift @INC, "lib" } + +use strict; + print <<'END'; # This File keeps the contents of miniperlmain.c. # @@ -32,6 +37,7 @@ open MINI, "miniperlmain.c"; while () { last if /Do not delete this line--writemain depends on it/; print; + /#include "perl.h"/ and print qq/#include "XSUB.h"\n/; } print <<'END'; @@ -59,14 +65,15 @@ sub writemain{ my($mname, $cname); ($mname = $pname) =~ s!/!::!g; ($cname = $pname) =~ s!/!__!g; - print "EXTERN_C void boot_${cname} _((CV* cv));\n"; + print "EXTERN_C void boot_${cname} (pTHX_ CV* cv);\n"; } - my ($tail1,$tail2) = ( $tail =~ /\A(.*\n)(\s*\}.*)\Z/s ); - print $tail1; + my ($tail1,$tail2,$tail3) = ( $tail =~ /\A(.*{\s*\n)(.*\n)(\s*\}.*)\Z/s ); - print "\tchar *file = __FILE__;\n"; + print $tail1; + print "\tconst char file[] = __FILE__;\n"; print "\tdXSUB_SYS;\n" if $] > 5.002; + print $tail2; foreach $_ (@exts){ my($pname) = canon('/', $_); @@ -86,7 +93,7 @@ sub writemain{ } print "\t}\n"; } - print $tail2; + print $tail3; } sub canon{