From: Dan Sugalski Date: Tue, 10 Aug 1999 13:28:18 +0000 (-0700) Subject: Pathces to get _60 building on VMS X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=5e4ba1368e095f877f5b412f0f5761ce3fcd693d;p=p5sagit%2Fp5-mst-13.2.git Pathces to get _60 building on VMS To: vmsperl@perl.org, perp5-porters@perl.org, bailey@newman.upenn.edu, sarathy@activestate.com Message-ID: p4raw-id: //depot/cfgperl@3953 --- diff --git a/configure.com b/configure.com index aca42de..0f86983 100644 --- a/configure.com +++ b/configure.com @@ -41,6 +41,7 @@ $ ans = "" $ macros = "" $ use_vmsdebug_perl = "N" $ use_debugging_perl = "Y" +$ use_64bit = "N" $ C_Compiler_Replace = "CC=" $ Thread_Live_Dangerously = "MT=" $ use_two_pot_malloc = "N" @@ -1707,6 +1708,27 @@ $ use_multiplicity="Y" $ ELSE $ use_multiplicity="N" $ ENDIF +$! +$! Ask if they want to build with 64-bit support +$ if (Archname.eqs."VMS_AXP").and.("''f$extract(1,3, f$getsyi(""version""))'".ges."7.1") +$ THEN +$ echo "This version of perl has experimental support for building wtih +$ echo "64 bit integers and 128 bit floating point variables. This gives +$ echo "a much larger range for perl's mathematical operations. (Note that +$ echo "does *not* enable 64-bit fileops at the moment, as Dec C doesn't +$ echo "do that yet)" +$ echo "" +$ dflt = use_64bit +$ rp = "Build with 64 bits? [''dflt'] " +$ GOSUB myread +$ if ans.eqs."" then ans = dflt +$ if (f$extract(0, 1, "''ans'").eqs."Y").or.(f$extract(0, 1, "''ans'").eqs."y") +$ THEN +$ use_64bit="Y" +$ ELSE +$ use_64bit="N" +$ ENDIF +$ ENDIF $! Ask about threads, if appropriate $ if (Using_Dec_C.eqs."Yes") $ THEN @@ -1837,7 +1859,8 @@ $ echo "you might, for example, want to build GDBM_File instead of $ echo "SDBM_File if you have the GDBM library built on your machine $ echo " $ echo "Which modules do you want to build into perl?" -$ dflt = "Fcntl Errno IO Opcode Byteloader Devel::Peek Devel::DProf Data::Dumper attrs re VMS::Stdio VMS::DCLsym B SDBM_File" +$! dflt = "Fcntl Errno IO Opcode Byteloader Devel::Peek Devel::DProf Data::Dumper attrs re VMS::Stdio VMS::DCLsym B SDBM_File" +$ dflt = "Fcntl Errno IO Opcode Devel::Peek Devel::DProf Data::Dumper attrs re VMS::Stdio VMS::DCLsym B SDBM_File" $ if Using_Dec_C.eqs."Yes" $ THEN $ dflt = dflt + " POSIX" diff --git a/vms/descrip_mms.template b/vms/descrip_mms.template index 84f8d04..7d86f24 100644 --- a/vms/descrip_mms.template +++ b/vms/descrip_mms.template @@ -279,7 +279,7 @@ 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 +h1 = EXTERN.h, INTERN.h, XSUB.h, av.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 @@ -289,13 +289,13 @@ h = $(h1), $(h2), $(h3), $(h4), $(h5), $(h6) $(SOCKHLIS) $(THREADH) c1 = av.c, scope.c, op.c, doop.c, doio.c, dump.c, hv.c, mg.c, universal.c, perlio.c, utf8.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, utf8.c, util.c, deb.c, run.c, globals.c, vms.c, byterun.c $(SOCKCLIS) +c3 = gv.c, sv.c, taint.c, toke.c, utf8.c, util.c, deb.c, run.c, globals.c, vms.c $(SOCKCLIS) -c = $(c1), $(c2), $(c3), miniperlmain.c, perlmain.c, byteperl.c +c = $(c1), $(c2), $(c3), miniperlmain.c, perlmain.c obj1 = perl$(O), gv$(O), toke$(O), perly$(O), op$(O), regcomp$(O), dump$(O), utf8$(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), utf8$(O) -obj3 = doop$(O), doio$(O), regexec$(O), taint$(O), deb$(O), universal$(O), globals$(O), vms$(O), byterun$(O) $(SOCKOBJ) +obj3 = doop$(O), doio$(O), regexec$(O), taint$(O), deb$(O), universal$(O), globals$(O), vms$(O) $(SOCKOBJ) obj = $(obj1), $(obj2), $(obj3) @@ -308,7 +308,7 @@ ac6 = $(ARCHCORE)pp.h $(ARCHCORE)pp_proto.h $(ARCHCORE)proto.h $(ARCHCORE)regcom 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)warning.h $(ARCHCORE)$(DBG)libperl$(OLB) $(ARCHCORE)perlshr_attr.opt -ac10 = $(ARCHCORE)$(DBG)perlshr_bld.opt $(ARCHCORE)bytecode.h $(ARCHCORE)byterun.h +ac10 = $(ARCHCORE)$(DBG)perlshr_bld.opt ac11 = $(ARCHCORE)cc_runtime.h .ifdef SOCKET acs = $(ARCHCORE)$(SOCKH) @@ -395,16 +395,13 @@ $(DBG)libperl$(OLB) : $(obj) 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) +perl : $(DBG)perl$(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) +perl : $(DBG)perl$(E) @ Continue .endif @@ -416,10 +413,6 @@ $(DBG)perl$(E) : perlmain$(O), $(DBG)perlshr$(E), $(MINIPERL_EXE) 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 @@ -822,12 +815,6 @@ $(ARCHCORE)INTERN.h : INTERN.h $(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) @@ -966,103 +953,97 @@ $(ARCHAUTO)time.stamp : #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 pp_proto.h warning.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 pp_proto.h warning.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 pp_proto.h warning.h +av$(O) : av.c 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 iperlsys.h pp_proto.h warning.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 pp_proto.h warning.h +deb$(O) : deb.c 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 iperlsys.h pp_proto.h warning.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 pp_proto.h warning.h +doio$(O) : doio.c 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 iperlsys.h pp_proto.h warning.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 pp_proto.h warning.h +doop$(O) : doop.c 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 iperlsys.h pp_proto.h warning.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 pp_proto.h warning.h +dump$(O) : dump.c 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 iperlsys.h pp_proto.h warning.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 pp_proto.h warning.h +globals$(O) : globals.c INTERN.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 iperlsys.h pp_proto.h warning.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 pp_proto.h warning.h +gv$(O) : gv.c 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 iperlsys.h pp_proto.h warning.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 pp_proto.h warning.h +hv$(O) : hv.c 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 iperlsys.h pp_proto.h warning.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 pp_proto.h warning.h +malloc$(O) : malloc.c 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 iperlsys.h pp_proto.h warning.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 pp_proto.h warning.h +mg$(O) : mg.c 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 iperlsys.h pp_proto.h warning.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 pp_proto.h warning.h +miniperlmain$(O) : miniperlmain.c 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 iperlsys.h pp_proto.h warning.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 pp_proto.h warning.h +op$(O) : op.c 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 iperlsys.h pp_proto.h warning.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 pp_proto.h warning.h +perl$(O) : perl.c 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 patchlevel.h iperlsys.h pp_proto.h warning.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 pp_proto.h warning.h +perlio$(O) : perlio.c config.h EXTERN.h perl.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 pp_proto.h warning.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 pp_proto.h warning.h +perlmain$(O) : perlmain.c 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 iperlsys.h pp_proto.h warning.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 pp_proto.h warning.h +perly$(O) : perly.c 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 iperlsys.h pp_proto.h warning.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 pp_proto.h warning.h +pp$(O) : pp.c 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 iperlsys.h pp_proto.h warning.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 pp_proto.h warning.h +pp_ctl$(O) : pp_ctl.c 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 iperlsys.h pp_proto.h warning.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 pp_proto.h warning.h +pp_hot$(O) : pp_hot.c 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 iperlsys.h pp_proto.h warning.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 pp_proto.h warning.h +pp_sys$(O) : pp_sys.c 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 iperlsys.h pp_proto.h warning.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 regnodes.h iperlsys.h pp_proto.h warning.h +regcomp$(O) : regcomp.c 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 INTERN.h regcomp.h regnodes.h iperlsys.h pp_proto.h warning.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 regnodes.h iperlsys.h pp_proto.h warning.h +regexec$(O) : regexec.c 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 regcomp.h regnodes.h iperlsys.h pp_proto.h warning.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 pp_proto.h warning.h +run$(O) : run.c 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 iperlsys.h pp_proto.h warning.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 pp_proto.h warning.h +scope$(O) : scope.c 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 iperlsys.h pp_proto.h warning.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 pp_proto.h warning.h +sv$(O) : sv.c 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 iperlsys.h pp_proto.h warning.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 pp_proto.h warning.h +taint$(O) : taint.c 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 iperlsys.h pp_proto.h warning.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 pp_proto.h warning.h +toke$(O) : toke.c 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 keywords.h iperlsys.h pp_proto.h warning.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 pp_proto.h warning.h +universal$(O) : universal.c 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 XSUB.h iperlsys.h pp_proto.h warning.h $(CC) $(CORECFLAGS) $(MMS$SOURCE) -utf8$(O) : utf8.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 pp_proto.h warning.h +utf8$(O) : utf8.c 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 iperlsys.h pp_proto.h warning.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 pp_proto.h warning.h +util$(O) : util.c 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 iperlsys.h pp_proto.h warning.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 pp_proto.h warning.h +vms$(O) : vms.c 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 XSUB.h iperlsys.h pp_proto.h warning.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 @@ -1109,7 +1090,6 @@ tidy : cleanlis - 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 @@ -1145,7 +1125,6 @@ clean : tidy - 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);* diff --git a/vms/gen_shrfls.pl b/vms/gen_shrfls.pl index 3e70372..ef76a68 100644 --- a/vms/gen_shrfls.pl +++ b/vms/gen_shrfls.pl @@ -74,6 +74,8 @@ if ($docc) { while() { $debugging_enabled++ if /define\s+DEBUGGING/; $use_mymalloc++ if /define\s+MYMALLOC/; + $hide_mymalloc++ if /define\s+EMBEDMYMALLOC/; + $use_threads++ if /define\s+USE_THREADS/; } # put quotes back onto defines - they were removed by DCL on the way in @@ -193,18 +195,27 @@ sub scan_func { if ($1 eq 'main' || $1 eq 'perl_init_ext') { print "\tskipped\n" if $debug > 1; } - else { $fcns{$1}++ } + else { $fcns{uc($1)}++ } } } +open FUNCS, "LIBR/CROSS=SYMB LIBPERL.OLB/OUT=SYS\$OUTPUT |"; +foreach () { + chomp; + next unless /(perl_\w+)/i; + $fcns{uc($1)}++; +} + # Go add some right up front if we need 'em if ($use_mymalloc) { - $fcns{'Perl_malloc'}++; - $fcns{'Perl_calloc'}++; - $fcns{'Perl_realloc'}++; - $fcns{'Perl_mfree'}++; + $fcns{uc('Perl_malloc')}++; + $fcns{uc('Perl_calloc')}++; + $fcns{uc('Perl_realloc')}++; + $fcns{uc('Perl_mfree')}++; } +delete $fcns{PERL_DESTRUCT_LEVEL} if exists $fcns{PERL_DESTRUCT_LEVEL}; + $used_expectation_enum = $used_opcode_enum = 0; # avoid warnings if ($docc) { open(CPP,"${cc_cmd}/NoObj/PreProc=Sys\$Output ${dir}perl.h|") @@ -306,6 +317,22 @@ if ($isvax) { or die "$0: Can't write to ${dir}perlshr_gbl${marord}.mar: $!\n"; print MAR "\t.title perlshr_gbl$marord\n"; } + +($ver, $sub) = $] =~ /\.(\d\d\d)(\d\d)/; +$gsmatch = ($sub >= 50) ? "equal" : "lequal"; # Force an equal match for + # dev, but be more forgiving + # for releases + +# Build up a major ID. Since it can only be 8 bits, we encode the version +# number in the top four bits and use the bottom four for build options +# that'll cause incompatibilities +$ver *=16; +$ver += 8 if $debugging_enabled; # If DEBUGGING is set +$ver += 4 if $use_threads; # if we're threaded +$ver += 2 if $use_mymalloc; # if we're using perl's malloc + +print OPTBLD "GSMATCH=$gsmatch,$ver,$sub\n"; + unless ($isgcc) { print OPTBLD "PSECT_ATTR=\$GLOBAL_RO_VARS,PIC,NOEXE,RD,NOWRT,SHR\n"; print OPTBLD "PSECT_ATTR=\$GLOBAL_RW_VARS,PIC,NOEXE,RD,WRT,NOSHR\n"; diff --git a/vms/subconfigure.com b/vms/subconfigure.com index 6b6483a..34d1514 100644 --- a/vms/subconfigure.com +++ b/vms/subconfigure.com @@ -64,6 +64,7 @@ $ if "''myname'" .eqs. "" THEN myname = f$trnlnm("SYS$NODE") $! $! ##ADD NEW CONSTANTS HERE## $ perl_d_madvise="undef" +$ perl_selectminbits=32 $ perl_d_msync="undef" $ perl_d_mprotect="undef" $ perl_d_munmap="undef" @@ -73,10 +74,18 @@ $ perl_d_mmap="undef" $ perl_i_sysmman="undef" $ perl_d_telldirproto="define" $ perl_i_sysmount="undef" +$ perl_d_bincompat="undef" +$ perl_d_endspent="undef +$ perl_d_getspent="undef +$ perl_d_getspnam="undef +$ perl_d_setspent="undef $ perl_d_fstatfs="undef" $ perl_i_machcthreads="undef" $ perl_i_pthread="define" $ perl_d_fstatvfs="undef" +$ perl_usesocks="undef" +$ perl_d_vendorlib="undef" +$ perl_vendorlibexp="" $ perl_d_statfsflags="undef" $ perl_i_sysstatvfs="undef" $ perl_i_mntent="undef" @@ -139,7 +148,12 @@ $ perl_d_fsetpos64 = "undef" $ perl_d_ftell64 = "undef" $ perl_d_ftello64 = "undef" $ perl_d_tmpfile64 = "undef" -$ perl_use64bits = "undef" +$ IF use_64bit .eqs. "Y" +$ THEN +$ perl_use64bits = "define" +$ ELSE +$ perl_use64bits = "undef" +$ ENDIF $ perl_d_drand48proto = "define" $ perl_libpth="/sys$share /sys$library" $ perl_ld="Link" @@ -427,6 +441,37 @@ $ perl_PATCHLEVEL="''patchlevel'" $ perl_SUBVERSION="''subversion'" $ perl_pager="most" $! +$! Are we 64 bit? +$! +$ if (use_64bit .eqs. "Y") +$ THEN +$ perl_d_PRIfldbl = "define" +$ perl_d_PRIgldbl = "define" +$ perl_d_PRId64 = "define" +$ perl_d_PRIu64 = "define" +$ perl_d_PRIo64 = "define" +$ perl_d_PRIx64 = "define" +$ perl_sPRIfldbl = """Lf""" +$ perl_sPRIgldbl = """Lg""" +$ perl_sPRId64 = """Ld""" +$ perl_sPRIu64 = """Lu""" +$ perl_sPRIo64 = """Lo""" +$ perl_sPRIx64 = """Lx""" +$ ELSE +$ perl_d_PRIfldbl = "undef" +$ perl_d_PRIgldbl = "undef" +$ perl_d_PRId64 = "undef" +$ perl_d_PRIu64 = "undef" +$ perl_d_PRIo64 = "undef" +$ perl_d_PRIx64 = "undef" +$ perl_sPRIfldbl = "" +$ perl_sPRIgldbl = "" +$ perl_sPRId64 = "" +$ perl_sPRIu64 = "" +$ perl_sPRIo64 = "" +$ perl_sPRIx64 = "" +$ ENDIF +$! $! $! Now some that we build up $! @@ -897,6 +942,66 @@ $ perl_i_unistd = "define" $ ENDIF $ WRITE_RESULT "i_unistd is ''perl_i_unistd'" $! +$! Check to see if we've got shadow.h (probably not, but...) +$! +$ OS +$ WS "#ifdef __DECC +$ WS "#include +$ WS "#endif +$ WS "#include +$ 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_shadow = "undef" +$ ELSE +$ perl_i_shadow = "define" + +$ ENDIF +$ WRITE_RESULT "i_shadow is ''perl_i_shadow'" +$! +$! Check to see if we've got socks.h (probably not, but...) +$! +$ OS +$ WS "#ifdef __DECC +$ WS "#include +$ WS "#endif +$ WS "#include +$ 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_socks = "undef" +$ ELSE +$ perl_i_socks = "define" + +$ ENDIF +$ WRITE_RESULT "i_socks is ''perl_i_socks'" +$! $! Check the prototype for select $! $ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T") @@ -1535,6 +1640,144 @@ $ ENDIF $ ENDIF $ WRITE_RESULT "d_memchr is ''perl_d_memchr'" $! +$! Check for strtoull +$! +$ OS +$ WS "#ifdef __DECC +$ WS "#include +$ WS "#endif +$ WS "#include +$ WS "int main() +$ WS "{" +$ WS "unsigned __int64 result; +$ WS "result = strtoull(""123123"", NULL, 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_strtoull="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_strtoull="undef" +$ ELSE +$ perl_d_strtoull="define" +$ ENDIF +$ ENDIF +$ WRITE_RESULT "d_strtoull is ''perl_d_strtoull'" +$! +$! Check for atoll +$! +$ OS +$ WS "#ifdef __DECC +$ WS "#include +$ WS "#endif +$ WS "#include +$ WS "int main() +$ WS "{" +$ WS " __int64 result; +$ WS "result = atoll(""123123""); +$ 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_atoll="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_atoll="undef" +$ ELSE +$ perl_d_atoll="define" +$ ENDIF +$ ENDIF +$ WRITE_RESULT "d_atoll is ''perl_d_atoll'" +$! +$! Check for atoll +$! +$ OS +$ WS "#ifdef __DECC +$ WS "#include +$ WS "#endif +$ WS "#include +$ WS "int main() +$ WS "{" +$ WS "long double +$ WS "result = atolf(""123123""); +$ 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_atolf="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_atolf="undef" +$ ELSE +$ perl_d_atolf="define" +$ ENDIF +$ ENDIF +$ WRITE_RESULT "d_atolf is ''perl_d_atolf'" +$! $! Check for access $! $ OS @@ -3087,6 +3330,7 @@ $ WC "intsize='" + perl_intsize + "'" $ WC "longsize='" + perl_longsize + "'" $ WC "shortsize='" + perl_shortsize + "'" $ WC "lseektype='" + perl_lseektype + "'" +$ WC "lseeksize='4'" $ WC "i_values='" + perl_i_values + "'" $ WC "malloctype='" + perl_malloctype + "'" $ WC "freetype='" + perl_freetype + "'" @@ -3312,16 +3556,42 @@ $ WC "d_munmap='" + perl_d_munmap + "'" $ WC "d_mmap='" + perl_d_mmap + "'" $ WC "i_sysmman='" + perl_i_sysmman + "'" $ WC "installusrbinperl='" + perl_installusrbinperl + "'" +$! WC "selectminbits='" + perl_selectminbits + "'" $ WC "crosscompile='" + perl_crosscompile + "'" $ WC "multiarch='" + perl_multiarch + "'" $ WC "sched_yield='" + perl_sched_yield + "'" +$ WC "d_strtoull='" + perl_d_strtoull + "'" +$ WC "usesocks='" + perl_usesocks + "'" +$ WC "d_vendorlib='" + perl_d_vendorlib + "'" +$ WC "vendorlibexp='" + perl_vendorlibexp + "'" +$ WC "d_atolf='" + perl_d_atolf + "'" +$ WC "d_atoll='" + perl_d_atoll + "'" +$ WC "d_bincompat5005='" + perl_d_bincompat + "'" +$ WC "d_endspent='" + perl_d_endspent + "'" +$ WC "d_getspent='" + perl_d_getspent + "'" +$ WC "d_getspnam='" + perl_d_getspnam + "'" +$ WC "d_setspent='" + perl_d_setspent + "'" +$ WC "i_shadow='" + perl_i_shadow + "'" +$ WC "i_socks='" + perl_i_socks + "'" +$ WC "d_PRIfldbl='" + perl_d_PRIfldbl + "'" +$ WC "d_PRIgldbl='" + perl_d_PRIgldbl + "'" +$ WC "d_PRId64='" + perl_d_PRId64 + "'" +$ WC "d_PRIu64='" + perl_d_PRIu64 + "'" +$ WC "d_PRIo64='" + perl_d_PRIo64 + "'" +$ WC "d_PRIx64='" + perl_d_PRIx64 + "'" +$ WC "sPRIfldbl='" + perl_sPRIfldbl + "'" +$ WC "sPRIgldbl='" + perl_sPRIgldbl + "'" +$ WC "sPRId64='" + perl_sPRId64 + "'" +$ WC "sPRIu64='" + perl_sPRIu64 + "'" +$ WC "sPRIo64='" + perl_sPRIo64 + "'" +$ WC "sPRIx64='" + perl_sPRIx64 + "'" $! $! ##WRITE NEW CONSTANTS HERE## $! $ Close CONFIGSH $ $! Okay, we've gotten here. Build munchconfig and run it -$ 'Perl_CC' munchconfig.c +$ 'Perl_CC'/debug munchconfig.c $ If (Needs_Opt.eqs."Yes") $ THEN $ open/write OPTCHAN []munchconfig.opt @@ -3394,6 +3664,11 @@ $ WRITE CONFIG "#define ALWAYS_DEFTYPES" $ ELSE $ WRITE CONFIG "#undef ALWAYS_DEFTYPES" $ ENDIF +$ if use_64bit.eqs."Y" +$ THEN +$ WRITE CONFIG "#define USE_LONG_LONG" +$ WRITE CONFIG "#define USE_LONG_DOUBLE" +$ ENDIF $ WRITE CONFIG "#define HAS_ENVGETENV" $ CLOSE CONFIG $! diff --git a/vms/vmsish.h b/vms/vmsish.h index 8f63018..709e34e 100644 --- a/vms/vmsish.h +++ b/vms/vmsish.h @@ -75,6 +75,9 @@ /* getenv used for regular logical names */ # define getenv(v) my_getenv(v,TRUE) #endif +#if defined(getenv_len) +#undef getenv_len +#endif #define getenv_len(v,l) my_getenv_len(v,l,TRUE) /* DECC introduces this routine in the RTL as of VMS 7.0; for now,