summaryrefslogtreecommitdiff
path: root/vms
diff options
context:
space:
mode:
authorCraig A. Berry <craigberry@mac.com>2010-11-28 16:49:23 -0600
committerCraig A. Berry <craigberry@mac.com>2010-11-28 16:49:23 -0600
commit116e14c152ad489c8e56989fdcbce82d004661f6 (patch)
tree3eb8cc1c7a219b149952b0dbeefdccc20a86f6c7 /vms
parentbaed7a72a0fe618b14395067e57ced9012463ac1 (diff)
downloadperl-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.template4
-rw-r--r--vms/writemain.pl73
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;