X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=vms%2Fwritemain.pl;h=1843b3020654244d54da579bd92fcb6ed63d8d59;hb=a14438df21020189740a682ab40dab57be840556;hp=cd4c534ad38c1fe5c13ece2f74894a08185d656e;hpb=e518068a77032c4207f9b00e462857e158778ea4;p=p5sagit%2Fp5-mst-13.2.git diff --git a/vms/writemain.pl b/vms/writemain.pl index cd4c534..1843b30 100644 --- a/vms/writemain.pl +++ b/vms/writemain.pl @@ -5,7 +5,7 @@ # linker options file which causes the bootstrap routines for # these extension to be universal symbols in PerlShr.Exe. # -# Last modified 29-Nov-1994 by Charles Bailey bailey@genetics.upenn.edu +# Last modified 29-Nov-1994 by Charles Bailey bailey@newman.upenn.edu # if (-f 'miniperlmain.c') { $dir = ''; } @@ -34,13 +34,15 @@ if (!$ok) { print OUT <<'EOH'; static void -xs_init() +xs_init(pTHX) { EOH if (@ARGV) { + $names = join(' ',@ARGV); + $names =~ tr/"//d; # Plan9 doesn't remove "" on command line # Allow for multiple names in one quoted group - @exts = split(/\s+/, join(' ',@ARGV)); + @exts = split(/\s+/,$names); } if (@exts) { @@ -48,8 +50,10 @@ if (@exts) { foreach $ext (@exts) { my($subname) = $ext; $subname =~ s/::/__/g; - print OUT "extern void boot_${subname} _((CV* cv));\n" + print OUT "extern void boot_${subname} (pTHX_ CV* cv);\n" } + # May not actually be a declaration, so put after other declarations + print OUT " dXSUB_SYS;\n"; foreach $ext (@exts) { my($subname) = $ext; $subname =~ s/::/__/g;