This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
file spec tweaks for VMS
[perl5.git] / vms / writemain.pl
index 0208313..1843b30 100644 (file)
@@ -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 = ''; }
@@ -18,7 +18,6 @@ open (OUT,">${dir}perlmain.c")
   || die "$0: Can't open ${dir}perlmain.c: $!\n";
 
 while (<IN>) {
-  s/INTERN\.h/EXTERN\.h/;
   print OUT;
   last if /Do not delete this line--writemain depends on it/;
 }
@@ -32,9 +31,18 @@ if (!$ok) {
 }
 
 
+print OUT <<'EOH';
+
+static void
+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) {
@@ -42,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;