diff options
author | Craig A. Berry <craigberry@mac.com> | 2010-11-28 16:49:23 -0600 |
---|---|---|
committer | Craig A. Berry <craigberry@mac.com> | 2010-11-28 16:49:23 -0600 |
commit | 116e14c152ad489c8e56989fdcbce82d004661f6 (patch) | |
tree | 3eb8cc1c7a219b149952b0dbeefdccc20a86f6c7 /vms | |
parent | baed7a72a0fe618b14395067e57ced9012463ac1 (diff) | |
download | perl-116e14c152ad489c8e56989fdcbce82d004661f6.tar.gz |
Make vms/writemain.pl go the way of writemain.SH.
Follow-up to fbcaf61123069fe46010699dd41ca5f60f448361 at Nicholas's
suggestion.
Diffstat (limited to 'vms')
-rw-r--r-- | vms/descrip_mms.template | 4 | ||||
-rw-r--r-- | vms/writemain.pl | 73 |
2 files changed, 2 insertions, 75 deletions
diff --git a/vms/descrip_mms.template b/vms/descrip_mms.template index a880683244..0bbe0a88bf 100644 --- a/vms/descrip_mms.template +++ b/vms/descrip_mms.template @@ -477,8 +477,8 @@ $(DBG)libperlmini$(OLB) : $(mini_obj) @ If F$Search("$(MMS$TARGET)").eqs."" Then Library/Object/Create $(MMS$TARGET) Library/Object/Replace $(MMS$TARGET) $(MMS$SOURCE_LIST) -perlmain.c : miniperlmain.c $(MINIPERL_EXE) [.vms]writemain.pl - $(MINIPERL) [.vms]Writemain.pl "$(EXT)" +perlmain.c : miniperlmain.c $(MINIPERL_EXE) [.lib.ExtUtils]Miniperl.pm + $(MINIPERL) -"MExtUtils::Miniperl" -e "writemain(@ARGV)" "$(EXT)" > perlmain.c .ifdef __DEBUG__ # Link an extra perl that doesn't invoke the debugger diff --git a/vms/writemain.pl b/vms/writemain.pl deleted file mode 100644 index 1843b30206..0000000000 --- a/vms/writemain.pl +++ /dev/null @@ -1,73 +0,0 @@ -#!./miniperl -# -# Create perlmain.c from miniperlmain.c, adding code to boot the -# extensions listed on the command line. In addition, create a -# 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@newman.upenn.edu -# - -if (-f 'miniperlmain.c') { $dir = ''; } -elsif (-f '../miniperlmain.c') { $dir = '../'; } -else { die "$0: Can't find miniperlmain.c\n"; } - -open (IN,"${dir}miniperlmain.c") - || die "$0: Can't open ${dir}miniperlmain.c: $!\n"; -open (OUT,">${dir}perlmain.c") - || die "$0: Can't open ${dir}perlmain.c: $!\n"; - -while (<IN>) { - print OUT; - last if /Do not delete this line--writemain depends on it/; -} -$ok = !eof(IN); -close IN; - -if (!$ok) { - close OUT; - unlink "${dir}perlmain.c"; - die "$0: Can't find marker line in ${dir}miniperlmain.c - aborting\n"; -} - - -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+/,$names); -} - -if (@exts) { - print OUT " char *file = __FILE__;\n"; - foreach $ext (@exts) { - my($subname) = $ext; - $subname =~ s/::/__/g; - 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; - print "Adding $ext . . .\n"; - if ($ext eq 'DynaLoader') { - # Must NOT install 'DynaLoader::boot_DynaLoader' as 'bootstrap'! - # boot_DynaLoader is called directly in DynaLoader.pm - print OUT " newXS(\"${ext}::boot_${ext}\", boot_${subname}, file);\n" - } - else { - print OUT " newXS(\"${ext}::bootstrap\", boot_${subname}, file);\n" - } - } -} - -print OUT "}\n"; -close OUT; |