summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/perl/vms
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>1999-04-29 22:42:18 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>1999-04-29 22:42:18 +0000
commit37583d269f066aa8aa04ea18126b188d12257e6d (patch)
treebba3141cc21b941e00df1c922f6b91f28d81a28a /gnu/usr.bin/perl/vms
parentd8fdfa5c3dd1aecb5a53cab412e78ab3b5c9833c (diff)
perl5.005_03
Diffstat (limited to 'gnu/usr.bin/perl/vms')
-rw-r--r--gnu/usr.bin/perl/vms/descrip_mms.template1633
-rw-r--r--gnu/usr.bin/perl/vms/munchconfig.c366
-rw-r--r--gnu/usr.bin/perl/vms/subconfigure.com2628
3 files changed, 4627 insertions, 0 deletions
diff --git a/gnu/usr.bin/perl/vms/descrip_mms.template b/gnu/usr.bin/perl/vms/descrip_mms.template
new file mode 100644
index 00000000000..f28c64ac058
--- /dev/null
+++ b/gnu/usr.bin/perl/vms/descrip_mms.template
@@ -0,0 +1,1633 @@
+!GROK!THIS!
+# Descrip.MMS for perl5 on VMS
+# Last revised 27-Feb-1998 by Charles Bailey bailey@genetics.upenn.edu
+#
+#: This file uses MMS syntax, and can be processed using DEC's MMS product,
+#: or the free MMK clone (available by ftp at ftp.spc.edu). If you want to
+#: a Unix-style MAKE tool, run this file through mms2make.pl, which should
+#: be found in the same directory as this file. (There should be a pre-made
+#: copy of Makefile for VAXC in this directory to allow you to build perl.)
+#:
+#: Lines beginning with "#:" will be removed by mms2make.pl when converting
+#: this file to MAKE syntax.
+#
+# tidy -- purge files generated by executing this file
+# clean -- remove all intermediate (e.g. object files, C files generated
+# during build) files generated by executing this file,
+# but leave `installable' files (images, library) intact
+# realclean -- remove all files generated by executing this file
+# cleansrc -- `realclean' + purge *.c,*.h,descrip.mms
+# crtl.opt -- compiler-specific linker options file (made automatically)
+#
+
+#### Start of system configuration section. ####
+
+~DECC~
+~GNUC~
+~ARCH-TYPE~ = 1
+~THREAD~
+~SOCKET~
+~MALLOC~
+~CC~
+~MT~
+
+#: >>>>> Architecture-specific options <<<<<
+.ifdef AXE
+# File type to use for object files
+O = .abj
+# File type to use for object libraries
+OLB = .alb
+# File type to use for executable images
+E = .axe
+.else
+# File type to use for object files
+O = .obj
+# File type to use for object libraries
+OLB = .olb
+# File type to use for executable images
+E = .exe
+.endif
+
+.ifdef __AXP__
+ARCH = VMS_AXP
+OBJVAL = $(O)
+.else
+ARCH = VMS_VAX
+OBJVAL = $(MMS$TARGET_NAME)$(O)
+.endif
+
+PERL_VERSION = ~PV~
+
+.ifdef MALLOC
+MALLOC_O = ,malloc$(O)
+MALLOC_C = ,malloc$(C)
+.endif
+
+.ifdef DECC_SOCKETS
+SOCKET=1
+.endif
+
+.ifdef SOCKETSHR_SOCKETS
+SOCKET=1
+.endif
+
+# If they defined SOCKET but didn't choose a stack, default to SOCKETSHR
+.ifdef DECC_SOCKETS
+.else
+.ifdef SOCKETSHR_SOCKETS
+.else
+.ifdef SOCKET
+SOCKETSHR_SOCKETS=1
+.endif
+.endif
+.endif
+
+
+ARCHDIR = [.lib.$(ARCH).$(PERL_VERSION)]
+ARCHCORE = [.lib.$(ARCH).$(PERL_VERSION).CORE]
+ARCHAUTO = [.lib.$(ARCH).$(PERL_VERSION).auto]
+
+
+#: Backwards compatibility
+.ifdef DECC_PIPES_BROKEN
+PIPES_BROKEN = 1
+.endif
+
+.ifdef __DEBUG__
+NOX2P = 1
+.endif
+
+#: >>>>>Compiler-specific options <<<<<
+.ifdef GNUC
+.first
+ @ If F$TrnLnm("Sys").eqs."" Then Define/NoLog SYS GNU_CC_Include:[VMS]
+CC = gcc
+PIPES_BROKEN = 1
+# -fno-builtin avoids bug in gcc up to version 2.6.2 which can destroy
+# data when memcpy() is called on large (>64 kB) blocks of memory
+# (fixed in gcc 2.6.3)
+XTRACCFLAGS = /Obj=$(MMS$TARGET_NAME)$(O)/NoCase_Hack/Optimize=2
+DBGSPECFLAGS =
+XTRADEF =
+XTRAOBJS =
+LIBS1 = GNU_CC:[000000]GCCLIB.OLB/Library
+LIBS2 = Sys$Share:VAXCRTL/Shareable
+POSIX =
+.else
+XTRAOBJS =
+LIBS1 = $(XTRAOBJS)
+DBGSPECFLAGS = /Show=All
+.ifdef decc
+# Some versions of DECCRTL on AXP have a bug in chdir() which causes the change
+# to persist after the image exits, even when this was not requested, iff
+# SYSNAM is enabled. This is fixed in CSC Patch # AXPACRT04_061, but turning
+# off SYSNAM for the MM[SK] subprocess doesn't hurt anything, so we do it
+# just in case.
+.first
+ @ Set Process/Privilege=(NoSYSNAM)
+ @ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("DECC$System_Include").nes."" Then Define/NoLog SYS DECC$System_Include
+.ifdef __AXP__
+ @ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("DECC$System_Include").eqs."" Then Define/NoLog SYS Sys$Library
+.else
+ @ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("DECC$System_Include").eqs."" Then Define/NoLog SYS DECC$Library_Include
+.endif
+
+XTRACCFLAGS = /Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=$(OBJVAL)
+XTRADEF =
+POSIX = POSIX
+.else # VAXC
+.first
+ @ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("VAXC$Include").eqs."" Then Define/NoLog SYS Sys$Library
+ @ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("VAXC$Include").nes."" Then Define/NoLog SYS VAXC$Include
+
+XTRACCFLAGS = /Include=[]/Object=$(O)
+XTRADEF =
+LIBS2 = Sys$Share:VAXCRTL/Shareable
+POSIX =
+.endif
+.endif
+
+
+#: >>>>> Configuration options <<<<<
+#: __DEBUG__: builds images with full VMS debugger support
+.ifdef __DEBUG__
+DBGCCFLAGS = /List/Debug/NoOpt$(DBGSPECFLAGS)
+DBGLINKFLAGS = /Trace/Debug/Map/Full/Cross
+DBG = DBG
+.else
+DBGCCFLAGS = /NoList
+DBGLINKFLAGS = /NoTrace/NoMap
+DBG =
+.endif
+
+#: SOCKET: build in support for TCP/IP sockets
+#: By default, used SOCKETSHR library; see ReadMe.VMS
+#: for information on changing socket support
+.ifdef SOCKET
+.ifdef DECC_SOCKETS
+SOCKDEF =
+SOCKLIB =
+.else
+SOCKDEF =
+SOCKLIB = SocketShr/Share
+.endif
+# N.B. the targets for $(SOCKC) and $(SOCKH) assume that the permanent
+# copies live in [.vms], and the `clean' target will delete copies of
+# these files in the current default directory.
+SOCKC = sockadapt.c
+SOCKH = sockadapt.h
+SOCKCLIS = ,$(SOCKC)
+SOCKHLIS = ,$(SOCKH)
+SOCKOBJ = ,sockadapt$(O)
+SOCKPM = [.lib]Socket.pm
+.else
+SOCKDEF =
+SOCKLIB =
+SOCKC =
+SOCKH =
+SOCKCLIS =
+SOCKHLIS =
+SOCKOBJ =
+SOCKPM =
+.endif
+
+.ifdef THREADED
+THREADDEF =
+THREAD = THREAD
+.endif
+
+.ifdef OLDTHREADED
+THREADDEF =
+THREAD = THREAD
+THRLIBS1 = sys$share:cma$lib_shr/share|sys$share:cma$rtl/share
+.ifdef __AXP__
+THRLIBS2 = sys$share:cma$open_lib_shr/share|sys$share:cma$open_rtl/share
+.endif
+.endif
+
+.ifdef FAKETHREADED
+THREADDEF =
+THREADH = fakethr.h
+acth = $(ARCHCORE)fakethr.h
+THREAD = THREAD
+.else
+THREADH =
+acth =
+.endif
+
+# C preprocessor manifest "DEBUGGING" ==> perl -D, not the VMS debugger
+CFLAGS = $(XTRACCFLAGS)$(DBGCCFLAGS)
+# Flags for a core compile
+X2PCFLAGS = $(CFLAGS)/Define=PERL_FOR_X2P
+# Flags for an x2p compile
+CORECFLAGS = $(CFLAGS)/Define=PERL_CORE
+LINKFLAGS = $(DBGLINKFLAGS)
+
+MAKE = $(MMS)
+MAKEFILE = Descrip.MMS # this file
+NOOP = continue
+
+# Macros to invoke a copy of miniperl during the build. Targets which
+# are built using these macros should depend on $(MINIPERL_EXE)
+MINIPERL_EXE = Sys$Disk:[]miniperl$(E)
+MINIPERL = MCR $(MINIPERL_EXE) "-I[.lib]"
+XSUBPP = $(MINIPERL) [.lib.extutils]xsubpp -noprototypes
+# Macro to invoke a preexisting copy of Perl. This is used to regenerate
+# some header files when rebuilding Perl, but premade versions are provided
+# in the distribution, so it's OK if this doesn't work; it's here to make
+# life easier for those who modify Perl and rebuild it.
+INSTPERL = perl
+
+# Space-separated list of "static" extensions to build into perlshr (case counts).
+MYEXT = DynaLoader
+# object files for these extensions; the trailing comma is required if
+# there are any object files specified
+# These must be built separately, or you must add rules below to build them
+myextobj = [.ext.dynaloader]dl_vms$(O),
+#: We include the Socket extension by default if we're building with socket
+#: support, since it's small and not really worth bothering to keep track
+#: of separately.
+.ifdef SOCKET
+EXT = $(MYEXT) Socket
+extobj = $(myextobj) [.ext.socket]socket$(O),
+.else
+EXT = $(MYEXT)
+extobj = $(myextobj)
+.endif
+
+.ifdef LIBS2
+.else
+LIBS2=
+.endif
+
+.ifdef THRLIBS1
+.else
+THRLIBS1=
+.endif
+
+.ifdef THRLIBS2
+.else
+THRLIBS2=
+.endif
+
+FULLLIBS2 = $(LIBS2)|$(THRLIBS1)|$(THRLIBS2)
+
+#### End of system configuration section. ####
+
+
+h1 = EXTERN.h, INTERN.h, XSUB.h, av.h, bytecode.h, byterun.h, config.h, cop.h, cv.h
+h2 = embed.h, form.h, gv.h, handy.h, hv.h, keywords.h, mg.h, op.h, thread.h
+h3 = opcode.h, patchlevel.h, perl.h, perly.h, pp.h, proto.h, regcomp.h
+h4 = regexp.h, scope.h, sv.h, vmsish.h, util.h, perlsdio.h, perlio.h
+h5 = embedvar.h, intrpvar.h, perlvars.h, thrdvar.h, iperlsys.h
+h = $(h1), $(h2), $(h3), $(h4), $(h5) $(SOCKHLIS) $(THREADH)
+
+c1 = av.c, scope.c, op.c, doop.c, doio.c, dump.c, hv.c, mg.c, universal.c, perlio.c
+c2 = perl.c, perly.c, pp.c, pp_hot.c, pp_ctl.c, pp_sys.c, regcomp.c, regexec.c $(MALLOC_C)
+c3 = gv.c, sv.c, taint.c, toke.c, util.c, deb.c, run.c, globals.c, vms.c, byterun.c $(SOCKCLIS)
+
+c = $(c1), $(c2), $(c3), miniperlmain.c, perlmain.c, byteperl.c
+
+obj1 = perl$(O), gv$(O), toke$(O), perly$(O), op$(O), regcomp$(O), dump$(O), util$(O), mg$(O), perlio$(O) $(MALLOC_O)
+obj2 = hv$(O), av$(O), run$(O), pp_hot$(O), sv$(O), pp$(O), scope$(O), pp_ctl$(O), pp_sys$(O)
+obj3 = doop$(O), doio$(O), regexec$(O), taint$(O), deb$(O), universal$(O), globals$(O), vms$(O), byterun$(O) $(SOCKOBJ)
+
+obj = $(obj1), $(obj2), $(obj3)
+
+ac1 = $(ARCHCORE)EXTERN.h $(ARCHCORE)INTERN.h $(ARCHCORE)XSUB.h $(ARCHCORE)av.h
+ac2 = $(ARCHCORE)config.h $(ARCHCORE)cop.h $(ARCHCORE)cv.h $(ARCHCORE)embed.h
+ac3 = $(ARCHCORE)form.h $(ARCHCORE)gv.h $(ARCHCORE)handy.h $(ARCHCORE)hv.h
+ac4 = $(ARCHCORE)keywords.h $(ARCHCORE)mg.h $(ARCHCORE)op.h $(ARCHCORE)opcode.h
+ac5 = $(ARCHCORE)patchlevel.h $(ARCHCORE)perl.h $(ARCHCORE)perly.h $(ARCHCORE)thread.h $(ARCHCORE)iperlsys.h
+ac6 = $(ARCHCORE)pp.h $(ARCHCORE)proto.h $(ARCHCORE)regcomp.h $(ARCHCORE)perlsdio.h $(ARCHCORE)perlio.h
+ac7 = $(ARCHCORE)regexp.h $(ARCHCORE)scope.h $(ARCHCORE)sv.h $(ARCHCORE)util.h
+ac8 = $(ARCHCORE)embedvar.h $(ARCHCORE)intrpvar.h $(ARCHCORE)perlvars.h $(ARCHCORE)thrdvar.h
+ac9 = $(ARCHCORE)vmsish.h $(ARCHCORE)$(DBG)libperl$(OLB) $(ARCHCORE)perlshr_attr.opt
+ac10 = $(ARCHCORE)$(DBG)perlshr_bld.opt $(ARCHCORE)bytecode.h $(ARCHCORE)byterun.h
+.ifdef SOCKET
+acs = $(ARCHCORE)$(SOCKH)
+.else
+acs =
+.endif
+
+
+CRTL = []crtl.opt
+CRTLOPTS =,$(CRTL)/Options
+
+.SUFFIXES
+
+.ifdef LINK_ONLY
+.else
+.SUFFIXES $(O) .c .xs
+
+.xs.c :
+ $(XSUBPP) $(MMS$SOURCE) >$(MMS$TARGET)
+
+
+.c$(O) :
+ $(CC) $(CFLAGS) $(MMS$SOURCE)
+
+.xs$(O) :
+ $(XSUBPP) $(MMS$SOURCE) >$(MMS$SOURCE_NAME).c
+ $(CC) $(CFLAGS) $(MMS$SOURCE_NAME).c
+.endif
+
+# Modules which must be installed before we can build extensions
+LIBPREREQ = $(ARCHDIR)Config.pm [.lib]DynaLoader.pm [.lib]vmsish.pm [.lib.VMS]Filespec.pm [.lib.ExtUtils]XSSymSet.pm
+
+utils1 = [.lib.pod]perldoc.com [.lib.ExtUtils]Miniperl.pm [.utils]c2ph.com [.utils]h2ph.com [.utils]h2xs.com [.lib]perlbug.com
+utils2 = [.lib]splain.com [.utils]pl2pm.com
+
+.ifdef NOX2P
+all : base extras archcorefiles preplibrary perlpods
+ @ $(NOOP)
+.else
+all : base extras x2p archcorefiles preplibrary perlpods
+ @ $(NOOP)
+.endif
+base : miniperl perl
+ @ $(NOOP)
+#extras : Fcntl IO Opcode attrs Stdio DCLsym B $(POSIX) $(THREAD) SDBM_File libmods utils podxform
+extras : $extensions libmods utils podxform
+ @ $(NOOP)
+libmods : $(LIBPREREQ)
+ @ $(NOOP)
+utils : $(utils1) $(utils2)
+ @ $(NOOP)
+podxform : [.lib.pod]pod2text.com [.lib.pod]pod2html.com [.lib.pod]pod2latex.com [.lib.pod]pod2man.com
+ @ $(NOOP)
+x2p : [.x2p]a2p$(E) [.x2p]s2p.com [.x2p]find2perl.com
+ @ $(NOOP)
+
+pod1 = [.lib.pod]perl.pod [.lib.pod]perlapio.pod [.lib.pod]perlbook.pod [.lib.pod]perlbot.pod [.lib.pod]perlcall.pod
+pod2 = [.lib.pod]perldata.pod [.lib.pod]perldebug.pod [.lib.pod]perldelta.pod [.lib.pod]perldiag.pod [.lib.pod]perldsc.pod
+pod3 = [.lib.pod]perlembed.pod [.lib.pod]perlform.pod [.lib.pod]perlfunc.pod [.lib.pod]perlguts.pod
+pod4 = [.lib.pod]perlipc.pod [.lib.pod]perllocale.pod [.lib.pod]perllol.pod [.lib.pod]perlmod.pod [.lib.pod]perlobj.pod
+pod5 = [.lib.pod]perlop.pod [.lib.pod]perlpod.pod [.lib.pod]perlre.pod [.lib.pod]perlref.pod [.lib.pod]perlrun.pod
+pod6 = [.lib.pod]perlsec.pod [.lib.pod]perlstyle.pod [.lib.pod]perlsub.pod [.lib.pod]perlsyn.pod
+pod7 = [.lib.pod]perltie.pod [.lib.pod]perltoc.pod [.lib.pod]perltoot.pod
+pod8 = [.lib.pod]perltrap.pod [.lib.pod]perlvar.pod [.lib.pod]perlxs.pod [.lib.pod]perlxstut.pod
+
+perlpods : $(pod1) $(pod2) $(pod3) $(pod4) $(pod5) $(pod6) $(pod7) $(pod8) [.lib.pod]perlvms.pod
+ @ $(NOOP)
+
+archcorefiles : $(ac1) $(ac2) $(ac3) $(ac4) $(ac5) $(ac6) $(ac7) $(ac8) $(ac9) $(ac10) $(acs) $(acth) $(ARCHAUTO)time.stamp
+ @ $(NOOP)
+
+miniperl : $(DBG)miniperl$(E)
+ @ Continue
+$(MINIPERL_EXE) : miniperlmain$(O), $(DBG)libperl$(OLB) $(CRTL)
+ Link $(LINKFLAGS)/NoDebug/Trace/NoMap/NoFull/NoCross/Exe=$(MMS$TARGET) miniperlmain$(O), $(DBG)libperl$(OLB)/Library/Include=globals $(CRTLOPTS)
+$(DBG)miniperl$(E) : miniperlmain$(O), $(DBG)libperl$(OLB) $(CRTL)
+ Link $(LINKFLAGS)/Trace/Exe=$(MMS$TARGET) miniperlmain$(O),$(DBG)libperl$(OLB)/Library/Include=globals $(CRTLOPTS)
+
+$(DBG)libperl$(OLB) : $(obj)
+ @ If F$Search("$(MMS$TARGET)").eqs."" Then Library/Object/Create $(MMS$TARGET)
+ Library/Object/Replace $(MMS$TARGET) $(obj1)
+ Library/Object/Replace $(MMS$TARGET) $(obj2)
+ Library/Object/Replace $(MMS$TARGET) $(obj3)
+
+perlmain.c : miniperlmain.c $(MINIPERL_EXE) [.vms]writemain.pl
+ $(MINIPERL) [.VMS]Writemain.pl "$(EXT)"
+
+byteperl.c : [.ext.B]byteperl.c
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+.ifdef __DEBUG__
+# Link an extra perl that doesn't invoke the debugger
+perl : $(DBG)perl$(E) $(DBG)byteperl$(E)
+ Link $(LINKFLAGS)/NoDebug/Trace/NoMap/NoCross/NoFull/Exe=N$(DBG)perl$(E) perlmain$(O), perlshr.opt/Option, perlshr_attr.opt/Option $(CRTLOPTS)
+ Link $(LINKFLAGS)/NoDebug/Trace/NoMap/NoCross/NoFull/Exe=N$(DBG)byteperl$(E) byteperl$(O), perlshr.opt/Option, perlshr_attr.opt/Option $(CRTLOPTS)
+.else
+perl : $(DBG)perl$(E) $(DBG)byteperl$(E)
+ @ Continue
+.endif
+
+$(DBG)perl$(E) : perlmain$(O), $(DBG)perlshr$(E), $(MINIPERL_EXE)
+ @ @[.vms]genopt "PerlShr.Opt/Write" "|" "''F$Environment("Default")'$(DBG)PerlShr$(E)/Share"
+.ifdef MT
+ Link $(LINKFLAGS)/Exe=$(MMS$TARGET) perlmain$(O), perlshr.opt/Option, perlshr_attr.opt/Option $(CRTLOPTS)/THREAD=(MULTI,UPCALL)
+.else
+ Link $(LINKFLAGS)/Exe=$(MMS$TARGET) perlmain$(O), perlshr.opt/Option, perlshr_attr.opt/Option $(CRTLOPTS)
+.endif
+
+$(DBG)byteperl$(E) : byteperl$(O), $(DBG)perlshr$(E), $(MINIPERL_EXE)
+ @ @[.vms]genopt "PerlShr.Opt/Write" "|" "''F$Environment("Default")'$(DBG)PerlShr$(E)/Share"
+ Link $(LINKFLAGS)/Exe=$(MMS$TARGET) byteperl$(O), perlshr.opt/Option, perlshr_attr.opt/Option $(CRTLOPTS)
+
+$(DBG)perlshr$(E) : $(DBG)libperl$(OLB) $(extobj) $(DBG)perlshr_xtras.ts
+ Link $(LINKFLAGS)/Share=$(MMS$TARGET) $(extobj) []$(DBG)perlshr_bld.opt/Option, perlshr_attr.opt/Option
+
+# The following files are built in one go by gen_shrfls.pl:
+# perlshr_attr.opt, $(DBG)perlshr_bld.opt - VAX and AXP
+# perlshr_gbl*.mar, perlshr_gbl*$(O) - VAX only
+# The song and dance with gen_shrfls.opt accomodates DCL's 255 character
+# line length limit.
+.ifdef PIPES_BROKEN
+# This is a backup target used only with older versions of the DECCRTL which
+# can't deal with pipes properly. See ReadMe.VMS for details.
+$(DBG)perlshr_xtras.ts : perl.h config.h vmsish.h proto.h [.vms]gen_shrfls.pl $(MINIPERL_EXE) $(MAKEFILE) $(CRTL)
+ $(CC) $(CFLAGS)/NoObject/NoList/PreProcess=perl.i perl.h
+ @ $(MINIPERL) -e "print join('|',@ARGV),'|';" "~~NOCC~~perl.i~~$(CC)$(CFLAGS)" >gen_shrfls.opt
+ @ $(MINIPERL) -e "print join('|',@ARGV);" "$(O)" "$(DBG)" "$(OLB)" "$(EXT)" "$(CRTL)" >>gen_shrfls.opt
+ $(MINIPERL) [.vms]gen_shrfls.pl -f gen_shrfls.opt
+ @ Delete/NoLog/NoConfirm perl.i;, gen_shrfls.opt;
+ @ If F$Search("$(DBG)perlshr_xtras.ts").nes."" Then Delete/NoLog/NoConfirm $(DBG)perlshr_xtras.ts;*
+ @ Copy _NLA0: $(DBG)perlshr_xtras.ts
+.else
+$(DBG)perlshr_xtras.ts : perl.h config.h vmsish.h proto.h [.vms]gen_shrfls.pl $(MINIPERL_EXE) $(MAKEFILE) $(CRTL)
+ @ $(MINIPERL) -e "print join('|',@ARGV),'|';" "$(CC)$(CFLAGS)" >gen_shrfls.opt
+ @ $(MINIPERL) -e "print join('|',@ARGV);" "$(O)" "$(DBG)" "$(OLB)" "$(EXT)" "$(CRTL)" >>gen_shrfls.opt
+ $(MINIPERL) [.vms]gen_shrfls.pl -f gen_shrfls.opt
+ @ Delete/NoLog/NoConfirm gen_shrfls.opt;
+ @ If F$Search("$(DBG)perlshr_xtras.ts").nes."" Then Delete/NoLog/NoConfirm $(DBG)perlshr_xtras.ts;*
+ @ Copy _NLA0: $(DBG)perlshr_xtras.ts
+.endif
+
+$(ARCHDIR)config.pm : [.lib]config.pm
+ Create/Directory $(ARCHDIR)
+ Copy $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib]config.pm : config.h $(MINIPERL_EXE) [.lib]re.pm
+ $(MINIPERL) ConfigPM.
+
+[.ext.dynaloader]dl_vms.c : [.ext.dynaloader]dl_vms.xs $(ARCHDIR)Config.pm [.lib.ExtUtils]XSSymSet.pm $(MINIPERL_EXE)
+ $(XSUBPP) $(MMS$SOURCE) >$(MMS$TARGET)
+
+[.ext.dynaloader]dl_vms$(O) : [.ext.dynaloader]dl_vms.c
+ $(CC) $(CFLAGS) /Include=([],[.ext.dynaloader])/Object=$(MMS$TARGET) $(MMS$SOURCE)
+
+[.lib]DynaLoader.pm : [.ext.dynaloader]dynaloader.pm
+ Copy/Log/NoConfirm [.ext.dynaloader]dynaloader.pm [.lib]DynaLoader.pm
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ $(MINIPERL) -e "use AutoSplit; autosplit_lib_modules(@ARGV)" [.lib]DynaLoader.pm
+
+[.ext.dynaloader]dynaloader.pm : [.ext.dynaloader]dynaloader_pm.pl
+ $(MINIPERL) $(MMS$SOURCE)
+ @ Rename/Log dynaloader.pm [.ext.dynaloader]
+
+Opcode : [.lib]Opcode.pm [.lib]ops.pm [.lib]Safe.pm [.lib.auto.Opcode]Opcode$(E)
+ @ $(NOOP)
+
+[.lib]Opcode.pm : [.ext.Opcode]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.Opcode]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib]ops.pm : [.ext.Opcode]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.Opcode]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib]Safe.pm : [.ext.Opcode]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.Opcode]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.auto.Opcode]Opcode$(E) : [.ext.Opcode]Descrip.MMS
+ @ Set Default [.ext.Opcode]
+ $(MMS)
+ @ Set Default [--]
+
+# Add "-I[--.lib]" t $(MINIPERL) so we use this copy of lib after C<chdir>
+# ${@} necessary to distract different versions of MM[SK]/make
+[.ext.Opcode]Descrip.MMS : [.ext.Opcode]Makefile.PL $(LIBPREREQ) $(DBG)perlshr$(E)
+ $(MINIPERL) "-I[--.lib]" -e "chdir('[.ext.Opcode]') or die $!; do 'Makefile.PL'; print ${@} if ${@};" "INST_LIB=[--.lib]" "INST_ARCHLIB=[--.lib]"
+
+Fcntl : [.lib]Fcntl.pm [.lib.auto.Fcntl]Fcntl$(E)
+ @ $(NOOP)
+
+[.lib]Fcntl.pm : [.ext.Fcntl]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.Fcntl]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.auto.Fcntl]Fcntl$(E) : [.ext.Fcntl]Descrip.MMS
+ @ Set Default [.ext.Fcntl]
+ $(MMS)
+ @ Set Default [--]
+
+# Add "-I[--.lib]" t $(MINIPERL) so we use this copy of lib after C<chdir>
+# ${@} necessary to distract different versions of MM[SK]/make
+[.ext.Fcntl]Descrip.MMS : [.ext.Fcntl]Makefile.PL $(LIBPREREQ) $(DBG)perlshr$(E)
+ $(MINIPERL) "-I[--.lib]" -e "chdir('[.ext.Fcntl]') or die $!; do 'Makefile.PL'; print ${@} if ${@};" "INST_LIB=[--.lib]" "INST_ARCHLIB=[--.lib]"
+
+Stdio : [.lib.vms]Stdio.pm [.lib.auto.vms.Stdio]Stdio$(E) [.t.lib]vms_stdio.t
+ @ $(NOOP)
+
+[.lib.vms]Stdio.pm : [.vms.ext.stdio]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.vms.ext.Stdio]
+ $(MMS)
+ @ Set Default [---]
+
+[.lib.auto.vms.Stdio]Stdio$(E) : [.vms.ext.Stdio]Descrip.MMS
+ @ Set Default [.vms.ext.Stdio]
+ $(MMS)
+ @ Set Default [---]
+
+[.t.lib]vms_stdio.t : [.vms.ext.Stdio]test.pl
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+# Add "-I[--.lib]" t $(MINIPERL) so we use this copy of lib after C<chdir>
+# ${@} necessary to distract different versions of MM[SK]/make
+[.vms.ext.stdio]Descrip.MMS : [.vms.ext.Stdio]Makefile.PL $(LIBPREREQ) $(DBG)perlshr$(E)
+ $(MINIPERL) "-I[---.lib]" -e "chdir('[.vms.ext.Stdio]') or die $!; do 'Makefile.PL'; print ${@} if ${@};" "INST_LIB=[---.lib]" "INST_ARCHLIB=[---.lib]"
+
+DCLsym : [.lib.vms]DCLsym.pm [.lib.auto.vms.DCLsym]DCLsym$(E) [.t.lib]vms_dclsym.t
+ @ $(NOOP)
+
+[.lib.vms]DCLsym.pm : [.vms.ext.dclsym]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.vms.ext.DCLsym]
+ $(MMS)
+ @ Set Default [---]
+
+[.lib.auto.vms.DCLsym]DCLsym$(E) : [.vms.ext.DCLsym]Descrip.MMS
+ @ Set Default [.vms.ext.DCLsym]
+ $(MMS)
+ @ Set Default [---]
+
+[.t.lib]vms_dclsym.t : [.vms.ext.DCLsym]test.pl
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+# Add "-I[--.lib]" t $(MINIPERL) so we use this copy of lib after C<chdir>
+# ${@} necessary to distract different versions of MM[SK]/make
+[.vms.ext.DCLsym]Descrip.MMS : [.vms.ext.DCLsym]Makefile.PL $(LIBPREREQ) $(DBG)perlshr$(E)
+ $(MINIPERL) "-I[---.lib]" -e "chdir('[.vms.ext.DCLsym]') or die $!; do 'Makefile.PL'; print ${@} if ${@};" "INST_LIB=[---.lib]" "INST_ARCHLIB=[---.lib]"
+
+attrs : [.lib]attrs.pm [.lib.auto.attrs]attrs$(E)
+ @ $(NOOP)
+
+[.lib]attrs.pm : [.ext.attrs]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.attrs]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.auto.attrs]attrs$(E) : [.ext.attrs]Descrip.MMS
+ @ Set Default [.ext.attrs]
+ $(MMS)
+ @ Set Default [--]
+
+# Add "-I[--.lib]" t $(MINIPERL) so we use this copy of lib after C<chdir>
+# ${@} necessary to distract different versions of MM[SK]/make
+[.ext.attrs]Descrip.MMS : [.ext.Fcntl]Makefile.PL $(LIBPREREQ) $(DBG)perlshr$(E)
+ $(MINIPERL) "-I[--.lib]" -e "chdir('[.ext.attrs]') or die $!; do 'Makefile.PL'; print ${@} if ${@};" "INST_LIB=[--.lib]" "INST_ARCHLIB=[--.lib]"
+
+POSIX : [.lib]POSIX.pm [.lib.auto.POSIX]POSIX$(E)
+ @ $(NOOP)
+
+[.lib]POSIX.pm : [.ext.POSIX]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.POSIX]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.auto.POSIX]POSIX$(E) : [.ext.POSIX]Descrip.MMS
+ @ Set Default [.ext.POSIX]
+ $(MMS)
+ @ Set Default [--]
+
+# Add "-I[--.lib]" t $(MINIPERL) so we use this copy of lib after C<chdir>
+# ${@} necessary to distract different versions of MM[SK]/make
+[.ext.POSIX]Descrip.MMS : [.ext.POSIX]Makefile.PL $(LIBPREREQ) $(DBG)perlshr$(E)
+ $(MINIPERL) "-I[--.lib]" -e "chdir('[.ext.POSIX]') or die $!; do 'Makefile.PL'; print ${@} if ${@};" "INST_LIB=[--.lib]" "INST_ARCHLIB=[--.lib]"
+
+Dumper : [.lib.data]dumper.pm [.lib.auto.data.dumper]dumper$(E)
+ @ $(NOOP)
+
+[.lib.data]dumper.pm : [.ext.data.dumper]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.data.dumper]
+ $(MMS)
+ @ Set Default [---]
+
+[.lib.auto.data.dumper]dumper$(E) : [.ext.data.dumper]Descrip.MMS
+ @ Set Default [.ext.data.dumper]
+ $(MMS)
+ @ Set Default [---]
+
+# Add "-I[--.lib]" t $(MINIPERL) so we use this copy of lib after C<chdir>
+# ${@} necessary to distract different versions of MM[SK]/make
+[.ext.data.dumper]Descrip.MMS : [.ext.data.dumper]Makefile.PL $(LIBPREREQ) $(DBG)perlshr$(E)
+ $(MINIPERL) "-I[---.lib]" -e "chdir('[.ext.data.dumper]') or die $!; do 'Makefile.PL'; print ${@} if ${@};" "INST_LIB=[---.lib]" "INST_ARCHLIB=[---.lib]"
+
+re : [.lib]re.pm [.lib.auto.re]re$(E)
+ @ $(NOOP)
+
+[.lib]re.pm : [.ext.re]re.pm
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ copy [.ext.re]re.pm [.lib]re.pm
+
+[.lib.auto.re]re$(E) : [.ext.re]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.re]
+ $(MMS)
+ @ Set Default [--]
+
+# Add "-I[--.lib]" t $(MINIPERL) so we use this copy of lib after C<chdir>
+# ${@} necessary to distract different versions of MM[SK]/make
+[.ext.re]Descrip.MMS : [.ext.re]Makefile.PL $(LIBPREREQ) $(DBG)perlshr$(E)
+ $(MINIPERL) "-I[--.lib]" -e "chdir('[.ext.re]') or die $!; do 'Makefile.PL'; print ${@} if ${@};" "INST_LIB=[--.lib]" "INST_ARCHLIB=[--.lib]"
+
+THREAD : [.lib]THREAD.pm [.lib.auto.THREAD]THREAD$(E)
+ @ $(NOOP)
+
+[.lib]THREAD.pm : [.ext.THREAD]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.THREAD]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.auto.THREAD]THREAD$(E) : [.ext.THREAD]Descrip.MMS
+ @ Set Default [.ext.THREAD]
+ $(MMS)
+ @ Set Default [--]
+
+# Add "-I[--.lib]" t $(MINIPERL) so we use this copy of lib after C<chdir>
+# ${@} necessary to distract different versions of MM[SK]/make
+[.ext.THREAD]Descrip.MMS : [.ext.THREAD]Makefile.PL $(LIBPREREQ) $(DBG)perlshr$(E)
+ $(MINIPERL) "-I[--.lib]" -e "chdir('[.ext.THREAD]') or die $!; do 'Makefile.PL'; print ${@} if ${@};" "INST_LIB=[--.lib]" "INST_ARCHLIB=[--.lib]"
+
+Errno : [.lib]Errno.pm
+ @ $(NOOP)
+
+[.lib]Errno.pm : [.ext.Errno]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.Errno]
+ $(MMS)
+ @ Set Default [--]
+
+# Add "-I[--.lib]" t $(MINIPERL) so we use this copy of lib after C<chdir>
+# ${@} necessary to distract different versions of MM[SK]/make
+[.ext.Errno]Descrip.MMS : [.ext.Errno]Makefile.PL $(LIBPREREQ) $(DBG)perlshr$(E)
+ $(MINIPERL) "-I[--.lib]" -e "chdir('[.ext.Errno]') or die $!; do 'Makefile.PL'; print ${@} if ${@};" "INST_LIB=[--.lib]" "INST_ARCHLIB=[--.lib]"
+
+SDBM_File : [.lib]SDBM_File.pm [.lib.auto.SDBM_File]SDBM_File$(E)
+ @ $(NOOP)
+
+[.lib]SDBM_File.pm : [.ext.SDBM_File]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ If F$Search("[.lib.auto]sdbm.dir").eqs."" Then Create/Directory [.lib.auto.sdbm]
+ @ Set Default [.ext.SDBM_File]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.auto.SDBM_File]SDBM_File$(E) : [.ext.SDBM_File]Descrip.MMS
+ @ Set Default [.ext.SDBM_File]
+ $(MMS)
+ @ Set Default [--]
+
+# Add "-I[--.lib]" t $(MINIPERL) so we use this copy of lib after C<chdir>
+# ${@} necessary to distract different versions of MM[SK]/make
+[.ext.SDBM_File]Descrip.MMS : [.ext.SDBM_File]Makefile.PL $(LIBPREREQ) $(DBG)perlshr$(E)
+ $(MINIPERL) "-I[--.lib]" -e "chdir('[.ext.SDBM_File]') or die $!; do 'Makefile.PL'; print ${@} if ${@};" "INST_LIB=[--.lib]" "INST_ARCHLIB=[--.lib]"
+
+IO : [.lib]IO.pm [.lib.IO]File.pm [.lib.IO]Handle.pm [.lib.IO]Pipe.pm [.lib.IO]Seekable.pm [.lib.IO]Socket.pm [.lib.auto.IO]IO$(E)
+ @ $(NOOP)
+
+[.lib]IO.pm : [.ext.IO]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.IO]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.IO]File.pm : [.ext.IO]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.IO]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.IO]Handle.pm : [.ext.IO]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.IO]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.IO]Pipe.pm : [.ext.IO]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.IO]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.IO]Seekable.pm : [.ext.IO]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.IO]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.IO]Socket.pm : [.ext.IO]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.IO]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.auto.IO]IO$(E) : [.ext.IO]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.IO]
+ $(MMS)
+ @ Set Default [--]
+
+# Add "-I[--.lib]" t $(MINIPERL) so we use this copy of lib after C<chdir>
+# ${@} necessary to distract different versions of MM[SK]/make
+[.ext.IO]Descrip.MMS : [.ext.IO]Makefile.PL $(LIBPREREQ) $(DBG)perlshr$(E)
+ $(MINIPERL) "-I[--.lib]" -e "chdir('[.ext.IO]') or die $!; do 'Makefile.PL'; print ${@} if ${@};" "INST_LIB=[--.lib]" "INST_ARCHLIB=[--.lib]"
+
+B : [.lib]B.pm [.lib]O.pm [.lib.B]Asmdata.pm [.lib.B]Assembler.pm [.lib.B]Bblock.pm [.lib.B]Bytecode.pm [.lib.B]C.pm [.lib.B]CC.pm [.lib.B]Debug.pm [.lib.B]Deparse.pm [.lib.B]Disassembler.pm [.lib.B]Lint.pm [.lib.B]Showlex.pm [.lib.B]Stackobj.pm [.lib.B]Terse.pm [.lib.B]Xref.pm [.lib.auto.B]B$(E)
+ @ $(NOOP)
+
+[.lib]B.pm : [.ext.B]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.B]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib]O.pm : [.ext.B]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.B]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.B]Asmdata.pm : [.ext.B]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.B]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.B]Assembler.pm : [.ext.B]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.B]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.B]Bblock.pm : [.ext.B]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.B]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.B]Bytecode.pm : [.ext.B]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.B]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.B]C.pm : [.ext.B]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.B]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.B]CC.pm : [.ext.B]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.B]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.B]Debug.pm : [.ext.B]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.B]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.B]Deparse.pm : [.ext.B]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.B]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.B]Disassembler.pm : [.ext.B]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.B]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.B]Lint.pm : [.ext.B]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.B]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.B]Showlex.pm : [.ext.B]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.B]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.B]Stackobj.pm : [.ext.B]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.B]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.B]Terse.pm : [.ext.B]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.B]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.B]Xref.pm : [.ext.B]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.B]
+ $(MMS)
+ @ Set Default [--]
+
+[.lib.auto.B]B$(E) : [.ext.B]Descrip.MMS
+ @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
+ @ Set Default [.ext.B]
+ $(MMS)
+ @ Set Default [--]
+
+# Add "-I[--.lib]" t $(MINIPERL) so we use this copy of lib after C<chdir>
+# ${@} necessary to distract different versions of MM[SK]/make
+[.ext.B]Descrip.MMS : [.ext.B]Makefile.PL $(LIBPREREQ) $(DBG)perlshr$(E)
+ $(MINIPERL) "-I[--.lib]" -e "chdir('[.ext.B]') or die $!; do 'Makefile.PL'; print ${@} if ${@};" "INST_LIB=[--.lib]" "INST_ARCHLIB=[--.lib]"
+
+[.lib]vmsish.pm : [.vms.ext]vmsish.pm
+ Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.VMS]Filespec.pm : [.vms.ext]Filespec.pm
+ @ If F$Search("[.lib]VMS.Dir").eqs."" Then Create/Directory [.lib.VMS]
+ Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.ExtUtils]XSSymSet.pm : [.vms.ext]XSSymSet.pm
+ @ If F$Search("[.lib]VMS.Dir").eqs."" Then Create/Directory [.lib.VMS]
+ Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perldoc.com : [.utils]perldoc.PL $(ARCHDIR)Config.pm
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ $(MINIPERL) $(MMS$SOURCE)
+ Copy/Log [.utils]perldoc.com $(MMS$TARGET)
+
+[.lib.ExtUtils]Miniperl.pm : Minimod.PL miniperlmain.c $(ARCHDIR)Config.pm
+ $(MINIPERL) $(MMS$SOURCE) >$(MMS$TARGET)
+
+[.utils]c2ph.com : [.utils]c2ph.PL $(ARCHDIR)Config.pm
+ $(MINIPERL) $(MMS$SOURCE)
+
+[.utils]h2ph.com : [.utils]h2ph.PL $(ARCHDIR)Config.pm
+ $(MINIPERL) $(MMS$SOURCE)
+
+[.utils]h2xs.com : [.utils]h2xs.PL $(ARCHDIR)Config.pm
+ $(MINIPERL) $(MMS$SOURCE)
+
+[.lib]perlbug.com : [.utils]perlbug.PL $(ARCHDIR)Config.pm
+ $(MINIPERL) $(MMS$SOURCE)
+ Copy/Log [.utils]perlbug.com $(MMS$TARGET)
+
+[.utils]pl2pm.com : [.utils]pl2pm.PL $(ARCHDIR)Config.pm
+ $(MINIPERL) $(MMS$SOURCE)
+
+[.lib]splain.com : [.utils]splain.PL $(ARCHDIR)Config.pm
+ $(MINIPERL) $(MMS$SOURCE)
+ Copy/Log [.utils]splain.com $(MMS$TARGET)
+
+[.x2p]find2perl.com : [.x2p]find2perl.PL $(ARCHDIR)Config.pm
+ $(MINIPERL) $(MMS$SOURCE)
+
+[.x2p]s2p.com : [.x2p]s2p.PL $(ARCHDIR)Config.pm
+ $(MINIPERL) $(MMS$SOURCE)
+
+# Rename catches problem with some DECC versions in which object file is
+# placed in current default dir, not same one as source file.
+[.x2p]$(DBG)a2p$(E) : [.x2p]a2p$(O), [.x2p]hash$(O), [.x2p]str$(O), [.x2p]util$(O), [.x2p]walk$(O)
+ @ If F$Search("hash$(O)").nes."" Then Rename/NoLog hash$(O),str$(O),util$(O),walk$(O) [.x2p]
+ Link $(LINKFLAGS) /Exe=$(MMS$TARGET) $(MMS$SOURCE_LIST) $(CRTLOPTS)
+
+# Accomodate buggy cpp in some version of DECC, which chokes on illegal
+# filespec "y.tab.c", and broken gcc cpp, which doesn't start #include ""
+# search in same dir as source file
+[.x2p]a2p$(O) : [.x2p]a2p.c $(MINIPERL_EXE)
+ $(MINIPERL) -pe "s/^#line\s+(\d+)\s+\Q""y.tab.c""/#line $1 ""y_tab.c""/;" $(MMS$SOURCE) >$(MMS$TARGET_NAME)_vms.c
+ $(CC) $(X2PCFLAGS) /Object=$(MMS$TARGET)/Include=([.x2p],[]) $(MMS$TARGET_NAME)_vms.c
+ Delete/Log/NoConfirm $(MMS$TARGET_NAME)_vms.c;
+
+# gcc cpp broken -- doesn't look in directory of source file for #include ""
+.ifdef GNUC
+[.x2p]hash$(O) : [.x2p]hash.c
+ $(CC) $(X2PCFLAGS) /Include=[.x2p] $(MMS$SOURCE)
+
+[.x2p]str$(O) : [.x2p]str.c
+ $(CC) $(X2PCFLAGS) /Include=[.x2p] $(MMS$SOURCE)
+
+[.x2p]util$(O) : [.x2p]util.c
+ $(CC) $(X2PCFLAGS) /Include=[.x2p] $(MMS$SOURCE)
+
+[.x2p]walk$(O) : [.x2p]walk.c
+ $(CC) $(X2PCFLAGS) /Include=[.x2p] $(MMS$SOURCE)
+.endif
+
+[.lib.pod]pod2html.com : [.pod]pod2html.PL $(ARCHDIR)Config.pm
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ $(MINIPERL) $(MMS$SOURCE)
+ Copy/Log [.pod]pod2html.com $(MMS$TARGET)
+
+[.lib.pod]pod2latex.com : [.pod]pod2latex.PL $(ARCHDIR)Config.pm
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ $(MINIPERL) $(MMS$SOURCE)
+ Copy/Log [.pod]pod2latex.com $(MMS$TARGET)
+
+[.lib.pod]pod2man.com : [.pod]pod2man.PL $(ARCHDIR)Config.pm
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ $(MINIPERL) $(MMS$SOURCE)
+ Copy/Log [.pod]pod2man.com $(MMS$TARGET)
+
+[.lib.pod]pod2text.com : [.pod]pod2text.PL $(ARCHDIR)Config.pm
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ $(MINIPERL) $(MMS$SOURCE)
+ Copy/Log [.pod]pod2text.com $(MMS$TARGET)
+
+preplibrary : $(MINIPERL_EXE) $(LIBPREREQ) $(SOCKPM)
+ @ Write Sys$Output "Autosplitting Perl library . . ."
+ @ Create/Directory [.lib.auto]
+ @ $(MINIPERL) -e "use AutoSplit; autosplit_lib_modules(@ARGV)" [.lib]*.pm [.lib.*]*.pm
+
+[.lib.pod]perl.pod : [.pod]perl.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perlapio.pod : [.pod]perlapio.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perlbook.pod : [.pod]perlbook.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perlbot.pod : [.pod]perlbot.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perlcall.pod : [.pod]perlcall.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perldata.pod : [.pod]perldata.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perldebug.pod : [.pod]perldebug.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perldelta.pod : [.pod]perldelta.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perldiag.pod : [.pod]perldiag.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perldsc.pod : [.pod]perldsc.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perlembed.pod : [.pod]perlembed.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perlform.pod : [.pod]perlform.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perlfunc.pod : [.pod]perlfunc.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perlguts.pod : [.pod]perlguts.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perllocale.pod : [.pod]perllocale.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perlipc.pod : [.pod]perlipc.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perllol.pod : [.pod]perllol.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perlmod.pod : [.pod]perlmod.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perlobj.pod : [.pod]perlobj.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perlop.pod : [.pod]perlop.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perlpod.pod : [.pod]perlpod.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perlre.pod : [.pod]perlre.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perlref.pod : [.pod]perlref.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perlrun.pod : [.pod]perlrun.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perlsec.pod : [.pod]perlsec.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perlstyle.pod : [.pod]perlstyle.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perlsub.pod : [.pod]perlsub.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perlsyn.pod : [.pod]perlsyn.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perltie.pod : [.pod]perltie.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perltoc.pod : [.pod]perltoc.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perltoot.pod : [.pod]perltoot.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perltrap.pod : [.pod]perltrap.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perlvar.pod : [.pod]perlvar.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perlxs.pod : [.pod]perlxs.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perlxstut.pod : [.pod]perlxstut.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+[.lib.pod]perlvms.pod : [.vms]perlvms.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+printconfig :
+ @ @[.vms]make_command $(MMS) $(MMSQUALIFIERS) $(MMSTARGETS)
+ @ @[.vms]myconfig "$(CC)" "$(CFLAGS)" "$(LINKFLAGS)" "$(LIBS1)" "$(FULLLIBS2)" "$(SOCKLIB)" "$(EXT)" "$(DBG)"
+
+.ifdef SOCKET
+
+.ifdef LINK_ONLY
+.else
+[.ext.Socket]Socket$(O) : [.ext.Socket]Socket.c
+ $(CC) $(CFLAGS) /Object=$(MMS$TARGET) $(MMS$SOURCE)
+
+[.ext.Socket]Socket.c : [.ext.Socket]Socket.xs [.lib.ExtUtils]XSSymSet.pm $(MINIPERL_EXE)
+ $(XSUBPP) $(MMS$SOURCE) >$(MMS$TARGET)
+.endif # !LINK_ONLY
+
+vmsish.h : $(SOCKH)
+
+$(SOCKOBJ) : $(SOCKC) EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h perlio.h
+
+$(SOCKC) : [.vms]$(SOCKC)
+ Copy/Log/NoConfirm [.vms]$(SOCKC) []$(SOCKC)
+
+$(SOCKH) : [.vms]$(SOCKH)
+ Copy/Log/NoConfirm [.vms]$(SOCKH) []$(SOCKH)
+
+[.lib]Socket.pm : [.ext.Socket]Socket.pm
+ Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
+.endif
+
+# The following three header files are generated automatically
+# keywords.h : keywords.pl
+# opcode.h : opcode.pl
+# embed.h : embed.pl global.sym interp.sym
+# The correct versions should be already supplied with the perl kit,
+# in case you don't have perl available.
+# To force them to run, type
+# MMS regen_headers
+regen_headers :
+ $(INSTPERL) keywords.pl
+ $(INSTPERL) opcode.pl
+ $(INSTPERL) embed.pl
+
+# VMS uses modified perly.[ch] with tags for globaldefs if using DEC compiler
+perly.c : [.vms]perly_c.vms
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+perly.h : [.vms]perly_h.vms
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+# I now supply perly.c with the kits, so the following section is
+# commented out if you don't have byacc.
+# Altered for VMS by Charles Bailey bailey@genetics.upenn.edu
+# perly.c:
+# @ Write Sys$Output "Expect 80 shift/reduce and 62 reduce/reduce conflicts"
+# \$(BYACC) -d perly.y
+# Has to be done by hand or by POSIX shell under VMS
+# sh \$(shellflags) ./perly.fixer y.tab.c perly.c
+# rename y.tab.h perly.h
+# $(INSTPERL) [.vms]vms_yfix.pl perly.c perly.h [.vms]perly_c.vms [.vms]perly_h.vms
+
+.ifdef LINK_ONLY
+.else
+perly$(O) : perly.c, perly.h, $(h)
+.endif
+
+[.t.lib]vmsfspec.t : [.vms.ext]filespec.t
+ Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
+
+[.t.lib]vmsish.t : [.vms.ext]vmsish.t
+ Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
+
+test : all [.t.lib]vmsfspec.t [.t.lib]vmsish.t
+ - @[.VMS]Test.Com "$(E)"
+
+# install ought not need a source, but it doesn't work if one's not
+# there. Go figure...
+install : $(MINIPERL_EXE)
+ $(MINIPERL) installperl
+
+archify : all
+ @ Write Sys$Output "Moving files to architecture-specific locations for $(ARCH)"
+ archroot = "$(ARCHAUTO)" - "]" + "...]"
+ Backup/Log/Verify [.lib.auto...]*.*;/Exclude=(*.al,*.ix) 'archroot'/New_Version
+ Delete/Log/NoConfirm [.lib.auto...]*.*;*/exclude=(*.al,*.ix,*.dir)
+ Delete/Log/NoConfirm [.lib]Config.pm;*
+ Copy/Log/NoConfirm *$(E);,[.x2p]a2p$(E); $(ARCHDIR)
+ Delete/Log/NoConfirm Perl*$(E);*,[.x2p]a2p$(E);*
+ @ Write Sys$Output "Architecture-specific setup completed."
+ @ Write Sys$Output "Before building for another architecture, be sure to"
+ @ Write Sys$Output " 1. $(MMS)$(MMSQUALIFIERS) clean"
+ @ Write Sys$Output " 2. Delete Miniperl$(E)"
+
+# CORE subset for MakeMaker, so we can build Perl without sources
+# Should move to VMS installperl when we get one
+$(ARCHCORE)EXTERN.h : EXTERN.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)INTERN.h : INTERN.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)XSUB.h : XSUB.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)bytecode.h : bytecode.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)byterun.h : byterun.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)av.h : av.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)config.h : config.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)cop.h : cop.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)cv.h : cv.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)embed.h : embed.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)embedvar.h : embedvar.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+.ifdef FAKETHREADED
+$(ARCHCORE)fakethr.h : fakethr.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+.endif
+$(ARCHCORE)form.h : form.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)gv.h : gv.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)handy.h : handy.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)hv.h : hv.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)intrpvar.h : intrpvar.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)keywords.h : keywords.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)mg.h : mg.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)op.h : op.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)opcode.h : opcode.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)patchlevel.h : patchlevel.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)perl.h : perl.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)iperlsys.h : iperlsys.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)perlsdio.h : perlsdio.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)perlio.h : perlio.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)perlvars.h : perlvars.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)perly.h : perly.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)pp.h : pp.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)proto.h : proto.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)regcomp.h : regcomp.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)regexp.h : regexp.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)scope.h : scope.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)sv.h : sv.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)thrdvar.h : thrdvar.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)thread.h : thread.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)util.h : util.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)vmsish.h : vmsish.h
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+.ifdef SOCKET
+$(ARCHCORE)$(SOCKH) : $(SOCKH)
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+.endif
+$(ARCHCORE)$(DBG)libperl$(OLB) : $(DBG)libperl$(OLB) $(DBG)perlshr_xtras.ts
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)perlshr_attr.opt : $(DBG)perlshr_xtras.ts
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log perlshr_attr.opt $(MMS$TARGET)
+$(ARCHCORE)$(DBG)perlshr_bld.opt : $(DBG)perlshr_xtras.ts
+ @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+ Copy/Log $(DBG)perlshr_bld.opt $(MMS$TARGET)
+$(ARCHAUTO)time.stamp :
+ @ If F$Search("$(ARCHDIR)auto.dir").eqs."" Then Create/Directory $(ARCHAUTO)
+ @ If F$Search("$(MMS$TARGET)").eqs."" Then Copy/NoConfirm _NLA0: $(MMS$TARGET)
+
+.ifdef LINK_ONLY
+.else
+# We need an action line here for broken older versions of MMS which
+# otherwise conclude that they should be compiling [.x2p]utils.c :-(
+#util$(O) : util.c
+# $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+# AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
+av$(O) : av.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+byterun$(O) : byterun.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+deb$(O) : deb.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+doio$(O) : doio.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+doop$(O) : doop.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+dump$(O) : dump.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+globals$(O) : globals.c INTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+gv$(O) : gv.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+hv$(O) : hv.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+malloc$(O) : malloc.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+mg$(O) : mg.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+miniperlmain$(O) : miniperlmain.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+op$(O) : op.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+perl$(O) : perl.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h patchlevel.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+perlio$(O) : perlio.c config.h EXTERN.h perl.h bytecode.h byterun.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+perlmain$(O) : perlmain.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+byteperl$(O) : byteperl.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+perly$(O) : perly.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+pp$(O) : pp.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+pp_ctl$(O) : pp_ctl.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+pp_hot$(O) : pp_hot.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+pp_sys$(O) : pp_sys.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+regcomp$(O) : regcomp.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h INTERN.h regcomp.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+regexec$(O) : regexec.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h regcomp.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+run$(O) : run.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+scope$(O) : scope.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+sv$(O) : sv.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+taint$(O) : taint.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+toke$(O) : toke.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h keywords.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+universal$(O) : universal.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h XSUB.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+util$(O) : util.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+vms$(O) : vms.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h XSUB.h iperlsys.h
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
+#[.x2p]a2p$(O) : [.x2p]a2p.c [.x2p]a2py.c [.x2p]INTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h config.h handy.h
+# $(CC) $(X2PCFLAGS) $(MMS$SOURCE)
+
+[.x2p]hash$(O) : [.x2p]hash.c [.x2p]EXTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h
+ $(CC) $(X2PCFLAGS) $(MMS$SOURCE)
+
+[.x2p]str$(O) : [.x2p]str.c [.x2p]EXTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h
+ $(CC) $(X2PCFLAGS) $(MMS$SOURCE)
+
+[.x2p]util$(O) : [.x2p]util.c [.x2p]EXTERN.h [.x2p]INTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h
+ $(CC) $(X2PCFLAGS) $(MMS$SOURCE)
+
+[.x2p]walk$(O) : [.x2p]walk.c [.x2p]EXTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h
+ $(CC) $(X2PCFLAGS) $(MMS$SOURCE)
+
+# End of automatically generated make dependencies
+.endif # !LINK_ONLY
+
+vmsish.h : [.vms]vmsish.h
+ Copy/Log/NoConfirm [.vms]vmsish.h []vmsish.h
+
+vms.c : [.vms]vms.c
+ Copy/Log/Noconfirm [.vms]vms.c []
+
+$(CRTL) : $(MAKEFILE)
+ @ @[.vms]genopt "$(CRTL)/Write" "|" "$(LIBS1)|$(FULLLIBS2)|$(SOCKLIB)"
+
+
+cleanlis :
+ - If F$Search("*.Lis").nes."" Then Delete/NoConfirm/Log *.Lis;*
+ - If F$Search("*.CPP").nes."" Then Delete/NoConfirm/Log *.CPP;*
+ - If F$Search("*.Map").nes."" Then Delete/NoConfirm/Log *.Map;*
+
+tidy : cleanlis
+ - If F$Search("[...]*.Opt;-1").nes."" Then Purge/NoConfirm/Log [...]*.Opt
+ - If F$Search("[...]*$(O);-1").nes."" Then Purge/NoConfirm/Log [...]*$(O)
+ - If F$Search("[...]*$(E);-1").nes."" Then Purge/NoConfirm/Log [...]*$(E)
+ - If F$Search("Config.H;-1").nes."" Then Purge/NoConfirm/Log Config.H
+ - If F$Search("Config.SH;-1").nes."" Then Purge/NoConfirm/Log Config.SH
+ - If F$Search("perly.c;-1").nes."" Then Purge/NoConfirm/Log perly.c
+ - If F$Search("perly.h;-1").nes."" Then Purge/NoConfirm/Log perly.h
+ - If F$Search("VMSish.H;-1").nes."" Then Purge/NoConfirm/Log VMSish.H
+ - If F$Search("VMS.C;-1") .nes."" Then Purge/NoConfirm/Log VMS.C
+ - If F$Search("Perlmain.C;-1") .nes."" Then Purge/NoConfirm/Log Perlmain.C
+ - If F$Search("byteperl.C;-1") .nes."" Then Purge/NoConfirm/Log byteperl.C
+ - If F$Search("Perlshr_Gbl*.Mar;-1") .nes."" Then Purge/NoConfirm/Log Perlshr_Gbl*.Mar
+ - If F$Search("[.Ext.DynaLoader]DL_VMS$(O);-1").nes."" Then Purge/NoConfirm/Log [.Ext.DynaLoader]DL_VMS$(O)
+ - If F$Search("[.Ext.DynaLoader]DL_VMS.C;-1").nes."" Then Purge/NoConfirm/Log [.Ext.DynaLoader]DL_VMS.C
+ - If F$Search("[.Ext.Socket]Socket.C;-1").nes."" Then Purge/NoConfirm/Log [.Ext.DynaLoader]DL_VMS.C
+ - If F$Search("[.Ext.Opcode...];-1").nes."" Then Purge/NoConfirm/Log [.Ext.Opcode]
+ - If F$Search("[.VMS.Ext...]*.C;-1").nes."" Then Purge/NoConfirm/Log [.VMS.Ext...]*.C
+ - If F$Search("[.VMS.Ext...]*$(O);-1").nes."" Then Purge/NoConfirm/Log [.VMS.Ext...]*$(O)
+ - If F$Search("[.Lib.Auto...]*.al;-1").nes."" Then Purge/NoConfirm/Log [.Lib.Auto...]*.al
+ - If F$Search("[.Lib.Auto...]autosplit.ix;-1").nes."" Then Purge/NoConfirm/Log [.Lib.Auto...]autosplit.ix
+ - If F$Search("[.Lib]DynaLoader.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]DynaLoader.pm
+ - If F$Search("[.Lib]Socket.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]Socket.pm
+ - If F$Search("[.Lib]Config.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]Config.pm
+ - If F$Search("$(ARCHDIR)Config.pm;-1").nes."" Then Purge/NoConfirm/Log $(ARCHDIR)Config.pm
+ - If F$Search("[.lib.ExtUtils]Miniperl.pm").nes."" Then Purge/NoConfirm/Log [.lib.ExtUtils]Miniperl.pm
+ - If F$Search("[.lib.ExtUtils]XSSymSet.pm").nes."" Then Purge/NoConfirm/Log [.lib.ExtUtils]XSSymSet.pm
+ - If F$Search("[.Lib.VMS]*.*;-1").nes."" Then Purge/NoConfirm/Log [.Lib.VMS]*.*
+ - If F$Search("[.Lib.Pod]*.Pod;-1").nes."" Then Purge/NoConfirm/Log [.Lib.Pod]*.Pod
+ - If F$Search("$(ARCHCORE)*.*").nes."" Then Purge/NoConfirm/Log $(ARCHCORE)*.*
+ - If F$Search("[.lib]*.com;-1").nes."" Then Purge/NoConfirm/Log [.lib]*.com
+ - If F$Search("[.pod]*.com;-1").nes."" Then Purge/NoConfirm/Log [.pod]*.com
+ - If F$Search("[.utils]*.com;-1").nes."" Then Purge/NoConfirm/Log [.utils]*.com
+ - If F$Search("[.x2p]*.com;-1").nes."" Then Purge/NoConfirm/Log [.x2p]*.com
+ - If F$Search("[.lib.pod]*.com;-1").nes."" Then Purge/NoConfirm/Log [.lib.pod]*.com
+
+clean : tidy
+ Set Default [.ext.Fcntl]
+ - $(MMS) clean
+ Set Default [--]
+ Set Default [.ext.Errno]
+ - $(MMS) clean
+ Set Default [--]
+ Set Default [.ext.IO]
+ - $(MMS) clean
+ Set Default [--]
+ Set Default [.ext.Opcode]
+ - $(MMS) clean
+ Set Default [--]
+ Set Default [.ext.attrs]
+ - $(MMS) clean
+ Set Default [--]
+ Set Default [.ext.B]
+ - $(MMS) clean
+ Set Default [--]
+.ifdef THREAD
+ Set Default [.ext.Thread]
+ - $(MMS) realclean
+ Set Default [--]
+.endif
+.ifdef DECC
+ Set Default [.ext.POSIX]
+ - $(MMS) clean
+ Set Default [--]
+.endif
+ Set Default [.ext.SDBM_File]
+ - $(MMS) clean
+ Set Default [--]
+ Set Default [.vms.ext.Stdio]
+ - $(MMS) clean
+ Set Default [---]
+ Set Default [.vms.ext.DCLsym]
+ - $(MMS) clean
+ Set Default [---]
+ Set Default [.ext.re]
+ - $(MMS) clean
+ Set Default [--]
+ Set Default [.ext.dumper]
+ - $(MMS) clean
+ Set Default [--]
+ - If F$Search("*.Opt").nes."" Then Delete/NoConfirm/Log *.Opt;*/Exclude=PerlShr_*.Opt
+ - If F$Search("[...]*$(O);*") .nes."" Then Delete/NoConfirm/Log [...]*$(O);*
+ - If F$Search(F$Parse("Sys$Disk:[]","$(SOCKH)")).nes."" Then Delete/NoConfirm/Log $(SOCKH);*
+ - If F$Search(F$Parse("Sys$Disk:[]","$(SOCKC)")).nes."" Then Delete/NoConfirm/Log $(SOCKC);*
+ - If F$Search("perly.c").nes."" Then Delete/NoConfirm/Log perly.c;*
+ - If F$Search("perly.h").nes."" Then Delete/NoConfirm/Log perly.h;*
+ - If F$Search("VMSish.H").nes."" Then Delete/NoConfirm/Log VMSish.H;*
+ - If F$Search("VMS.C") .nes."" Then Delete/NoConfirm/Log VMS.C;*
+ - If F$Search("Perlmain.C") .nes."" Then Delete/NoConfirm/Log Perlmain.C;*
+ - If F$Search("byteperl.C") .nes."" Then Delete/NoConfirm/Log byteperl.C;*
+ - If F$Search("Perlshr_Gbl*.Mar") .nes."" Then Delete/NoConfirm/Log Perlshr_Gbl*.Mar;*
+ - If F$Search("*.TS").nes."" Then Delete/NoConfirm/Log *.TS;*
+ - If F$Search("[.Ext.DynaLoader]DL_VMS$(O)").nes."" Then Delete/NoConfirm/Log [.Ext.DynaLoader]DL_VMS$(O);*
+ - If F$Search("[.Ext.DynaLoader]DL_VMS.C").nes."" Then Delete/NoConfirm/Log [.Ext.DynaLoader]DL_VMS.C;*
+ - If F$Search("[.Ext.Socket]Socket$(O)").nes."" Then Delete/NoConfirm/Log [.Ext.Socket]Socket$(O);*
+ - If F$Search("[.Ext.Socket]Socket.C").nes."" Then Delete/NoConfirm/Log [.Ext.Socket]Socket.C;*
+ - If F$Search("[.VMS.Ext...]*.C").nes."" Then Delete/NoConfirm/Log [.VMS.Ext...]*.C;*
+ - If F$Search("[.VMS.Ext...]*$(O)").nes."" Then Delete/NoConfirm/Log [.VMS.Ext...]*$(O);*
+ - If F$Search("[.pod]*.com").nes."" Then Delete/NoConfirm/Log [.pod]*.com;*
+
+realclean : tidy
+ Set Default [.ext.Fcntl]
+ - $(MMS) realclean
+ Set Default [--]
+ Set Default [.ext.Errno]
+ - $(MMS) realclean
+ Set Default [--]
+ Set Default [.ext.IO]
+ - $(MMS) realclean
+ Set Default [--]
+ Set Default [.ext.Opcode]
+ - $(MMS) realclean
+ Set Default [--]
+ Set Default [.ext.attrs]
+ - $(MMS) realclean
+ Set Default [--]
+ Set Default [.ext.B]
+ - $(MMS) realclean
+ Set Default [--]
+.ifdef THREAD
+ Set Default [.ext.Thread]
+ - $(MMS) realclean
+ Set Default [--]
+.endif
+.ifdef DECC
+ Set Default [.ext.POSIX]
+ - $(MMS) realclean
+ Set Default [--]
+.endif
+ Set Default [.ext.SDBM_File]
+ - $(MMS) realclean
+ Set Default [--]
+ Set Default [.vms.ext.Stdio]
+ - $(MMS) realclean
+ Set Default [---]
+ Set Default [.vms.ext.DCLsym]
+ - $(MMS) realclean
+ Set Default [---]
+ Set Default [.ext.dumper]
+ - $(MMS) realclean
+ Set Default [--]
+ Set Default [.ext.re]
+ - $(MMS) realclean
+ Set Default [--]
+ - If F$Search("*$(OLB)").nes."" Then Delete/NoConfirm/Log *$(OLB);*
+ - If F$Search("*.Opt").nes."" Then Delete/NoConfirm/Log *.Opt;*
+ - If F$Search("Config.H").nes."" Then Delete/NoConfirm/Log Config.H;*
+ - If F$Search("Config.SH").nes."" Then Delete/NoConfirm/Log Config.SH;*
+ - If F$Search("descrip.mms").nes."" Then Delete/NoConfirm/Log descrip.mms;*
+ - $(MINIPERL) -e "use File::Path; rmtree(['lib/auto','lib/VMS','lib/$(ARCH)'],1,0);"
+ - If F$Search("[.Lib]DynaLoader.pm").nes."" Then Delete/NoConfirm/Log [.Lib]DynaLoader.pm;*
+ - If F$Search("[.Lib]Socket.pm").nes."" Then Delete/NoConfirm/Log [.Lib]Socket.pm;*
+ - If F$Search("[.Lib]Config.pm").nes."" Then Delete/NoConfirm/Log [.Lib]Config.pm;*
+ - If F$Search("[.Lib]*.com").nes."" Then Delete/NoConfirm/Log [.Lib]*.com;*
+ - If F$Search("[.utils]*.com").nes."" Then Delete/NoConfirm/Log [.utils]*.com;*
+ - If F$Search("[.x2p]*.com").nes."" Then Delete/NoConfirm/Log [.x2p]*.com;*
+ - If F$Search("$(ARCHDIR)Config.pm").nes."" Then Delete/NoConfirm/Log $(ARCHDIR)Config.pm;*
+ - If F$Search("[.lib.ExtUtils]Miniperl.pm").nes."" Then Delete/NoConfirm/Log [.lib.ExtUtils]Miniperl.pm;*
+ - If F$Search("[.lib.ExtUtils]XSSymSet.pm").nes."" Then Delete/NoConfirm/Log [.lib.ExtUtils]XSSymSet.pm;*
+ - If F$Search("[.lib.pod]*.pod").nes."" Then Delete/NoConfirm/Log [.lib.pod]*.pod;*
+ - If F$Search("[.lib.pod]perldoc.com").nes."" Then Delete/NoConfirm/Log [.lib.pod]perldoc.com;*
+ - If F$Search("[.lib.pod]pod2*.com").nes."" Then Delete/NoConfirm/Log [.lib.pod]pod2*.com;*
+ - If F$Search("[.t.lib]vms*.t").nes."" Then Delete/NoConfirm/Log [.t.lib]vms*.t;*
+ - If F$Search("[...]*$(E)").nes."" Then Delete/NoConfirm/Log [...]*$(E);*
+
+cleansrc : clean
+ - If F$Search("*.C;-1").nes."" Then Purge/NoConfirm/Log *.C
+ - If F$Search("*.H;-1").nes."" Then Purge/NoConfirm/Log *.H
+ - If F$Search("*.VMS;-1").nes."" Then Purge/NoConfirm/Log *.VMS
+ - If F$Search("[.VMS]$(MAKEFILE);-1").nes."" Then Purge/NoConfirm/Log [.VMS]$(MAKEFILE)
+ - If F$Search("[.VMS]*.C;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.C
+ - If F$Search("[.VMS]*.H;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.H
+ - If F$Search("[.VMS]*.Pl;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.Pl
+ - If F$Search("[.VMS]*.VMS;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.VMS
+ - If F$Search("[.VMS...]*.pm;-1").nes."" Then Purge/NoConfirm/Log [.VMS...]*.pm
+ - If F$Search("[.VMS...]*.xs;-1").nes."" Then Purge/NoConfirm/Log [.VMS...]*.xs
+!GROK!THIS!
diff --git a/gnu/usr.bin/perl/vms/munchconfig.c b/gnu/usr.bin/perl/vms/munchconfig.c
new file mode 100644
index 00000000000..58c7e7c0971
--- /dev/null
+++ b/gnu/usr.bin/perl/vms/munchconfig.c
@@ -0,0 +1,366 @@
+/* munchconfig.c
+
+ A very, very (very!) simple program to process a config_h.sh file on
+ non-unix systems.
+
+ usage:
+ munchconfig config.sh config_h.sh [foo=bar [baz=xyzzy [...]]] >config.h
+
+ which is to say, it takes as its firt parameter a config.sh (or
+ equivalent), as its second a config_h.sh (or equvalent), and a list of
+ optional tag=value pairs.
+
+ It spits the processed config.h out to STDOUT.
+
+ */
+
+#include <stdio.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+
+/* The failure code to exit with */
+#ifndef EXIT_FAILURE
+#ifdef VMS
+#define EXIT_FAILURE 0
+#else
+#define EXIT_FAILURE -1
+#endif
+#endif
+
+/* The biggest line we can read in from a file */
+#define LINEBUFFERSIZE 400
+#define NUMTILDESUBS 30
+#define NUMCONFIGSUBS 1000
+#define TOKENBUFFERSIZE 80
+
+typedef struct {
+ char Tag[TOKENBUFFERSIZE];
+ char Value[512];
+} Translate;
+
+void tilde_sub(char [], Translate [], int);
+
+int
+main(int argc, char *argv[])
+{
+ FILE *ConfigSH, *Config_H;
+ char LineBuffer[LINEBUFFERSIZE], *TempValue, *StartTilde, *EndTilde;
+ char SecondaryLineBuffer[LINEBUFFERSIZE];
+ char TokenBuffer[TOKENBUFFERSIZE];
+ int LineBufferLength, TempLength, DummyVariable, LineBufferLoop;
+ int TokenBufferLoop, ConfigSubLoop, GotIt;
+ Translate TildeSub[NUMTILDESUBS]; /* Holds the tilde (~FOO~) */
+ /* substitutions */
+ Translate ConfigSub[NUMCONFIGSUBS]; /* Holds the substitutions from */
+ /* config.sh */
+ int TildeSubCount = 0, ConfigSubCount = 0; /* # of tilde substitutions */
+ /* and config substitutions, */
+ /* respectively */
+ if (argc < 3) {
+ printf("Usage: munchconfig config.sh config_h.sh [foo=bar [baz=xyzzy [...]]]\n");
+ exit(EXIT_FAILURE);
+ }
+
+
+ /* First, open the input files */
+ if (NULL == (ConfigSH = fopen(argv[1], "r"))) {
+ printf("Error %i trying to open config.sh file %s\n", errno, argv[1]);
+ exit(EXIT_FAILURE);
+ }
+
+ if (NULL == (Config_H = fopen(argv[2], "r"))) {
+ printf("Error %i trying to open config_h.sh file %s\n", errno, argv[2]);
+ exit(EXIT_FAILURE);
+ }
+
+ /* Any tag/value pairs on the command line? */
+ if (argc > 3) {
+ int i;
+ char WorkString[80];
+ for (i=3; i < argc && argv[i]; i++) {
+
+ /* Local copy */
+ strcpy(WorkString, argv[i]);
+ /* Stick a NULL over the = */
+ TempValue = strchr(WorkString, '=');
+ *TempValue++ = '\0';
+
+ /* Copy the tag and value into the holding array */
+ strcpy(TildeSub[TildeSubCount].Tag, WorkString);
+ strcpy(TildeSub[TildeSubCount].Value, TempValue);
+ TildeSubCount++;
+ }
+ }
+
+ /* Now read in the config.sh file. */
+ while(fgets(LineBuffer, LINEBUFFERSIZE - 1, ConfigSH)) {
+ /* Force a trailing null, just in case */
+ LineBuffer[LINEBUFFERSIZE - 1] = '\0';
+
+ LineBufferLength = strlen(LineBuffer);
+
+ /* Chop trailing control characters */
+ while((LineBufferLength > 0) && (LineBuffer[LineBufferLength-1] < ' ')) {
+ LineBuffer[LineBufferLength - 1] = '\0';
+ LineBufferLength--;
+ }
+
+ /* If it's empty, then try again */
+ if (!*LineBuffer)
+ continue;
+
+ /* If the line begins with a '#' or ' ', skip */
+ if ((LineBuffer[0] == ' ') || (LineBuffer[0] == '#'))
+ continue;
+
+ /* We've got something. Guess we need to actually handle it */
+ /* Do the tilde substitution */
+ tilde_sub(LineBuffer, TildeSub, TildeSubCount);
+
+ /* Stick a NULL over the = */
+ TempValue = strchr(LineBuffer, '=');
+ *TempValue++ = '\0';
+ /* And another over the leading ', which better be there */
+ *TempValue++ = '\0';
+
+ /* Check to see if there's a trailing ' or ". If not, add a newline to
+ the buffer and grab another line. */
+ TempLength = strlen(TempValue);
+ while ((TempValue[TempLength-1] != '\'') &&
+ (TempValue[TempLength-1] != '"')) {
+ fgets(SecondaryLineBuffer, LINEBUFFERSIZE - 1, ConfigSH);
+ /* Force a trailing null, just in case */
+ SecondaryLineBuffer[LINEBUFFERSIZE - 1] = '\0';
+ /* Go substitute */
+ tilde_sub(SecondaryLineBuffer, TildeSub, TildeSubCount);
+ /* Tack a nweline on the end of our primary buffer */
+ strcat(TempValue, "\n");
+ /* Concat the new line we just read */
+ strcat(TempValue, SecondaryLineBuffer);
+
+ /* Refigure the length */
+ TempLength = strlen(TempValue);
+
+ /* Chop trailing control characters */
+ while((TempLength > 0) && (TempValue[TempLength-1] < ' ')) {
+ TempValue[TempLength - 1] = '\0';
+ TempLength--;
+ }
+ }
+
+ /* And finally one over the trailing ' */
+ TempValue[TempLength-1] = '\0';
+
+ /* Is there even anything left? */
+ if(*TempValue) {
+ /* Copy the tag over */
+ strcpy(ConfigSub[ConfigSubCount].Tag, LineBuffer);
+ /* Copy the value over */
+ strcpy(ConfigSub[ConfigSubCount].Value, TempValue);
+
+ /* Up the count */
+ ConfigSubCount++;
+
+ }
+ }
+
+ /* Okay, we've read in all the substititions from our config.sh */
+ /* equivalent. Read in the config_h.sh equiv and start the substitution */
+
+ /* First, eat all the lines until we get to one with !GROK!THIS! in it */
+ while(!strstr(fgets(LineBuffer, LINEBUFFERSIZE, Config_H),
+ "!GROK!THIS!")) {
+
+ /* Dummy statement to shut up any compiler that'll whine about an empty */
+ /* loop */
+ DummyVariable++;
+ }
+
+ /* Right, we've read all the lines through the first one with !GROK!THIS! */
+ /* in it. That gets us through the beginning stuff. Now start in earnest */
+ /* with our translations, which run until we get to another !GROK!THIS! */
+ while(!strstr(fgets(LineBuffer, LINEBUFFERSIZE, Config_H),
+ "!GROK!THIS!")) {
+ /* Force a trailing null, just in case */
+ LineBuffer[LINEBUFFERSIZE - 1] = '\0';
+
+ /* Tilde Substitute */
+ tilde_sub(LineBuffer, TildeSub, TildeSubCount);
+
+ LineBufferLength = strlen(LineBuffer);
+
+ /* Chop trailing control characters */
+ while((LineBufferLength > 0) && (LineBuffer[LineBufferLength-1] < ' ')) {
+ LineBuffer[LineBufferLength - 1] = '\0';
+ LineBufferLength--;
+ }
+
+ /* Right. Go looking for $s. */
+ for(LineBufferLoop = 0; LineBufferLoop < LineBufferLength;
+ LineBufferLoop++) {
+ /* Did we find one? */
+ if ('$' != LineBuffer[LineBufferLoop]) {
+ /* Nope, spit out the value */
+ putchar(LineBuffer[LineBufferLoop]);
+ } else {
+ /* Yes, we did. Is it escaped? */
+ if ((LineBufferLoop > 0) && ('\\' == LineBuffer[LineBufferLoop -
+ 1])) {
+ /* Yup. Spit it out */
+ putchar(LineBuffer[LineBufferLoop]);
+ } else {
+ /* Nope. Go grab us a token */
+ TokenBufferLoop = 0;
+ /* Advance to the next character in the input stream */
+ LineBufferLoop++;
+ while((LineBufferLoop < LineBufferLength) &&
+ ((isalnum(LineBuffer[LineBufferLoop]) || ('_' ==
+ LineBuffer[LineBufferLoop])))) {
+ TokenBuffer[TokenBufferLoop] = LineBuffer[LineBufferLoop];
+ LineBufferLoop++;
+ TokenBufferLoop++;
+ }
+
+ /* Trailing null on the token buffer */
+ TokenBuffer[TokenBufferLoop] = '\0';
+
+ /* Back the line buffer pointer up one */
+ LineBufferLoop--;
+
+ /* Right, we're done grabbing a token. Check to make sure we got */
+ /* something */
+ if (TokenBufferLoop) {
+ /* Well, we do. Run through all the tokens we've got in the */
+ /* ConfigSub array and see if any match */
+ GotIt = 0;
+ for(ConfigSubLoop = 0; ConfigSubLoop < ConfigSubCount;
+ ConfigSubLoop++) {
+ if (!strcmp(TokenBuffer, ConfigSub[ConfigSubLoop].Tag)) {
+ GotIt = 1;
+ printf("%s", ConfigSub[ConfigSubLoop].Value);
+ break;
+ }
+ }
+
+ /* Did we find something? If not, spit out what was in our */
+ /* buffer */
+ if (!GotIt) {
+ printf("$%s", TokenBuffer);
+ }
+
+ } else {
+ /* Just a bare $. Spit it out */
+ putchar('$');
+ }
+ }
+ }
+ }
+
+ /* We're all done. Spit out an EOL */
+ printf("\n");
+
+
+ }
+
+ /* Close the files */
+ fclose(ConfigSH);
+ fclose(Config_H);
+}
+
+void
+tilde_sub(char LineBuffer[], Translate TildeSub[], int TildeSubCount)
+{
+ char TempBuffer[LINEBUFFERSIZE], TempTilde[TOKENBUFFERSIZE];
+ int TildeLoop, InTilde, CopiedBufferLength, TildeBufferLength, k, GotIt;
+ int TempLength;
+ InTilde = 0;
+ CopiedBufferLength = 0;
+ TildeBufferLength = 0;
+ TempLength = strlen(LineBuffer);
+
+ /* Grovel over our input looking for ~foo~ constructs */
+ for(TildeLoop = 0; TildeLoop < TempLength; TildeLoop++) {
+ /* Are we in a tilde? */
+ if (InTilde) {
+ /* Yup. Is the current character a tilde? */
+ if (LineBuffer[TildeLoop] == '~') {
+ /* Yup. That means we're ready to do a substitution */
+ InTilde = 0;
+ GotIt = 0;
+ /* Trailing null */
+ TempTilde[TildeBufferLength] = '\0';
+ for( k=0; k < TildeSubCount; k++) {
+ if (!strcmp(TildeSub[k].Tag, TempTilde)) {
+ GotIt = 1;
+ /* Tack on the trailing null to the main buffer */
+ TempBuffer[CopiedBufferLength] = '\0';
+ /* Copy the tilde substitution over */
+ strcat(TempBuffer, TildeSub[k].Value);
+ CopiedBufferLength = strlen(TempBuffer);
+ }
+ }
+
+ /* Did we find anything? */
+ if (GotIt == 0) {
+ /* Guess not. Copy the whole thing out verbatim */
+ TempBuffer[CopiedBufferLength] = '\0';
+ TempBuffer[CopiedBufferLength++] = '~';
+ TempBuffer[CopiedBufferLength] = '\0';
+ strcat(TempBuffer, TempTilde);
+ strcat(TempBuffer, "~");
+ CopiedBufferLength = strlen(TempBuffer);
+ }
+
+ } else {
+ /* 'Kay, not a tilde. Is it a word character? */
+ if (isalnum(LineBuffer[TildeLoop]) || (LineBuffer[TildeLoop] =
+ '-') ||
+ (LineBuffer[TildeLoop] == '-')) {
+ TempTilde[TildeBufferLength++] = LineBuffer[TildeLoop];
+ } else {
+ /* No, it's not a tilde character. For shame! We've got a */
+ /* bogus token. Copy a ~ into the output buffer, then append */
+ /* whatever we've got in our token buffer */
+ TempBuffer[CopiedBufferLength++] = '~';
+ TempBuffer[CopiedBufferLength] = '\0';
+ TempTilde[TildeBufferLength] = '\0';
+ strcat(TempBuffer, TempTilde);
+ CopiedBufferLength += TildeBufferLength;
+ InTilde = 0;
+ }
+ }
+ } else {
+ /* We're not in a tilde. Do we want to be? */
+ if (LineBuffer[TildeLoop] == '~') {
+ /* Guess so */
+ InTilde = 1;
+ TildeBufferLength = 0;
+ } else {
+ /* Nope. Copy the character to the output buffer */
+ TempBuffer[CopiedBufferLength++] = LineBuffer[TildeLoop];
+ }
+ }
+ }
+
+ /* Out of the loop. First, double-check to see if there was anything */
+ /* pending. */
+ if (InTilde) {
+ /* bogus token. Copy a ~ into the output buffer, then append */
+ /* whatever we've got in our token buffer */
+ TempBuffer[CopiedBufferLength++] = '~';
+ TempBuffer[CopiedBufferLength] = '\0';
+ TempTilde[TildeBufferLength] = '\0';
+ strcat(TempBuffer, TempTilde);
+ CopiedBufferLength += TildeBufferLength;
+ } else {
+ /* Nope, nothing pensing. Tack on a \0 */
+ TempBuffer[CopiedBufferLength] = '\0';
+ }
+
+ /* Okay, we're done. Copy the temp buffer back into the line buffer */
+ strcpy(LineBuffer, TempBuffer);
+
+}
+
diff --git a/gnu/usr.bin/perl/vms/subconfigure.com b/gnu/usr.bin/perl/vms/subconfigure.com
new file mode 100644
index 00000000000..4cdafbc08f8
--- /dev/null
+++ b/gnu/usr.bin/perl/vms/subconfigure.com
@@ -0,0 +1,2628 @@
+$! SUBCONFIGURE.COM - build a config.sh for VMS Perl.
+$!
+$! Note for folks from other platforms changing things in here:
+$! Fancy changes (based on compiler capabilities or VMS version or
+$! whatever) are tricky, so go ahead and punt on those.
+$!
+$! Simple changes, though (say, always setting something to 1, or undef,
+$! or something like that) are straightforward. Adding a new item for the
+$! ultimately created config.sh requires adding two lines to this file.
+$!
+$! First, a line in the format:
+$! $ perl_foo = "bar"
+$! after the line tagged ##ADD NEW CONSTANTS HERE##. Replace foo with the
+$! variable name as it appears in config.sh.
+$!
+$! Second, add a line in the format:
+$! $ WC "foo='" + perl_foo + "'"
+$! after the line tagged ##WRITE NEW CONSTANTS HERE##. Careful of the
+$! quoting, as it can be tricky.
+$!
+$! This .COM file expects to be called by configure.com, and thus expects
+$! a few symbols in the environment. Notably:
+$!
+$! One of: Using_Dec_C, Using_Vax_C, Using_Gnu_C set to "YES"
+$! Dec_C_Version set to the Dec C version (defaults to 0 if not specified)
+$! Has_Socketshr set to "T" if using socketshr
+$! Has_Dec_C_Sockets set to "T" if using Dec C sockets
+$! Use_Threads set to "T" if they're using threads
+$! C_Compiler_Invoke is the command needed to invoke the C compiler
+$!
+$! Set Dec_C_Version to something
+$ WRITE_RESULT := "WRITE SYS$OUTPUT ""%CONFIG-I-RESULT "" + "
+$ Dec_C_Version := "''Dec_C_Version'"
+$ Dec_C_Version = Dec_C_Version + 0
+$ Vms_Ver := "''f$extract(1,3, f$getsyi(""version""))'"
+$ perl_extensions := "''extensions'"
+$ if f$length(Mcc) .eq. 0 then Mcc := "cc"
+$ MCC = f$edit(mcc, "UPCASE")
+$ IF Mcc.eqs."CC
+$ THEN
+$ C_Compiler_Replace := "CC="
+$ ELSE
+$ C_Compiler_Replace := "CC=CC=''Mcc'"
+$ ENDIF
+$ if "''Using_Dec_C'" .eqs. "Yes"
+$ THEN
+$ Checkcc := "''Mcc'/prefix=all"
+$ ELSE
+$ Checkcc := "''Mcc'"
+$ ENDIF
+$ cc_flags = ""
+$! Some constant defaults.
+$
+$ hwname = f$getsyi("HW_NAME")
+$ myname = myhostname
+$ if "''myname'" .eqs. "" THEN myname = f$trnlnm("SYS$NODE")
+$!
+$! ##ADD NEW CONSTANTS HERE##
+$ perl_i_sysmount="undef"
+$ perl_d_fstatfs="undef"
+$ perl_i_machcthreads="undef"
+$ perl_i_pthread="define"
+$ perl_d_fstatvfs="undef"
+$ perl_d_statfsflags="undef"
+$ perl_i_sysstatvfs="undef"
+$ perl_i_mntent="undef"
+$ perl_d_getmntent="undef"
+$ perl_d_hasmntopt="undef"
+$ perl_package="''package'"
+$ perl_baserev = "''baserev'"
+$ cc_defines=""
+$ perl_CONFIG="true"
+$ perl_i_netdb="undef"
+$ perl_d_gnulibc="undef"
+$ perl_cf_by="unknown"
+$ perl_ccdlflags=""
+$ perl_cccdlflags=""
+$ perl_mab=""
+$ perl_libpth="/sys$share /sys$library"
+$ perl_ld="Link"
+$ perl_lddlflags="/Share"
+$ perl_ranlib=""
+$ perl_ar=""
+$ perl_eunicefix=":"
+$ perl_hint="none"
+$ perl_i_arpainet="undef"
+$ perl_d_grpasswd="undef"
+$ perl_d_setgrent="undef"
+$ perl_d_getgrent="define"
+$ perl_d_endgrent="define"
+$ perl_d_pwpasswd="define"
+$ perl_d_setpwent="define"
+$ perl_d_getpwent="define"
+$ perl_d_endpwent="define"
+$ perl_ebcdic="undef"
+$ perl_hintfile=""
+$ perl_shrplib="define"
+$ perl_usemymalloc=mymalloc
+$ perl_usevfork="true"
+$ perl_useposix="false"
+$ perl_spitshell="write sys$output "
+$ perl_dlsrc="dl_vms.c"
+$ perl_man1ext="rno"
+$ perl_man3ext="rno"
+$ perl_prefix="perl_root"
+$ perl_binexp="''perl_prefix':[000000]"
+$ perl_builddir="''perl_prefix':[000000]"
+$ perl_installbin="''perl_prefix':[000000]"
+$ perl_installscript="''perl_prefix':[000000]"
+$ perl_installman1dir="''perl_prefix':[man.man1]"
+$ perl_installman3dir="''perl_prefix':[man.man3]"
+$ perl_installprivlib="''perl_prefix':[lib]"
+$ perl_installsitelib="''perl_prefix':[lib.site_perl]"
+$ perl_path_sep="|"
+$ perl_cc=Mcc
+$ perl_d_sockpair="undef"
+$ perl_i_neterrno="define"
+$ perl_ldflags="/NoTrace/NoMap"
+$ perl_d_lchown="undef"
+$ perl_d_mknod="undef"
+$ perl_d_union_semun="undef"
+$ perl_d_semctl_semun="undef"
+$ perl_d_semctl_semid_ds="undef"
+$ IF (sharedperl.EQS."Y")
+$ THEN
+$ perl_obj_ext=".abj"
+$ perl_so="axe"
+$ perl_dlext="axe"
+$ perl_exe_ext=".axe"
+$ perl_lib_ext=".alb"
+$ ELSE
+$ perl_obj_ext=".obj"
+$ perl_so="exe"
+$ perl_dlext="exe"
+$ perl_exe_ext=".exe"
+$ perl_lib_ext=".olb"
+$ENDIF
+$ perl_dlobj="dl_vms''perl_obj_ext'"
+$ perl_osname="VMS"
+$ perl_d_archlib="define"
+$ perl_d_bincompat3="undef"
+$ perl_cppstdin="''Perl_CC'/noobj/preprocess=sys$output sys$input"
+$ perl_cppminus=""
+$ perl_d_castneg="define"
+$ perl_castflags="0"
+$ perl_d_chsize="undef"
+$ perl_d_const="define"
+$ perl_d_crypt="define"
+$ perl_byteorder="1234"
+$ perl_full_csh=""
+$ perl_d_csh="undef"
+$ perl_d_dup2="define"
+$ perl_d_fchmod="undef"
+$ perl_d_fchown="undef"
+$ perl_d_fcntl="undef"
+$ perl_d_fgetpos="define"
+$ perl_d_flexfnam="define"
+$ perl_d_flock="undef"
+$ perl_d_fsetpos="define"
+$ perl_d_getgrps="undef"
+$ perl_d_setgrps="undef"
+$ perl_d_getprior="undef"
+$ perl_d_killpg="undef"
+$ perl_d_link="undef"
+$ perl_d_lstat="undef"
+$ perl_d_lockf="undef"
+$ perl_d_memcmp="define"
+$ perl_d_memcpy="define"
+$ perl_d_memmove="define"
+$ perl_d_memset="define"
+$ perl_d_mkdir="define"
+$ perl_d_msg="undef"
+$ perl_d_open3="define"
+$ perl_d_poll="undef"
+$ perl_d_readdir="define"
+$ perl_d_seekdir="define"
+$ perl_d_telldir="define"
+$ perl_d_rewinddir="define"
+$ perl_d_rename="define"
+$ perl_d_rmdir="define"
+$ perl_d_sem="undef"
+$ perl_d_setegid="undef"
+$ perl_d_seteuid="undef"
+$ perl_d_setprior="undef"
+$ perl_d_setregid="undef"
+$ perl_d_setresgid="undef"
+$ perl_d_setreuid="undef"
+$ perl_d_setresuid="undef"
+$ perl_d_setrgid="undef"
+$ perl_d_setruid="undef"
+$ perl_d_setsid="undef"
+$ perl_d_shm="undef"
+$ perl_d_shmatprototype="undef"
+$ perl_d_statblks="undef"
+$ perl_stdio_ptr="((*fp)->_ptr)"
+$ perl_stdio_cnt="((*fp)->_cnt)"
+$ perl_stdio_base="((*fp)->_base)"
+$ perl_stdio_bufsiz="((*fp)->_cnt + (*fp)->_ptr - (*fp)->_base)"
+$ perl_d_strctcpy="define"
+$ perl_d_strerror="define"
+$ perl_d_syserrlst="undef"
+$ perl_d_strerrm="strerror((e),vaxc$errno)"
+$ perl_d_symlink="undef"
+$ perl_d_syscall="undef"
+$ perl_d_system="define"
+$ perl_timetype="time_t"
+$ perl_d_vfork="define"
+$ perl_signal_t="void"
+$ perl_d_volatile="define"
+$ perl_d_vprintf="define"
+$ perl_d_charvspr="undef"
+$ perl_d_waitpid="define"
+$ perl_i_dirent="undef"
+$ perl_d_dirnamlen="define"
+$ perl_direntrytype="struct dirent"
+$ perl_i_fcntl="undef"
+$ perl_i_grp="undef"
+$ perl_i_limits="define"
+$ perl_i_memory="undef"
+$ perl_i_ndbm="undef"
+$ perl_i_stdarg="define"
+$ perl_i_pwd="undef"
+$ perl_d_pwquota="undef"
+$ perl_d_pwage="undef"
+$ perl_d_pwchange="undef"
+$ perl_d_pwclass="undef"
+$ perl_d_pwexpire="undef"
+$ perl_d_pwcomment="define"
+$ perl_i_stddef="define"
+$ perl_i_stdlib="define"
+$ perl_i_string="define"
+$ perl_i_sysdir="undef"
+$ perl_i_sysfile="undef"
+$ perl_i_sysioctl="undef"
+$ perl_i_sysndir="undef"
+$ perl_i_sysresrc="undef"
+$ perl_i_sysselct="undef"
+$ perl_i_dbm="undef"
+$ perl_i_rpcsvcdbm="undef"
+$ perl_i_sfio="undef"
+$ perl_i_sysstat="define"
+$ perl_i_systimes="undef"
+$ perl_i_systypes="define"
+$ perl_i_sysun="undef"
+$ perl_i_syswait="undef"
+$ perl_i_termio="undef"
+$ perl_i_sgtty="undef"
+$ perl_i_termios="undef"
+$ perl_i_time="define"
+$ perl_i_systime="undef"
+$ perl_i_systimek="undef"
+$! perl_i_unistd="undef"
+$ perl_i_utime="undef"
+$ perl_i_varargs="undef"
+$ perl_i_vfork="undef"
+$ perl_prototype="define"
+$ perl_randbits="31"
+$ perl_stdchar="char"
+$ perl_d_unlink_all_versions="undef"
+$ perl_full_sed="_NLA0:"
+$ perl_bin="/''perl_prefix'/000000"
+$ perl_binexp="''perl_prefix':[000000]"
+$ perl_d_alarm="define"
+$ perl_d_casti32="define"
+$ perl_d_chown="define"
+$ perl_d_chroot="undef"
+$ perl_d_cuserid="define"
+$ perl_d_dbl_dig="define"
+$ perl_d_difftime="define"
+$ perl_d_fork="undef"
+$ perl_d_getlogin="define"
+$ perl_d_getppid="undef"
+$ perl_d_nice="define"
+$ perl_d_pause="define"
+$ perl_d_pipe="define"
+$ perl_d_readlink="undef"
+$ perl_d_setlinebuf="undef"
+$ perl_d_strchr="define"
+$ perl_d_strtod="define"
+$ perl_d_strtol="define"
+$ perl_d_strtoul="define"
+$ perl_d_tcgetpgrp="undef"
+$ perl_d_tcsetpgrp="undef"
+$ perl_d_times="define"
+$ perl_d_tzname="undef"
+$ perl_d_umask="define"
+$ perl_fpostype="fpos_t"
+$ perl_i_dlfcn="undef"
+$ perl_i_float="define"
+$ perl_i_math="define"
+$ perl_lseektype="int"
+$ perl_i_values="undef"
+$ perl_malloctype="void *"
+$ perl_freetype="void"
+$ if "''mymalloc'".eqs."Y"
+$ THEN
+$ perl_d_mymalloc="define"
+$ ELSE
+$ perl_d_mymalloc="undef"
+$ENDIF
+$ perl_sh="MCR"
+$ perl_modetype="unsigned int"
+$ perl_ssizetype="int"
+$ perl_o_nonblock=""
+$ perl_eagain=""
+$ perl_rd_nodata=""
+$ perl_d_eofnblk="undef"
+$ perl_d_oldarchlib="define"
+$ perl_privlibexp="''perl_prefix':[lib]"
+$ perl_privlib="''perl_prefix':[lib]"
+$ perl_sitelibexp="''perl_prefix':[lib.site_perl]"
+$ perl_sitelib="''perl_prefix':[lib.site_perl]"
+$ perl_sizetype="size_t"
+$ perl_i_sysparam="undef"
+$ perl_d_void_closedir="define"
+$ perl_d_dlerror="undef"
+$ perl_d_dlsymun="undef"
+$ perl_d_suidsafe="undef"
+$ perl_d_dosuid="undef"
+$ perl_d_inetaton="undef"
+$ perl_d_isascii="define"
+$ perl_d_mkfifo="undef"
+$ perl_d_safebcpy="undef"
+$ perl_d_safemcpy="define"
+$ perl_d_sanemcmp="define"
+$ perl_d_setpgrp="undef"
+$ perl_d_bsdsetpgrp="undef"
+$ perl_d_bsdpgrp="undef"
+$ perl_d_setpgid="undef"
+$ perl_d_setpgrp2="undef"
+$ perl_d_Gconvert="my_gconvert(x,n,t,b)"
+$ perl_d_getpgid="undef"
+$ perl_d_getpgrp="undef"
+$ perl_d_bsdgetpgrp="undef"
+$ perl_d_getpgrp2="undef"
+$ perl_d_sfio="undef"
+$ perl_usedl="define"
+$ perl_startperl="""$ perl 'f$env(\""procedure\"")' 'p1' 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8' !\n$ exit++ + ++$status != 0 and $exit = $status = undef;"""
+$ perl_db_hashtype=""
+$ perl_db_prefixtype=""
+$ perl_useperlio="undef"
+$ perl_defvoidused="15"
+$ perl_voidflags="15"
+$ perl_d_eunice="undef"
+$ perl_d_pwgecos="define"
+$ IF ("''Use_Threads'".eqs."T").and.("''VMS_VER'".LES."6.2")
+$ THEN
+$ perl_libs="SYS$SHARE:CMA$LIB_SHR.EXE/SHARE SYS$SHARE:CMA$RTL.EXE/SHARE SYS$SHARE:CMA$OPEN_LIB_SHR.exe/SHARE SYS$SHARE:CMA$OPEN_RTL.exe/SHARE"
+$ ELSE
+$ perl_libs=""
+$ ENDIF
+$ IF ("''Using_Dec_C'".eqs."Yes")
+$ THEN
+$ perl_libc="(DECCRTL)"
+$ ELSE
+$ perl_libc=""
+$ ENDIF
+$ perl_PATCHLEVEL="''patchlevel'"
+$ perl_SUBVERSION="''subversion'"
+$ perl_pager="most"
+$!
+$!
+$! Now some that we build up
+$!
+$ LocalTime = f$time()
+$ perl_cf_time= f$extract(0, 3, f$cvtime(LocalTime,, "WEEKDAY")) + " " + -
+ f$edit(f$cvtime(LocalTime, "ABSOLUTE", "MONTH"), "LOWERCASE") + -
+ " " + f$cvtime(LocalTime,, "DAY") + " " + f$cvtime(LocalTime,, "TIME") + -
+ " " + f$cvtime(LocalTime,, "YEAR")
+$ if f$getsyi("HW_MODEL").ge.1024
+$ THEN
+$ perl_arch="VMS_AXP"
+$ perl_archname="VMS_AXP"
+$ perl_alignbytes="8"
+$ ELSE
+$ perl_arch="VMS_VAX"
+$ perl_archname="VMS_VAX"
+$ perl_alignbytes="8"
+$ ENDIF
+$ if ("''Use_Threads'".eqs."T")
+$ THEN
+$ perl_arch = "''perl_arch'-thread"
+$ perl_archname = "''perl_archname'-thread"
+$ ENDIF
+$ perl_osvers=f$edit(osvers, "TRIM")
+$ if (perl_subversion + 0).eq.0
+$ THEN
+$ LocalPerlVer = "5_" + Perl_PATCHLEVEL
+$ ELSE
+$ LocalPerlVer = "5_" + Perl_PATCHLEVEL + perl_subversion
+$ ENDIF
+$!
+$! Some that we need to invoke the compiler for
+$ OS := "open/write SOURCECHAN []temp.c"
+$ WS := "write SOURCECHAN"
+$ CS := "close SOURCECHAN"
+$ DS := "delete/nolog []temp.*;*"
+$ Needs_Opt := "No"
+$ if ("''using_vax_c'".eqs."Yes").or.("''using_gnu_c'".eqs."Yes")
+$ THEN
+$ open/write OPTCHAN []temp.opt
+$ IF ("''using_gnu_c'".eqs."Yes")
+$ THEN
+$ write OPTCHAN "Gnu_CC:[000000]gcclib.olb/library"
+$ endif
+$ write OPTCHAN "Sys$Share:VAXCRTL/Share"
+$ Close OPTCHAN
+$ Needs_Opt := "Yes"
+$ ENDIF
+$!
+$! Check for __STDC__
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "int main()
+$ WS "{"
+$ WS "#ifdef __STDC__
+$ WS "printf(""42\n"");
+$ WS "#else
+$ WS "printf(""1\n"");
+$ WS "#endif
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ ON ERROR THEN CONTINUE
+$ ON WARNING THEN CONTINUE
+$ 'Checkcc' temp.c
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ OPEN/WRITE TEMPOUT [-.uu]tempout.lis
+$ DEFINE SYS$ERROR TEMPOUT
+$ DEFINE SYS$OUTPUT TEMPOUT
+$ mcr []temp
+$ CLOSE TEMPOUT
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ OPEN/READ TEMPOUT [-.uu]tempout.lis
+$ READ TEMPOUT line
+$ CLOSE TEMPOUT
+$
+$ perl_cpp_stuff=line
+$ WRITE_RESULT "cpp_stuff is ''perl_cpp_stuff'"
+$!
+$! Check for double size
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "int main()
+$ WS "{"
+$ WS "int foo;
+$ WS "foo = sizeof(double);
+$ WS "printf(""%d\n"", foo);
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ ON ERROR THEN CONTINUE
+$ ON WARNING THEN CONTINUE
+$ 'Checkcc' temp.c
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$! link temp.obj
+$ OPEN/WRITE TEMPOUT [-.uu]tempout.lis
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ DEFINE SYS$ERROR TEMPOUT
+$ DEFINE SYS$OUTPUT TEMPOUT
+$ mcr []temp
+$ CLOSE TEMPOUT
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ OPEN/READ TEMPOUT [-.uu]tempout.lis
+$ READ TEMPOUT line
+$ CLOSE TEMPOUT
+$
+$ perl_doublesize=line
+$ WRITE_RESULT "doublesize is ''perl_doublesize'"
+$!
+$! Check for long double size
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "int main()
+$ WS "{"
+$ WS "printf(""%d\n"", sizeof(long double));
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ ON ERROR THEN CONTINUE
+$ ON WARNING THEN CONTINUE
+$ 'Checkcc' temp.c
+$ teststatus = f$extract(9,1,$status)
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_longdblsize="0"
+$ perl_d_longdbl="undef"
+$ ELSE
+$ ON ERROR THEN CONTINUE
+$ ON WARNING THEN CONTINUE
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ teststatus = f$extract(9,1,$status)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_longdblsize="0"
+$ perl_d_longdbl="undef"
+$ ELSE
+$ OPEN/WRITE TEMPOUT [-.uu]tempout.lis
+$ DEFINE SYS$ERROR TEMPOUT
+$ DEFINE SYS$OUTPUT TEMPOUT
+$ mcr []temp
+$ CLOSE TEMPOUT
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ OPEN/READ TEMPOUT [-.uu]tempout.lis
+$ READ TEMPOUT line
+$ CLOSE TEMPOUT
+$
+$ perl_longdblsize=line
+$ perl_d_longdbl="define"
+$ ENDIF
+$ ENDIF
+$ WRITE_RESULT "longdblsize is ''perl_longdblsize'"
+$ WRITE_RESULT "d_longdbl is ''perl_d_longdbl'"
+$!
+$! Check for long long existance and size
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "int main()
+$ WS "{"
+$ WS "printf(""%d\n"", sizeof(long long));
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ teststatus = f$extract(9,1,$status)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_longlongsize="0"
+$ perl_d_longlong="undef"
+$ ELSE
+$ OPEN/WRITE TEMPOUT [-.uu]tempout.lis
+$ DEFINE SYS$ERROR TEMPOUT
+$ DEFINE SYS$OUTPUT TEMPOUT
+$ mcr []temp
+$ CLOSE TEMPOUT
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ OPEN/READ TEMPOUT [-.uu]tempout.lis
+$ READ TEMPOUT line
+$ CLOSE TEMPOUT
+$
+$ perl_longlongsize=line
+$ perl_d_longlong="define"
+$ ENDIF
+$ WRITE_RESULT "longlongsize is ''perl_longlongsize'"
+$ WRITE_RESULT "d_longlong is ''perl_d_longlong'"
+$!
+$! Check for int size
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "int main()
+$ WS "{"
+$ WS "printf(""%d\n"", sizeof(int));
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ OPEN/WRITE TEMPOUT [-.uu]tempout.lis
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ DEFINE SYS$ERROR TEMPOUT
+$ DEFINE SYS$OUTPUT TEMPOUT
+$ mcr []temp
+$ CLOSE TEMPOUT
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ OPEN/READ TEMPOUT [-.uu]tempout.lis
+$ READ TEMPOUT line
+$ CLOSE TEMPOUT
+$
+$ perl_intsize=line
+$ WRITE_RESULT "intsize is ''perl_intsize'"
+$!
+$! Check for short size
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "int main()
+$ WS "{"
+$ WS "printf(""%d\n"", sizeof(short));
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ OPEN/WRITE TEMPOUT [-.uu]tempout.lis
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ DEFINE SYS$ERROR TEMPOUT
+$ DEFINE SYS$OUTPUT TEMPOUT
+$ mcr []temp
+$ CLOSE TEMPOUT
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ OPEN/READ TEMPOUT [-.uu]tempout.lis
+$ READ TEMPOUT line
+$ CLOSE TEMPOUT
+$
+$ perl_shortsize=line
+$ WRITE_RESULT "shortsize is ''perl_shortsize'"
+$!
+$! Check for long size
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "int main()
+$ WS "{"
+$ WS "int foo;
+$ WS "foo = sizeof(long);
+$ WS "printf(""%d\n"", foo);
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ OPEN/WRITE TEMPOUT [-.uu]tempout.lis
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ DEFINE SYS$ERROR TEMPOUT
+$ DEFINE SYS$OUTPUT TEMPOUT
+$ mcr []temp
+$ CLOSE TEMPOUT
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ OPEN/READ TEMPOUT [-.uu]tempout.lis
+$ READ TEMPOUT line
+$ CLOSE TEMPOUT
+$
+$ perl_longsize=line
+$ WRITE_RESULT "longsize is ''perl_longsize'"
+$!
+$! Check the prototype for getgid
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "#include <types.h>
+$ WS "#include <unistd.h>
+$ WS "int main()
+$ WS "{"
+$ WS "gid_t foo;
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ teststatus = f$extract(9,1,$status)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$! Okay, gid_t failed. Must be unsigned int
+$ perl_gidtype = "unsigned int"
+$ ELSE
+$ perl_gidtype = "gid_t"
+$ ENDIF
+$ WRITE_RESULT "Gid_t is ''perl_gidtype'"
+$!
+$! Check to see if we've got dev_t
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "#include <types.h>
+$ WS "#include <unistd.h>
+$ WS "int main()
+$ WS "{"
+$ WS "dev_t foo;
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ teststatus = f$extract(9,1,$status)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$! Okay, dev_t failed. Must be unsigned int
+$ perl_devtype = "unsigned int"
+$ ELSE
+$ perl_devtype = "dev_t"
+$ ENDIF
+$ WRITE_RESULT "Dev_t is ''perl_devtype'"
+$!
+$! Check to see if we've got unistd.h (which we ought to, but you never know)
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <unistd.h>
+$ WS "int main()
+$ WS "{"
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ teststatus = f$extract(9,1,$status)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$! Okay, failed. Must not have it
+$ perl_i_unistd = "undef"
+$ ELSE
+$ perl_i_unistd = "define"
+
+$ ENDIF
+$ WRITE_RESULT "i_unistd is ''perl_i_unistd'"
+$!
+$! Check the prototype for select
+$!
+$ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
+$ THEN
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "#include <types.h>
+$ WS "#include <unistd.h>
+$ if ("''Has_Socketshr'".eqs."T")
+$ THEN
+$ WS "#include <socketshr.h>"
+$ else
+$ WS "#include <time.h>
+$ WS "#include <socket.h>
+$ endif
+$ WS "int main()
+$ WS "{"
+$ WS "fd_set *foo;
+$ WS "int bar;
+$ WS "foo = NULL;
+$ WS "bar = select(2, foo, foo, foo, NULL);
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ teststatus = f$extract(9,1,$status)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$! Okay, fd_set failed. Must be an int
+$ perl_selecttype = "int *"
+$ ELSE
+$ perl_selecttype="fd_set *"
+$ ENDIF
+$ ELSE
+$ ! No sockets, so stick in an int *
+$ perl_selecttype = "int *"
+$ ENDIF
+$ WRITE_RESULT "selectype is ''perl_selecttype'"
+$!
+$! Check for sys/file.h
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "#include <unistd.h>
+$ WS "#include <sys/file.h>
+$ WS "int main()
+$ WS "{"
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_i_sysfile="undef"
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ ELSE
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_i_sysfile="undef"
+$ ELSE
+$ perl_i_sysfile="define"
+$ ENDIF
+$ ENDIF
+$ WRITE_RESULT "i_sysfile is ''perl_i_sysfile'"
+$!
+$! Check for fcntl.h
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "#include <unistd.h>
+$ WS "#include <fcntl.h>
+$ WS "int main()
+$ WS "{"
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_i_fcntl="undef"
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ ELSE
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_i_fcntl="undef"
+$ ELSE
+$ perl_i_fcntl="define"
+$ ENDIF
+$ ENDIF
+$ WRITE_RESULT "i_fcntl is ''perl_i_fcntl'"
+$!
+$! Check for fcntl
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "#include <unistd.h>
+$ WS "#include <fcntl.h>
+$ WS "int main()
+$ WS "{"
+$ WS "fcntl(1,2,3);
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_fcntl="undef"
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ ELSE
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_fcntl="undef"
+$ ELSE
+$ perl_d_fcntl="define"
+$ ENDIF
+$ ENDIF
+$ WRITE_RESULT "d_fcntl is ''perl_d_fcntl'"
+$!
+$! Check for bzero
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "#include <strings.h>
+$ WS "int main()
+$ WS "{"
+$ WS "char foo[10];
+$ WS "bzero(foo, 10);
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_bzero="undef"
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ ELSE
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_bzero="undef"
+$ ELSE
+$ perl_d_bzero="define"
+$ ENDIF
+$ ENDIF
+$ WRITE_RESULT "d_bzero is ''perl_d_bzero'"
+$!
+$! Check for bcopy
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "#include <strings.h>
+$ WS "int main()
+$ WS "{"
+$ WS "char foo[10], bar[10];
+$ WS "bcopy(""foo"", bar, 3);
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_bcopy="undef"
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ ELSE
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_bcopy="undef"
+$ ELSE
+$ perl_d_bcopy="define"
+$ ENDIF
+$ ENDIF
+$ WRITE_RESULT "d_bcopy is ''perl_d_bcopy'"
+$!
+$! Check for mkstemp
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "int main()
+$ WS "{"
+$ WS "mkstemp(""foo"");
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_mkstemp="undef"
+$ ELSE
+$ perl_d_mkstemp="define"
+$ ENDIF
+$ WRITE_RESULT "d_mkstemp is ''perl_d_mkstemp'"
+$!
+$! Check for setvbuf
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "int main()
+$ WS "{"
+$ WS "FILE *foo;
+$ WS "char Buffer[99];
+$ WS "foo = fopen(""foo"", ""r"");
+$ WS "setvbuf(foo, Buffer, 0, 0);
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ teststatus = f$extract(9,1,$status)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_setvbuf="undef"
+$ ELSE
+$ perl_d_setvbuf="define"
+$ ENDIF
+$ WRITE_RESULT "d_setvbuf is ''perl_d_setvbuf'"
+$!
+$! Check for <netinet/in.h>
+$!
+$ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
+$ THEN
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ if ("''Has_Socketshr'".eqs."T")
+$ THEN
+$ WS "#include <socketshr.h>"
+$ else
+$ WS "#include <netdb.h>
+$ endif
+$ WS "#include <netinet/in.h>"
+$ WS "int main()
+$ WS "{"
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ teststatus = f$extract(9,1,$status)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_i_niin="undef"
+$ ELSE
+$ perl_i_niin="define"
+$ ENDIF
+$ ELSE
+$ perl_i_niin="undef"
+$ ENDIF
+$ WRITE_RESULT "i_niin is ''perl_i_niin'"
+$!
+$! Check for endhostent
+$!
+$ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
+$ THEN
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ if ("''Has_Socketshr'".eqs."T")
+$ THEN
+$ WS "#include <socketshr.h>"
+$ else
+$ WS "#include <netdb.h>
+$ endif
+$ WS "int main()
+$ WS "{"
+$ WS "endhostent();
+$ WS "exit(0);
+
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ teststatus = f$extract(9,1,$status)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_endhent="undef"
+$ ELSE
+$ perl_d_endhent="define"
+$ ENDIF
+$ ELSE
+$ perl_d_endhent="undef"
+$ ENDIF
+$ WRITE_RESULT "d_endhent is ''perl_d_endhent'"
+$!
+$! Check for endnetent
+$!
+$ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
+$ THEN
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ if ("''Has_Socketshr'".eqs."T")
+$ THEN
+$ WS "#include <socketshr.h>"
+$ else
+$ WS "#include <netdb.h>
+$ endif
+$ WS "int main()
+$ WS "{"
+$ WS "endnetent();
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ teststatus = f$extract(9,1,$status)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_endnent="undef"
+$ ELSE
+$ perl_d_endnent="define"
+$ ENDIF
+$ ELSE
+$ perl_d_endnent="undef"
+$ ENDIF
+$ WRITE_RESULT "d_endnent is ''perl_d_endnent'"
+$!
+$! Check for endprotoent
+$!
+$ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
+$ THEN
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ if ("''Has_Socketshr'".eqs."T")
+$ THEN
+$ WS "#include <socketshr.h>"
+$ else
+$ WS "#include <netdb.h>
+$ endif
+$ WS "int main()
+$ WS "{"
+$ WS "endprotoent();
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ teststatus = f$extract(9,1,$status)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_endpent="undef"
+$ ELSE
+$ perl_d_endpent="define"
+$ ENDIF
+$ ELSE
+$ perl_d_endpent="undef"
+$ ENDIF
+$ WRITE_RESULT "d_endpent is ''perl_d_endpent'"
+$!
+$! Check for endservent
+$!
+$ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
+$ THEN
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ if ("''Has_Socketshr'".eqs."T")
+$ THEN
+$ WS "#include <socketshr.h>"
+$ else
+$ WS "#include <netdb.h>
+$ endif
+$ WS "int main()
+$ WS "{"
+$ WS "endservent();
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ teststatus = f$extract(9,1,$status)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_endsent="undef"
+$ ELSE
+$ perl_d_endsent="define"
+$ ENDIF
+$ ELSE
+$ perl_d_endsent="undef"
+$ ENDIF
+$ WRITE_RESULT "d_endsent is ''perl_d_endsent'"
+$!
+$! Check for sethostent
+$!
+$ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
+$ THEN
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ if ("''Has_Socketshr'".eqs."T")
+$ THEN
+$ WS "#include <socketshr.h>"
+$ else
+$ WS "#include <netdb.h>
+$ endif
+$ WS "int main()
+$ WS "{"
+$ WS "sethostent(1);
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ teststatus = f$extract(9,1,$status)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_sethent="undef"
+$ ELSE
+$ perl_d_sethent="define"
+$ ENDIF
+$ ELSE
+$ perl_d_sethent="undef"
+$ ENDIF
+$ WRITE_RESULT "d_sethent is ''perl_d_sethent'"
+$!
+$! Check for setnetent
+$!
+$ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
+$ THEN
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ if ("''Has_Socketshr'".eqs."T")
+$ THEN
+$ WS "#include <socketshr.h>"
+$ else
+$ WS "#include <netdb.h>
+$ endif
+$ WS "int main()
+$ WS "{"
+$ WS "setnetent(1);
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ teststatus = f$extract(9,1,$status)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_setnent="undef"
+$ ELSE
+$ perl_d_setnent="define"
+$ ENDIF
+$ ELSE
+$ perl_d_setnent="undef"
+$ ENDIF
+$ WRITE_RESULT "d_setnent is ''perl_d_setnent'"
+$!
+$! Check for setprotoent
+$!
+$ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
+$ THEN
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ if ("''Has_Socketshr'".eqs."T")
+$ THEN
+$ WS "#include <socketshr.h>"
+$ else
+$ WS "#include <netdb.h>
+$ endif
+$ WS "int main()
+$ WS "{"
+$ WS "setprotoent(1);
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ teststatus = f$extract(9,1,$status)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_setpent="undef"
+$ ELSE
+$ perl_d_setpent="define"
+$ ENDIF
+$ ELSE
+$ perl_d_setpent="undef"
+$ ENDIF
+$ WRITE_RESULT "d_setpent is ''perl_d_setpent'"
+$!
+$! Check for setservent
+$!
+$ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
+$ THEN
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ if ("''Has_Socketshr'".eqs."T")
+$ THEN
+$ WS "#include <socketshr.h>"
+$ else
+$ WS "#include <netdb.h>
+$ endif
+$ WS "int main()
+$ WS "{"
+$ WS "setservent(1);
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ teststatus = f$extract(9,1,$status)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_setsent="undef"
+$ ELSE
+$ perl_d_setsent="define"
+$ ENDIF
+$ ELSE
+$ perl_d_setsent="undef"
+$ ENDIF
+$ WRITE_RESULT "d_setsent is ''perl_d_setsent'"
+$!
+$! Check for gethostent
+$!
+$ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
+$ THEN
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ if ("''Has_Socketshr'".eqs."T")
+$ THEN
+$ WS "#include <socketshr.h>"
+$ else
+$ WS "#include <netdb.h>
+$ endif
+$ WS "int main()
+$ WS "{"
+$ WS "gethostent();
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ teststatus = f$extract(9,1,$status)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_gethent="undef"
+$ ELSE
+$ perl_d_gethent="define"
+$ ENDIF
+$ ELSE
+$ perl_d_gethent="undef"
+$ ENDIF
+$ WRITE_RESULT "d_gethent is ''perl_d_gethent'"
+$!
+$! Check for getnetent
+$!
+$ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
+$ THEN
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ if ("''Has_Socketshr'".eqs."T")
+$ THEN
+$ WS "#include <socketshr.h>"
+$ else
+$ WS "#include <netdb.h>
+$ endif
+$ WS "int main()
+$ WS "{"
+$ WS "getnetent();
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ teststatus = f$extract(9,1,$status)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_getnent="undef"
+$ ELSE
+$ perl_d_getnent="define"
+$ ENDIF
+$ ELSE
+$ perl_d_getnent="undef"
+$ ENDIF
+$ WRITE_RESULT "d_getnent is ''perl_d_getnent'"
+$!
+$! Check for getprotoent
+$!
+$ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
+$ THEN
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ if ("''Has_Socketshr'".eqs."T")
+$ THEN
+$ WS "#include <socketshr.h>"
+$ else
+$ WS "#include <netdb.h>
+$ endif
+$ WS "int main()
+$ WS "{"
+$ WS "getprotoent();
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ teststatus = f$extract(9,1,$status)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_getpent="undef"
+$ ELSE
+$ perl_d_getpent="define"
+$ ENDIF
+$ ELSE
+$ perl_d_getpent="undef"
+$ ENDIF
+$ WRITE_RESULT "d_getpent is ''perl_d_getpent'"
+$!
+$! Check for getservent
+$!
+$ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
+$ THEN
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ if ("''Has_Socketshr'".eqs."T")
+$ THEN
+$ WS "#include <socketshr.h>"
+$ else
+$ WS "#include <netdb.h>
+$ endif
+$ WS "int main()
+$ WS "{"
+$ WS "getservent();
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ teststatus = f$extract(9,1,$status)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_getsent="undef"
+$ ELSE
+$ perl_d_getsent="define"
+$ ENDIF
+$ ELSE
+$ perl_d_getsent="undef"
+$ ENDIF
+$ WRITE_RESULT "d_getsent is ''perl_d_getsent'"
+$!
+$! Check for pthread_yield
+$!
+$ if ("''use_threads'".eqs."T")
+$ THEN
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <pthread.h>
+$ WS "#include <stdio.h>
+$ WS "int main()
+$ WS "{"
+$ WS "pthread_yield();
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ teststatus = f$extract(9,1,$status)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_pthread_yield="undef"
+$ ELSE
+$ perl_d_pthread_yield="define"
+$ ENDIF
+$ ELSE
+$ perl_d_pthread_yield="undef"
+$ ENDIF
+$ WRITE_RESULT "d_pthread_yield is ''perl_d_pthread_yield'"
+$!
+$! Check for sched_yield
+$!
+$ if ("''use_threads'".eqs."T")
+$ THEN
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <pthread.h>
+$ WS "#include <stdio.h>
+$ WS "int main()
+$ WS "{"
+$ WS "sched_yield();
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ teststatus = f$extract(9,1,$status)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_sched_yield="undef"
+$ ELSE
+$ perl_d_sched_yield="define"
+$ ENDIF
+$ ELSE
+$ perl_d_sched_yield="undef"
+$ ENDIF
+$ WRITE_RESULT "d_sched_yield is ''perl_d_sched_yield'"
+$!
+$! Check for generic pointer size
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "int main()
+$ WS "{"
+$ WS "int foo;
+$ WS "foo = sizeof(char *);
+$ WS "printf(""%d\n"", foo);
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$! copy temp.c sys$output
+$!
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ ON ERROR THEN CONTINUE
+$ ON WARNING THEN CONTINUE
+$ 'Checkcc' temp.c
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ OPEN/WRITE TEMPOUT [-.uu]tempout.lis
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ DEFINE SYS$ERROR TEMPOUT
+$ DEFINE SYS$OUTPUT TEMPOUT
+$ mcr []temp
+$ CLOSE TEMPOUT
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ OPEN/READ TEMPOUT [-.uu]tempout.lis
+$ READ TEMPOUT line
+$ CLOSE TEMPOUT
+$
+$ perl_ptrsize=line
+$ WRITE_RESULT "ptrsize is ''perl_ptrsize'"
+$!
+$ set nover
+$! Done with compiler checks. Clean up.
+$ if f$search("temp.c").nes."" then DELETE/NOLOG temp.c;*
+$ if f$search("temp.obj").nes."" then DELETE/NOLOG temp.obj;*
+$ if f$search("temp.exe").nes."" then DELETE/NOLOG temp.exe;*
+$ if f$search("temp.opt").nes."" then DELETE/NOLOG Temp.opt;*
+$!
+$!
+$! Some that are compiler or VMS version sensitive
+$!
+$! Gnu C stuff
+$ IF "''Using_Gnu_C'".EQS."Yes"
+$ THEN
+$ perl_d_attribut="define"
+$ perl_vms_cc_type="gcc"
+$ ELSE
+$ perl_d_attribut="undef"
+$ ENDIF
+$
+$! Dec C >= 5.2 and VMS ver >= 7.0
+$ IF ("''Using_Dec_C'".EQS."Yes").AND.(F$INTEGER(Dec_C_Version).GE.50200000).AND.("''VMS_VER'".GES."7.0")
+$ THEN
+$ perl_d_bcmp="define"
+$ perl_d_gettimeod="define"
+$ perl_d_uname="define"
+$ perl_d_sigaction="define"
+$ perl_d_truncate="define"
+$ perl_d_wait4="define"
+$ perl_d_index="define"
+$ perl_pidtype="pid_t"
+$ perl_sig_name="ZERO HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM ABRT USR1 USR2 SPARE18 SPARE19 CHLD CONT STOP TSTP TTIN TTOU DEBUG SPARE27 SPARE28 SPARE29 SPARE30 SPARE31 SPARE32 RTMIN RTMAX"",0"
+$ psnwc1="""ZERO"",""HUP"",""INT"",""QUIT"",""ILL"",""TRAP"",""IOT"",""EMT"",""FPE"",""KILL"",""BUS"",""SEGV"",""SYS"","
+$ psnwc2="""PIPE"",""ALRM"",""TERM"",""ABRT"",""USR1"",""USR2"",""SPARE18"",""SPARE19"",""CHLD"",""CONT"",""STOP"",""TSTP"","
+$ psnwc3="""TTIN"",""TTOU"",""DEBUG"",""SPARE27"",""SPARE28"",""SPARE29"",""SPARE30"",""SPARE31"",""SPARE32"",""RTMIN"",""RTMAX"",0"
+$perl_sig_name_with_commas = psnwc1 + psnwc2 + psnwc3
+$ perl_sig_num="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,6,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,64,0"
+$ perl_sig_num_with_commas=perl_sig_num
+$ perl_uidtype="uid_t"
+$ perl_d_pathconf="define"
+$ perl_d_fpathconf="define"
+$ perl_d_sysconf="define"
+$ perl_d_sigsetjmp="define"
+$ ELSE
+$ perl_pidtype="unsigned int"
+$ perl_d_gettimeod="undef"
+$ perl_d_bcmp="undef"
+$ perl_d_uname="undef"
+$ perl_d_sigaction="undef"
+$ perl_d_truncate="undef"
+$ perl_d_wait4="undef"
+$ perl_d_index="undef"
+$ perl_sig_name="ZERO HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM ABRT USR1 USR2"",0"
+$ psnwc1="""ZERO"",""HUP"",""INT"",""QUIT"",""ILL"",""TRAP"",""IOT"",""EMT"",""FPE"",""KILL"",""BUS"",""SEGV"",""SYS"","
+$ psnwc2="""PIPE"",""ALRM"",""TERM"",""ABRT"",""USR1"",""USR2"",0"
+$ perl_sig_name_with_commas = psnwc1 + psnwc2
+$ perl_sig_num="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,6,16,17,0"
+$ perl_sig_num_with_commas=perl_sig_num
+$ perl_uidtype="unsigned int"
+$ perl_d_pathconf="undef"
+$ perl_d_fpathconf="undef"
+$ perl_d_sysconf="undef"
+$ perl_d_sigsetjmp="undef"
+$ ENDIF
+$!
+$! Dec C alone
+$ IF ("''Using_Dec_C'".EQS."Yes")
+$ THEN
+$ perl_d_mbstowcs="define"
+$ perl_d_mbtowc="define"
+$ perl_d_stdiobase="define"
+$ perl_d_stdio_ptr_lval="define"
+$ perl_d_stdio_cnt_lval="define"
+$ perl_d_stdstdio="define"
+$ perl_d_wcstombs="define"
+$ perl_d_mblen="define"
+$ perl_d_mktime="define"
+$ perl_d_strcoll="define"
+$ perl_d_strxfrm="define"
+$ perl_d_wctomb="define"
+$ perl_i_locale="define"
+$ perl_d_locconv="define"
+$ perl_d_setlocale="define"
+$ perl_vms_cc_type="decc"
+$ ELSE
+$ perl_d_mbstowcs="undef"
+$ perl_d_mbtowc="undef"
+$ perl_d_stdiobase="undef"
+$ perl_d_stdio_ptr_lval="undef"
+$ perl_d_stdio_cnt_lval="undef"
+$ perl_d_stdstdio="undef"
+$ perl_d_wcstombs="undef"
+$ perl_d_mblen="undef"
+$ perl_d_mktime="undef"
+$ perl_d_strcoll="undef"
+$ perl_d_strxfrm="undef"
+$ perl_d_wctomb="undef"
+$ perl_i_locale="undef"
+$ perl_d_locconv="undef"
+$ perl_d_setlocale="undef"
+$ ENDIF
+$!
+$! Vax C stuff
+$ if ("''Using_Vax_C'".EQS."Yes")
+$ THEN
+$ perl_vms_cc_type="vaxc"
+$ ENDIF
+$!
+$!
+$! Sockets?
+$ if ("''Has_Socketshr'".EQS."T").OR.("''Has_Dec_C_Sockets'".EQS."T")
+$ THEN
+$ perl_d_vms_do_sockets="define"
+$ perl_d_htonl="define"
+$ perl_d_socket="define"
+$ perl_d_select="define"
+$ perl_netdb_host_type="char *"
+$ perl_netdb_hlen_type="int"
+$ perl_netdb_name_type="char *"
+$ perl_netdb_net_type="long"
+$ perl_d_gethbyaddr="define"
+$ perl_d_gethbyname="define"
+$ perl_d_getnbyaddr="define"
+$ perl_d_getnbyname="define"
+$ perl_d_getpbynumber="define"
+$ perl_d_getpbyname="define"
+$ perl_d_getsbyport="define"
+$ perl_d_getsbyname="define"
+$ perl_d_gethostprotos="define"
+$ perl_d_getnetprotos="define"
+$ perl_d_getprotoprotos="define"
+$ perl_d_getservprotos="define"
+$ ELSE
+$ perl_d_vms_do_sockets="undef"
+$ perl_d_htonl="undef"
+$ perl_d_socket="undef"
+$ perl_d_select="undef"
+$ perl_netdb_host_type="char *"
+$ perl_netdb_hlen_type="int"
+$ perl_netdb_name_type="char *"
+$ perl_netdb_net_type="long"
+$ perl_d_gethbyaddr="undef"
+$ perl_d_gethbyname="undef"
+$ perl_d_getnbyaddr="undef"
+$ perl_d_getnbyname="undef"
+$ perl_d_getpbynumber="undef"
+$ perl_d_getpbyname="undef"
+$ perl_d_getsbyport="undef"
+$ perl_d_getsbyname="undef"
+$ perl_d_gethostprotos="undef"
+$ perl_d_getnetprotos="undef"
+$ perl_d_getprotoprotos="undef"
+$ perl_d_getservprotos="undef"
+$ ENDIF
+$! Threads
+$ if ("''use_threads'".eqs."T")
+$ THEN
+$ perl_usethreads="define"
+$ perl_d_pthreads_created_joinable="define"
+$ if ("''VMS_VER'".ges."7.0")
+$ THEN
+$ perl_d_oldpthreads="undef"
+$ ELSE
+$ perl_d_oldpthreads="define"
+$ ENDIF
+$ ELSE
+$ perl_d_oldpthreads="undef"
+$ perl_usethreads="undef"
+$
+$ perl_d_pthreads_created_joinable="undef"
+$ ENDIF
+$!
+$!
+$! Finally the composite ones. All config
+$ perl_installarchlib="''perl_prefix':[lib.''perl_arch'.''localperlver']"
+$ perl_installsitearch="''perl_prefix':[lib.site_perl.''perl_arch']"
+$ perl_myhostname="''myhostname'"
+$ perl_mydomain="''mydomain'"
+$ perl_perladmin="''perladmin'"
+$ perl_cf_email="''cf_email'"
+$ perl_myuname:="VMS ''myname' ''f$edit(perl_osvers, "TRIM")' ''f$edit(hwname, "TRIM")'"
+$ perl_archlibexp="''perl_prefix':[lib.''perl_arch'.''localperlver']"
+$ perl_archlib="''perl_prefix':[lib.''perl_arch'.''lovalperlver']"
+$ perl_oldarchlibexp="''perl_prefix':[lib.''perl_arch']"
+$ perl_oldarchlib="''perl_prefix':[lib.''perl_arch']"
+$ perl_sitearchexp="''perl_prefix':[lib.site_perl.''perl_arch']"
+$ perl_sitearch="''perl_prefix':[lib.site_perl.''perl_arch']"
+$ if "''Using_Dec_C'" .eqs. "Yes"
+$ THEN
+$ perl_ccflags="/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=''perl_obj_ext'/NoList''cc_flags'"
+$ ELSE
+$ IF "''Using_Vax_C'" .eqs. "Yes"
+$ THEN
+$ perl_ccflags="/Include=[]/Obj=''perl_obj_ext'/NoList''cc_flags'"
+$ ENDIF
+$ ENDIF
+$!
+$! Finally clean off any leading zeros from the patchlevel or subversion
+$ perl_patchlevel = perl_patchlevel + 0
+$ perl_subversion = perl_subversion + 0
+$!
+$! Okay, we've got everything configured. Now go write out a config.sh.
+$ open/write CONFIGSH [-]config.sh
+$ WC := "write CONFIGSH"
+$!
+$ WC "# This file generated by Configure.COM on a VMS system."
+$ WC "# Time: " + perl_cf_time
+$ WC ""
+$ WC "package='" + perl_package + "'"
+$ WC "CONFIG='" + perl_config + "'"
+$ WC "cf_time='" + perl_cf_time + "'"
+$ WC "cf_by='" + perl_cf_by+ "'"
+$ WC "cpp_stuff='" + perl_cpp_stuff + "'"
+$ WC "ccdlflags='" + perl_ccdlflags + "'"
+$ WC "cccdlflags='" + perl_cccdlflags + "'"
+$ WC "mab='" + perl_mab + "'"
+$ WC "libpth='" + perl_libpth + "'"
+$ WC "ld='" + perl_ld + "'"
+$ WC "lddlflags='" + perl_lddlflags + "'"
+$ WC "ranlib='" + perl_ranlib + "'"
+$ WC "ar='" + perl_ar + "'"
+$ WC "eunicefix='" + perl_eunicefix + "'"
+$ WC "hint='" + perl_hint +"'"
+$ WC "hintfile='" + perl_hintfile + "'"
+$ WC "shrplib='" + perl_shrplib + "'"
+$ WC "usemymalloc='" + perl_usemymalloc + "'"
+$ WC "usevfork='" + perl_usevfork + "'"
+$ WC "useposix='false'"
+$ WC "spitshell='write sys$output '"
+$ WC "dlsrc='dl_vms.c'"
+$ WC "binexp='" + perl_binexp + "'"
+$ WC "man1ext='" + perl_man1ext + "'"
+$ WC "man3ext='" + perl_man3ext + "'"
+$ WC "arch='" + perl_arch + "'"
+$ WC "archname='" + perl_archname + "'"
+$ WC "osvers='" + perl_osvers + "'"
+$ WC "prefix='" + perl_prefix + "'"
+$ WC "builddir='" + perl_builddir + "'"
+$ WC "installbin='" + perl_installbin + "'"
+$ WC "installscript='" + perl_installscript + "'"
+$ WC "installman1dir='" + perl_installman1dir + "'"
+$ WC "installman3dir='" + perl_installman3dir + "'"
+$ WC "installprivlib='" + perl_installprivlib + "'"
+$ WC "installarchlib='" + perl_installarchlib + "'"
+$ WC "installsitelib='" + perl_installsitelib + "'"
+$ WC "installsitearch='" + perl_installsitearch + "'"
+$ WC "path_sep='" + perl_path_sep + "'"
+$ WC "vms_cc_type='" + perl_vms_cc_type + "'"
+$ WC "d_attribut='" + perl_d_attribut + "'"
+$ WC "cc='" + perl_cc + "'"
+$ WC "ccflags='" + perl_ccflags + "'"
+$ WC "d_vms_do_sockets='" + perl_d_vms_do_sockets + "'"
+$ WC "d_socket='" + perl_d_socket + "'"
+$ WC "d_sockpair='" + perl_d_sockpair + "'"
+$ WC "d_gethent='" + perl_d_gethent + "'"
+$ WC "d_getsent='" + perl_d_getsent + "'"
+$ WC "d_select='" + perl_d_select + "'"
+$ WC "i_niin='" + perl_i_niin + "'"
+$ WC "i_neterrno='" + perl_i_neterrno + "'"
+$ WC "d_stdstdio='" + perl_d_stdstdio + "'"
+$ WC "d_stdio_ptr_lval='" + perl_d_stdio_ptr_lval + "'"
+$ WC "d_stdio_cnt_lval='" + perl_d_stdio_cnt_lval + "'"
+$ WC "d_stdiobase='" + perl_d_stdiobase + "'"
+$ WC "d_locconv='" + perl_d_locconv + "'"
+$ WC "d_setlocale='" + perl_d_setlocale + "'"
+$ WC "i_locale='" + perl_i_locale + "'"
+$ WC "d_mbstowcs='" + perl_d_mbstowcs + "'"
+$ WC "d_mbtowc='" + perl_d_mbtowc + "'"
+$ WC "d_wcstombs='" + perl_d_wcstombs + "'"
+$ WC "d_wctomb='" + perl_d_wctomb + "'"
+$ WC "d_mblen='" + perl_d_mblen + "'"
+$ WC "d_mktime='" + perl_d_mktime + "'"
+$ WC "d_strcoll='" + perl_d_strcoll + "'"
+$ WC "d_strxfrm='" + perl_d_strxfrm + "'"
+$ WC "ldflags='" + perl_ldflags + "'"
+$ WC "dlobj='" + perl_dlobj + "'"
+$ WC "obj_ext='" + perl_obj_ext + "'"
+$ WC "so='" + perl_so + "'"
+$ WC "dlext='" + perl_dlext + "'"
+$ WC "exe_ext='" + perl_exe_ext + "'"
+$ WC "lib_ext='" + perl_lib_ext + "'"
+$ WC "myhostname='" + perl_myhostname + "'"
+$ WC "mydomain='" + perl_mydomain + "'"
+$ WC "perladmin='" + perl_perladmin + "'"
+$ WC "cf_email='" + perl_cf_email + "'"
+$ WC "myuname='" + perl_myuname + "'"
+$ WC "alignbytes='" + perl_alignbytes + "'"
+$ WC "osname='" + perl_osname + "'"
+$ WC "d_archlib='" + perl_d_archlib + "'"
+$ WC "archlibexp='" + perl_archlibexp + "'"
+$ WC "archlib='" + perl_archlib + "'"
+$ WC "archname='" + perl_archname + "'"
+$ WC "d_bincompat3='" + perl_d_bincompat3 + "'"
+$ WC "cppstdin='" + perl_cppstdin + "'"
+$ WC "cppminus='" + perl_cppminus + "'"
+$ WC "d_bcmp='" + perl_d_bcmp + "'"
+$ WC "d_bcopy='" + perl_d_bcopy + "'"
+$ WC "d_bzero='" + perl_d_bzero + "'"
+$ WC "d_castneg='" + perl_d_castneg + "'"
+$ WC "castflags='" + perl_castflags + "'"
+$ WC "d_chsize='" + perl_d_chsize + "'"
+$ WC "d_const='" + perl_d_const + "'"
+$ WC "d_crypt='" + perl_d_crypt + "'"
+$ WC "byteorder='" + perl_byteorder + "'"
+$ WC "full_csh='" + perl_full_csh + "'"
+$ WC "d_csh='" + perl_d_csh + "'"
+$ WC "d_dup2='" + perl_d_dup2 + "'"
+$ WC "d_fchmod='" + perl_d_fchmod + "'"
+$ WC "d_fchown='" + perl_d_fchown + "'"
+$ WC "d_fcntl='" + perl_d_fcntl + "'"
+$ WC "d_fgetpos='" + perl_d_fgetpos + "'"
+$ WC "d_flexfnam='" + perl_d_flexfnam + "'"
+$ WC "d_flock='" + perl_d_flock + "'"
+$ WC "d_fsetpos='" + perl_d_fsetpos + "'"
+$ WC "d_gettimeod='" + perl_d_gettimeod + "'"
+$ WC "d_getgrps='" + perl_d_getgrps + "'"
+$ WC "d_setgrps='" + perl_d_setgrps + "'"
+$ WC "d_uname='" + perl_d_uname + "'"
+$ WC "d_getprior='" + perl_d_getprior + "'"
+$ WC "d_killpg='" + perl_d_killpg + "'"
+$ WC "d_link='" + perl_d_link + "'"
+$ WC "d_lstat='" + perl_d_lstat + "'"
+$ WC "d_lockf='" + perl_d_lockf + "'"
+$ WC "d_memcmp='" + perl_d_memcmp + "'"
+$ WC "d_memcpy='" + perl_d_memcpy + "'"
+$ WC "d_memmove='" + perl_d_memmove + "'"
+$ WC "d_memset='" + perl_d_memset + "'"
+$ WC "d_mkdir='" + perl_d_mkdir + "'"
+$ WC "d_msg='" + perl_d_msg + "'"
+$ WC "d_open3='" + perl_d_open3 + "'"
+$ WC "d_poll='" + perl_d_poll + "'"
+$ WC "d_readdir='" + perl_d_readdir + "'"
+$ WC "d_seekdir='" + perl_d_seekdir + "'"
+$ WC "d_telldir='" + perl_d_telldir + "'"
+$ WC "d_rewinddir='" + perl_d_rewinddir + "'"
+$ WC "d_rename='" + perl_d_rename + "'"
+$ WC "d_rmdir='" + perl_d_rmdir + "'"
+$ WC "d_sem='" + perl_d_sem + "'"
+$ WC "d_setegid='" + perl_d_setegid + "'"
+$ WC "d_seteuid='" + perl_d_seteuid + "'"
+$ WC "d_setprior='" + perl_d_setprior + "'"
+$ WC "d_setregid='" + perl_d_setregid + "'"
+$ WC "d_setresgid='" + perl_d_setresgid + "'"
+$ WC "d_setreuid='" + perl_d_setreuid + "'"
+$ WC "d_setresuid='" + perl_d_setresuid + "'"
+$ WC "d_setrgid='" + perl_d_setrgid + "'"
+$ WC "d_setruid='" + perl_d_setruid + "'"
+$ WC "d_setsid='" + perl_d_setsid + "'"
+$ WC "d_shm='" + perl_d_shm + "'"
+$ WC "d_shmatprototype='" + perl_d_shmatprototype + "'"
+$ WC "d_sigaction='" + perl_d_sigaction + "'"
+$ WC "d_statblks='" + perl_d_statblks + "'"
+$ WC "stdio_ptr='" + perl_stdio_ptr + "'"
+$ WC "stdio_cnt='" + perl_stdio_cnt + "'"
+$ WC "stdio_base='" + perl_stdio_base + "'"
+$ WC "stdio_bufsiz='" + perl_stdio_bufsiz + "'"
+$ WC "d_strctcpy='" + perl_d_strctcpy + "'"
+$ WC "d_strerror='" + perl_d_strerror + "'"
+$ WC "d_syserrlst='" + perl_d_syserrlst + "'"
+$ WC "d_strerrm='" + perl_d_strerrm + "'"
+$ WC "d_symlink='" + perl_d_symlink + "'"
+$ WC "d_syscall='" + perl_d_syscall + "'"
+$ WC "d_system='" + perl_d_system + "'"
+$ WC "timetype='" + perl_timetype + "'"
+$ WC "d_truncate='" + perl_d_truncate + "'"
+$ WC "d_vfork='" + perl_d_vfork + "'"
+$ WC "signal_t='" + perl_signal_t + "'"
+$ WC "d_volatile='" + perl_d_volatile + "'"
+$ WC "d_vprintf='" + perl_d_vprintf + "'"
+$ WC "d_charvspr='" + perl_d_charvspr + "'"
+$ WC "d_wait4='" + perl_d_wait4 + "'"
+$ WC "d_waitpid='" + perl_d_waitpid + "'"
+$ WC "i_dirent='" + perl_i_dirent + "'"
+$ WC "d_dirnamlen='" + perl_d_dirnamlen + "'"
+$ WC "direntrytype='" + perl_direntrytype + "'"
+$ WC "i_fcntl='" + perl_i_fcntl + "'"
+$ WC "i_grp='" + perl_i_grp + "'"
+$ WC "i_limits='" + perl_i_limits + "'"
+$ WC "i_memory='" + perl_i_memory + "'"
+$ WC "i_ndbm='" + perl_i_ndbm + "'"
+$ WC "i_stdarg='" + perl_i_stdarg + "'"
+$ WC "i_pwd='" + perl_i_pwd + "'"
+$ WC "d_pwquota='" + perl_d_pwquota + "'"
+$ WC "d_pwage='" + perl_d_pwage + "'"
+$ WC "d_pwchange='" + perl_d_pwchange + "'"
+$ WC "d_pwclass='" + perl_d_pwclass + "'"
+$ WC "d_pwexpire='" + perl_d_pwexpire + "'"
+$ WC "d_pwcomment='" + perl_d_pwcomment + "'"
+$ WC "i_stddef='" + perl_i_stddef + "'"
+$ WC "i_stdlib='" + perl_i_stdlib + "'"
+$ WC "i_string='" + perl_i_string + "'"
+$ WC "i_sysdir='" + perl_i_sysdir + "'"
+$ WC "i_sysfile='" + perl_i_sysfile + "'"
+$ WC "i_sysioctl='" + perl_i_sysioctl + "'"
+$ WC "i_sysndir='" + perl_i_sysndir + "'"
+$ WC "i_sysresrc='" + perl_i_sysresrc + "'"
+$ WC "i_sysselct='" + perl_i_sysselct + "'"
+$ WC "i_dbm='" + perl_i_dbm + "'"
+$ WC "i_rpcsvcdbm='" + perl_i_rpcsvcdbm + "'"
+$ WC "i_sfio='" + perl_i_sfio + "'"
+$ WC "i_sysstat='" + perl_i_sysstat + "'"
+$ WC "i_systimes='" + perl_i_systimes + "'"
+$ WC "i_systypes='" + perl_i_systypes + "'"
+$ WC "i_sysun='" + perl_i_sysun + "'"
+$ WC "i_syswait='" + perl_i_syswait + "'"
+$ WC "i_termio='" + perl_i_termio + "'"
+$ WC "i_sgtty='" + perl_i_sgtty + "'"
+$ WC "i_termios='" + perl_i_termios + "'"
+$ WC "i_time='" + perl_i_time + "'"
+$ WC "i_systime='" + perl_i_systime + "'"
+$ WC "i_systimek='" + perl_i_systimek + "'"
+$ WC "i_unistd='" + perl_i_unistd + "'"
+$ WC "i_utime='" + perl_i_utime + "'"
+$ WC "i_varargs='" + perl_i_varargs + "'"
+$ WC "i_vfork='" + perl_i_vfork + "'"
+$ WC "prototype='" + perl_prototype + "'"
+$ WC "randbits='" + perl_randbits +"'"
+$ WC "selecttype='" + perl_selecttype + "'"
+$ WC "stdchar='" + perl_stdchar + "'"
+$ WC "d_unlink_all_versions='" + perl_d_unlink_all_versions + "'"
+$ WC "full_sed='" + perl_full_sed + "'"
+$ WC "bin='" + perl_bin + "'"
+$ WC "binexp='" + perl_binexp + "'"
+$ WC "d_alarm='" + perl_d_alarm + "'"
+$ WC "d_casti32='" + perl_d_casti32 + "'"
+$ WC "d_chown='" + perl_d_chown + "'"
+$ WC "d_chroot='" + perl_d_chroot + "'"
+$ WC "d_cuserid='" + perl_d_cuserid + "'"
+$ WC "d_dbl_dig='" + perl_d_dbl_dig + "'"
+$ WC "d_difftime='" + perl_d_difftime + "'"
+$ WC "d_fork='" + perl_d_fork + "'"
+$ WC "d_getlogin='" + perl_d_getlogin + "'"
+$ WC "d_getppid='" + perl_d_getppid + "'"
+$ WC "d_htonl='" + perl_d_htonl + "'"
+$ WC "d_nice='" + perl_d_nice + "'"
+$ WC "d_pause='" + perl_d_pause + "'"
+$ WC "d_pipe='" + perl_d_pipe + "'"
+$ WC "d_readlink='" + perl_d_readlink + "'"
+$ WC "d_setlinebuf='" + perl_d_setlinebuf + "'"
+$ WC "d_strchr='" + perl_d_strchr + "'"
+$ WC "d_index='" + perl_d_index + "'"
+$ WC "d_strtod='" + perl_d_strtod + "'"
+$ WC "d_strtol='" + perl_d_strtol + "'"
+$ WC "d_strtoul='" + perl_d_strtoul + "'"
+$ WC "d_tcgetpgrp='" + perl_d_tcgetpgrp + "'"
+$ WC "d_tcsetpgrp='" + perl_d_tcsetpgrp + "'"
+$ WC "d_times='" + perl_d_times + "'"
+$ WC "d_tzname='" + perl_d_tzname + "'"
+$ WC "d_umask='" + perl_d_umask + "'"
+$ WC "fpostype='" + perl_fpostype + "'"
+$ WC "i_dlfcn='" + perl_i_dlfcn + "'"
+$ WC "i_float='" + perl_i_float + "'"
+$ WC "i_math='" + perl_i_math + "'"
+$ WC "intsize='" + perl_intsize + "'"
+$ WC "longsize='" + perl_longsize + "'"
+$ WC "shortsize='" + perl_shortsize + "'"
+$ WC "lseektype='" + perl_lseektype + "'"
+$ WC "i_values='" + perl_i_values + "'"
+$ WC "malloctype='" + perl_malloctype + "'"
+$ WC "freetype='" + perl_freetype + "'"
+$ WC "d_mymalloc='" + perl_d_mymalloc + "'"
+$ WC "sh='" + perl_sh + "'"
+$ WC "sig_name='" + perl_sig_name + "'"
+$ WC "sig_num='" + perl_sig_num + "'"
+$ tempsym = "sig_name_init='" + perl_sig_name_with_commas + "'"
+$ WC/symbol tempsym
+$ WC "sig_num_init='" + perl_sig_num_with_commas + "'"
+$ WC "modetype='" + perl_modetype + "'"
+$ WC "ssizetype='" + perl_ssizetype + "'"
+$ WC "o_nonblock='" + perl_o_nonblock + "'"
+$ WC "eagain='" + perl_eagain + "'"
+$ WC "rd_nodata='" + perl_rd_nodata + "'"
+$ WC "d_eofnblk='" + perl_d_eofnblk + "'"
+$ WC "d_oldarchlib='" + perl_d_oldarchlib + "'"
+$ WC "oldarchlibexp='" + perl_oldarchlibexp + "'"
+$ WC "oldarchlib='" + perl_oldarchlib + "'"
+$ WC "privlibexp='" + perl_privlibexp + "'"
+$ WC "privlib='" + perl_privlib + "'"
+$ WC "sitelibexp='" + perl_sitelibexp + "'"
+$ WC "sitelib='" + perl_sitelib + "'"
+$ WC "sitearchexp='" + perl_sitearchexp + "'"
+$ WC "sitearch='" + perl_sitearch + "'"
+$ WC "sizetype='" + perl_sizetype + "'"
+$ WC "i_sysparam='" + perl_i_sysparam + "'"
+$ WC "d_void_closedir='" + perl_d_void_closedir + "'"
+$ WC "d_dlerror='" + perl_d_dlerror + "'"
+$ WC "d_dlsymun='" + perl_d_dlsymun + "'"
+$ WC "d_suidsafe='" + perl_d_suidsafe + "'"
+$ WC "d_dosuid='" + perl_d_dosuid + "'"
+$ WC "d_inetaton='" + perl_d_inetaton + "'"
+$ WC "d_isascii='" + perl_d_isascii + "'"
+$ WC "d_mkfifo='" + perl_d_mkfifo + "'"
+$ WC "d_pathconf='" + perl_d_pathconf + "'"
+$ WC "d_fpathconf='" + perl_d_fpathconf + "'"
+$ WC "d_safebcpy='" + perl_d_safebcpy + "'"
+$ WC "d_safemcpy='" + perl_d_safemcpy + "'"
+$ WC "d_sanemcmp='" + perl_d_sanemcmp + "'"
+$ WC "d_setpgrp='" + perl_d_setpgrp + "'"
+$ WC "d_bsdsetpgrp='" + perl_d_bsdsetpgrp + "'"
+$ WC "d_bsdpgrp='" + perl_d_bsdpgrp + "'"
+$ WC "d_setpgid='" + perl_d_setpgid + "'"
+$ WC "d_setpgrp2='" + perl_d_setpgrp2 + "'"
+$ WC "d_sysconf='" + perl_d_sysconf + "'"
+$ WC "d_Gconvert='" + perl_d_Gconvert + "'"
+$ WC "d_getpgid='" + perl_d_getpgid + "'"
+$ WC "d_getpgrp='" + perl_d_getpgrp + "'"
+$ WC "d_bsdgetpgrp='" + perl_d_bsdgetpgrp + "'"
+$ WC "d_getpgrp2='" + perl_d_getpgrp2 + "'"
+$ WC "d_sfio='" + perl_d_sfio + "'"
+$ WC "d_sigsetjmp='" + perl_d_sigsetjmp + "'"
+$ WC "usedl='" + perl_usedl + "'"
+$ WC "startperl=" + perl_startperl ! This one's special--no enclosing single quotes
+$ WC "db_hashtype='" + perl_db_hashtype + "'"
+$ WC "db_prefixtype='" + perl_db_prefixtype + "'"
+$ WC "useperlio='" + perl_useperlio + "'"
+$ WC "defvoidused='" + perl_defvoidused + "'"
+$ WC "voidflags='" + perl_voidflags + "'"
+$ WC "d_eunice='" + perl_d_eunice + "'"
+$ WC "libs='" + perl_libs + "'"
+$ WC "libc='" + perl_libc + "'"
+$ tempstring = "PATCHLEVEL='" + "''perl_patchlevel'" + "'"
+$ WC tempstring
+$ tempstring = "SUBVERSION='" + "''perl_SUBVERSION'" + "'"
+$ WC tempstring
+$ WC "pager='" + perl_pager + "'"
+$ WC "uidtype='" + perl_uidtype + "'"
+$ WC "gidtype='" + perl_gidtype + "'"
+$ WC "usethreads='" + perl_usethreads + "'"
+$ WC "d_pthread_yield='" + perl_d_pthread_yield + "'"
+$ WC "d_pthreads_created_joinable='" + perl_d_pthreads_created_joinable + "'"
+$ WC "d_gnulibc='" + perl_d_gnulibc + "'"
+$ WC "i_netdb='" + perl_i_netdb + "'"
+$ WC "pidtype='" + perl_pidtype + "'"
+$ WC "netdb_host_type='" + perl_netdb_host_type + "'"
+$ WC "netdb_hlen_type='" + perl_netdb_hlen_type + "'"
+$ WC "netdb_name_type='" + perl_netdb_name_type + "'"
+$ WC "netdb_net_type='" + perl_netdb_net_type + "'"
+$ WC "baserev='" + perl_baserev + "'"
+$ WC "doublesize='" + perl_doublesize + "'"
+$ WC "ptrsize='" + perl_ptrsize + "'"
+$ WC "d_gethbyaddr='" + perl_d_gethbyaddr + "'"
+$ WC "d_gethbyname='" + perl_d_gethbyname + "'"
+$ WC "d_getnbyaddr='" + perl_d_getnbyaddr + "'"
+$ WC "d_getnbyname='" + perl_d_getnbyname + "'"
+$ WC "d_getpbynumber='" + perl_d_getpbynumber + "'"
+$ WC "d_getpbyname='" + perl_d_getpbyname + "'"
+$ WC "d_getsbyport='" + perl_d_getsbyport + "'"
+$ WC "d_getsbyname='" + perl_d_getsbyname + "'"
+$ WC "d_sethent='" + perl_d_sethent + "'"
+$ WC "d_oldpthreads='" + perl_d_oldpthreads + "'"
+$ WC "d_longdbl='" + perl_d_longdbl + "'"
+$ WC "longdblsize='" + perl_longdblsize + "'"
+$ WC "d_longlong='" + perl_d_longlong + "'"
+$ WC "longlongsize='" + perl_longlongsize + "'"
+$ WC "d_mkstemp='" + perl_d_mkstemp + "'"
+$ WC "d_setvbuf='" + perl_d_setvbuf + "'"
+$ WC "d_endhent='" + perl_d_endhent + "'"
+$ WC "d_endnent='" + perl_d_endsent + "'"
+$ WC "d_endpent='" + perl_d_endpent + "'"
+$ WC "d_endsent='" + perl_d_endsent + "'"
+$ WC "d_gethent='" + perl_d_gethent + "'"
+$ WC "d_getnent='" + perl_d_getsent + "'"
+$ WC "d_getpent='" + perl_d_getpent + "'"
+$ WC "d_getsent='" + perl_d_getsent + "'"
+$ WC "d_sethent='" + perl_d_sethent + "'"
+$ WC "d_setnent='" + perl_d_setsent + "'"
+$ WC "d_setpent='" + perl_d_setpent + "'"
+$ WC "ebcdic='" + perl_ebcdic + "'"
+$ WC "d_setsent='" + perl_d_setsent + "'"
+$ WC "d_gethostprotos='" + perl_d_gethostprotos + "'"
+$ WC "d_getnetprotos='" + perl_d_getnetprotos + "'"
+$ WC "d_getprotoprotos='" + perl_d_getprotoprotos + "'"
+$ WC "d_getservprotos='" + perl_d_getservprotos + "'"
+$ WC "d_pwgecos='" + perl_d_pwgecos + "'"
+$ WC "d_sched_yield='" + perl_d_sched_yield + "'"
+$ WC "d_lchown='" + perl_d_lchown + "'"
+$ WC "d_union_semun='" + perl_d_union_semun + "'"
+$ WC "i_arpainet='" + perl_i_arpainet + "'"
+$ WC "d_grpasswd='" + perl_d_grpasswd + "'"
+$ WC "d_setgrent='" + perl_d_setgrent + "'"
+$ WC "d_getgrent='" + perl_d_getgrent + "'"
+$ WC "d_endgrent='" + perl_d_endgrent + "'"
+$ WC "d_pwpasswd='" + perl_d_pwpasswd + "'"
+$ WC "d_setpwent='" + perl_d_setpwent + "'"
+$ WC "d_getpwent='" + perl_d_getpwent + "'"
+$ WC "d_endpwent='" + perl_d_endpwent + "'"
+$ WC "d_semctl_semun='" + perl_d_semctl_semun + "'"
+$ WC "d_semctl_semid_ds='" + perl_d_semctl_semid_ds + "'"
+$ WC "extensions='" + perl_extensions + "'"
+$ WC "d_mknod='" + perl_d_mknod + "'"
+$ WC "devtype='" + perl_devtype + "'"
+$ WC "i_sysmount='" + perl_i_sysmount + "'"
+$ WC "d_fstatfs='" + perl_d_fstatfs + "'"
+$ WC "d_statfsflags='" + perl_d_statfsflags + "'"
+$ WC "i_sysstatvfs='" + perl_i_sysstatvfs + "'"
+$ WC "i_machcthreads='" + perl_i_machcthreads + "'"
+$ WC "i_pthread='" + perl_i_pthread + "'"
+$ WC "d_fstatvfs='" + perl_d_fstatvfs + "'"
+$ WC "i_mntent='" + perl_i_mntent + "'"
+$ WC "d_getmntent='" + perl_d_getmntent + "'"
+$ WC "d_hasmntopt='" + perl_d_hasmntopt + "'"
+$!
+$! ##WRITE NEW CONSTANTS HERE##
+$!
+$ Close CONFIGSH
+$
+$! Okay, we've gotten here. Build munchconfig and run it
+$ 'Perl_CC' munchconfig.c
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ open/write OPTCHAN []munchconfig.opt
+$ IF ("''using_gnu_c'".eqs."Yes")
+$ THEN
+$ write OPTCHAN "Gnu_CC:[000000]gcclib.olb/library"
+$ endif
+$ write OPTCHAN "Sys$Share:VAXCRTL/Share"
+$ Close OPTCHAN
+$ link munchconfig.obj,munchconfig.opt/opt
+$ delete munchconfig.opt;*
+$ else
+$ link munchconfig.obj
+$ endif
+$ WRITE_RESULT "Writing config.h"
+$ !
+$ ! we need an fdl file
+$ CREATE [-]CONFIG.FDL
+RECORD
+ FORMAT STREAM_LF
+$ CREATE /FDL=[-]CONFIG.FDL [-]CONFIG.LOCAL
+$ ! First spit out the header info with the local defines (to get
+$ ! around the 255 character command line limit)
+$ OPEN/APPEND CONFIG [-]config.local
+$ if use_debugging_perl.eqs."Y"
+$ THEN
+$ WRITE CONFIG "#define DEBUGGING"
+$ ENDIF
+$ if preload_env.eqs."Y"
+$ THEN
+$ WRITE CONFIG "#define PRIME_ENV_AT_STARTUP"
+$ ENDIF
+$ if use_two_pot_malloc.eqs."Y"
+$ THEN
+$ WRITE CONFIG "#define TWO_POT_OPTIMIZE"
+$ endif
+$ if mymalloc.eqs."Y"
+$ THEN
+$ WRITE CONFIG "#define EMBEDMYMALLOC"
+$ ENDIF
+$ if use_pack_malloc.eqs."Y"
+$ THEN
+$ WRITE CONFIG "#define PACK_MALLOC"
+$ endif
+$ if use_debugmalloc.eqs."Y"
+$ THEN
+$ write config "#define DEBUGGING_MSTATS"
+$ ENDIF
+$ if "''Using_Gnu_C'" .eqs."Yes"
+$ THEN
+$ WRITE CONFIG "#define GNUC_ATTRIBUTE_CHECK"
+$ ENDIF
+$ if "''Has_Dec_C_Sockets'".eqs."T"
+$ THEN
+$ WRITE CONFIG "#define VMS_DO_SOCKETS"
+$ WRITE CONFIG "#define DECCRTL_SOCKETS"
+$ ENDIF
+$ if "''Has_Socketshr'".eqs."T"
+$ THEN
+$ WRITE CONFIG "#define VMS_DO_SOCKETS"
+$ ENDIF
+$ CLOSE CONFIG
+$!
+$! Now build the normal config.h
+$ define/user sys$output [-]config.main
+$ mcr []munchconfig [-]config.sh [-]config_h.sh
+$ ! Concatenate them together
+$ copy [-]config.local,[-]config.main [-]config.h
+$! Clean up
+$ DELETE/NOLOG [-]CONFIG.MAIN;*
+$ DELETE/NOLOG [-]CONFIG.LOCAL;*
+$ DELETE/NOLOG [-]CONFIG.FDL;*
+$!
+$ if "''Using_Dec_C'" .eqs."Yes"
+$ THEN
+$ DECC_REPLACE = "DECC=decc=1"
+$ ELSE
+$ DECC_REPLACE = "DECC="
+$ ENDIF
+$ if "''Using_Gnu_C'" .eqs."Yes"
+$ THEN
+$ GNUC_REPLACE = "GNUC=gnuc=1"
+$ ELSE
+$ GNUC_REPLACE = "GNUC="
+$ ENDIF
+$ if "''Has_Dec_C_Sockets'" .eqs."T"
+$ THEN
+$ SOCKET_REPLACE = "SOCKET=DECC_SOCKETS=1"
+$ ELSE
+$ if "''Has_Socketshr'" .eqs."T"
+$ THEN
+$ SOCKET_REPLACE = "SOCKET=SOCKETSHR_SOCKETS=1"
+$ ELSE
+$ SOCKET_REPLACE = "SOCKET="
+$ ENDIF
+$ ENDIF
+$ IF ("''Use_Threads'".eqs."T")
+$ THEN
+$ if ("''VMS_VER'".LES."6.2")
+$ THEN
+$ THREAD_REPLACE = "THREAD=OLDTHREADED=1"
+$ ELSE
+$ THREAD_REPLACE = "THREAD=THREADED=1"
+$ ENDIF
+$ ELSE
+$ THREAD_REPLACE = "THREAD="
+$ ENDIF
+$ if mymalloc.eqs."Y"
+$ THEN
+$ MALLOC_REPLACE = "MALLOC=MALLOC=1"
+$ ELSE
+$ MALLOC_REPLACE = "MALLOC="
+$ ENDIF
+$ if f$getsyi("HW_MODEL").ge.1024
+$ THEN
+$ ARCH_TYPE = "ARCH-TYPE=__AXP__"
+$ ELSE
+$ ARCH_TYPE = "ARCH-TYPE=__VAX__"
+$ ENDIF
+$ WRITE_RESULT "Writing DESCRIP.MMS"
+$!set ver
+$ define/user sys$output [-]descrip.mms
+$ mcr []munchconfig [-]config.sh descrip_mms.template "''DECC_REPLACE'" "''ARCH_TYPE'" "''GNUC_REPLACE'" "''SOCKET_REPLACE'" "''THREAD_REPLACE'" "''C_Compiler_Replace'" "''MALLOC_REPLACE'" "''Thread_Live_Dangerously'" "PV=''LocalPerlVer'"
+$! set nover
+$!
+$! Clean up after ourselves
+$ delete/nolog munchconfig.exe;*
+$ delete/nolog munchconfig.obj;*