Trailing-Edge
-
PDP-10 Archives
-
bb-bt99o-bb
-
ftn111.ctl
There are 7 other files named ftn111.ctl in the archive. Click here to see a list.
;
; FTN111.CTL -- Patch and rebuild FORTRAN-10-V11
; Version 2(1)
;
; April 1985 /TGS / MRB
; 16-JUN-88 HAH ADD BRANCH FOR NO UPDATE
;
;
; COPYRIGHT (c) 1982, 1987 BY
; Digital Equipment Corporation, Maynard, MA.
;
; This software is furnished under a license and may be used
; and copied only in accordance with the terms of such
; license and with the inclusion of the above copyright
; notice. This software or any other copies thereof may not
; be provided or otherwise made available to any other
; person. No title to and ownership of the software is
; hereby transferred.
;
; The information in this software is subject to change
; without notice and should not be construed as a commitment
; by Digital Equipment Corporation.
;
; Digital assumes no responsibility for the use or
; reliability of its software on equipment which is not
; supplied by Digital.
;
;
; This .CTL file applies the patches to the modules of
; FORTRAN-10-V11 and rebuilds the Fortran Compiler, FORLIB.REL,
; FORO11.EXE and FORDDT.REL.
;
; For this .CTL file to run, the connected directory must be
; the patching directory (Logical name PAT:).
;
; NOTE: If the dummy file FTNDBM.FLG is present on PAT:, this
; .CTL file will build FORTRAN-10 with DBMS.
;
START::
.R PEPB
*INITIALIZE FORTRAN-10-V11
*EXIT
;
.PA REL:=
;
; Delete any source modules that may be left in PAT:
;
.NOERROR
.DELETE PAT:BLIO.BLI,PAT:BUILD.BLI,PAT:DEFLT.BLI,PAT:ERROR0.BLI,PAT:ERROVA.BLI
.DELETE PAT:ERROVB.BLI,PAT:ERROVC.BLI,PAT:ERROVD.BLI,PAT:ERROVG.BLI
.DELETE PAT:ERROVR.BLI,PAT:ERRTB3.MAC,PAT:F72BNF.SYN,PAT:FMTLEX.BLI
.DELETE PAT:FRMBNF.SYN,PAT:LEFT72.BLI,PAT:LEFTFM.BLI,PAT:NUMIO1.BLI
.DELETE PAT:OUTZ.BLI,PAT:OWNDM.MAC,PAT:QTAB1.MAC,PAT:SCAN0.BLI,PAT:SCNR.BLI
.DELETE PAT:TBL.BLI,PAT:TRACE1.BLI,PAT:ACT0.BLI,PAT:ACT1.BLI,PAT:ALCBLO.BLI
.DELETE PAT:ARRXPN.BLI,PAT:ASHELP.BLI,PAT:CANNON.BLI,PAT:CGDO.BLI
.DELETE PAT:CGEXPR.BLI,PAT:CGSTMN.BLI,PAT:CMPBLO.BLI,PAT:CMPLEX.BLI
.DELETE PAT:CNSTCM.MAC,PAT:CODETA.BLI,PAT:COMMAN.MAC,PAT:COMSUB.BLI
.DELETE PAT:DATAST.BLI,PAT:DEBUG.BLI,PAT:DEFPT.BLI,PAT:DGCMN.MAC
.DELETE PAT:DNPT.MAC,PAT:DOPT.MAC,PAT:DOALC.BLI,PAT:DOXPN.BLI,PAT:DRIVER.BLI
.DELETE PAT:ERR3.MAC,PAT:ERROUT.BLI,PAT:EXOSUP.MAC,PAT:EXPRES.BLI
.DELETE PAT:FAZ1.BLI,PAT:FDDT.MAC,PAT:FIRST.BLI,PAT:FLTGEN.MAC,PAT:FORMAT.BLI
.DELETE PAT:GCMNSB.BLI,PAT:GFOPDF.MAC,PAT:GLOBAL.BLI,PAT:GNRCFN.BLI
.DELETE PAT:GOPT2.BLI,PAT:GOPTIM.BLI,PAT:GRAPH.BLI,PAT:INOUT.BLI,PAT:INPT.BLI
.DELETE PAT:IOFLG.BLI,PAT:IOPT.BLI,PAT:JOBD.MAC,PAT:LEXAID.BLI,PAT:LEXICA.BLI
.DELETE PAT:LEXNAM.BLI,PAT:LEXSUP.BLI,PAT:LISTNG.BLI,PAT:LISTOU.BLI,LEXCLA.BLI
.DELETE PAT:MAIN.BLI,PAT:MEMCMP.BLI,PAT:MOVA.BLI,PAT:OPGNTA.MAC,PAT:OPTAB.BLI
.DELETE PAT:OPTMAC.BLI,PAT:OUTMOD.BLI,PAT:P2S1.BLI,PAT:P2S2.BLI,PAT:P3R.BLI
.DELETE PAT:PEEPOP.BLI,PAT:PH2S.BLI,PAT:PH3G.BLI,PAT:PHA2.BLI,PAT:PHA3.BLI
.DELETE PAT:PNROPT.BLI,PAT:REGAL2.BLI,PAT:REGUTL.BLI,PAT:RELBUF.BLI
.DELETE PAT:REQREL.BLI,PAT:REVHST.MAC,PAT:SKSTMN.BLI,PAT:SRCA.BLI,PAT:STA0.BLI
.DELETE PAT:STA1.BLI,PAT:STA2.BLI,PAT:STA3.BLI,PAT:STREGA.BLI,PAT:TABLES.BLI
.DELETE PAT:TSTR.BLI,PAT:UNEND.BLI,PAT:UTIL.BLI,PAT:VER5.BLI,PAT:VLTPPR.BLI
.DELETE FORBOT.MAC,FORCNV.MAC,FORCOM.MAC,FORCHR.MAC,FORDBM.MAC
.DELETE FORDST.MAC,FORDUM.MAC,FORERR.MAC,FORFMT.MAC,FORHST.MAC
.DELETE FORINI.MAC,FORIO.MAC,FORMEM.MAC,FORMSC.MAC,FORMSG.MAC
.DELETE FORNML.MAC,FOROP.MAC,FOROPN.MAC,FOROTS.MAC,FORPSE.MAC
.DELETE FORPL2.MAC,FORRMS.MAC,FORRTF.MAC,FORSRT.MAC,FORXIT.MAC
.DELETE FORPL1.FOR,MTHTRP.MAC,MTHSNG.MAC,MTHDBL.MAC
.DELETE MTHGDB.MAC,MTHCPX.MAC,MTHCDX.MAC,MTHCGX.MAC,MTHMSG.MAC
.DELETE MTHDUM.MAC,MTHARG.MAC,MTHCNV.MAC,FDBML5.MAC,FDBMH5.MAC
.DELETE FORDDT.MAC,FORPRM.MAC
.ERROR
.PATH UNV:=ASL:
.PATH ASL:/SEARCH
;
; Apply patches to the source modules
;
.ERROR %
.DIR PAT:FTN111.SUP
.IF (ERROR) .GOTO NOUPD
.TYPE PAT:FTN111.SUP
.R UPDATE
*@PAT:FTN111.SUP
NOUPD::
.ERROR
BUILC::
;
; Make sure any REQUIRE files are on the patching directory
;
.COPY =F72BNF.SYN
.COPY =FRMBNF.SYN
.COPY =LOOK72.BLI
.COPY =LOOKFM.BLI
.COPY =ASHELP.BLI
.COPY =FIRST.BLI
.COPY =FMTLEX.BLI
.COPY =IOFLG.BLI
.COPY =LEXAID.BLI
.COPY =LEXNAM.BLI
.COPY =OPTMAC.BLI
.COPY =REQREL.BLI
.COPY =TABLES.BLI
; FIRST BUILD THE SYNTAX TABLE BUILDERS AND SYNTAX TABLES
; COMPILE AND LOAD THE TABLE BUILDING PROGRAM.
.R BLIS10
*BUILD=BUILD.BLI
; COMPILE ALL I/O UTILITIES.
.R MACRO
*ERRTB3=ERRTB3.MAC
*QTAB1=QTAB1.MAC
.R BLIS10
*BLIO=BLIO.BLI
*DEFLT=DEFLT.BLI
*ERROR0=ERROR0.BLI
*NUMIO1=NUMIO1.BLI
*OUTZ=OUTZ.BLI
*SCAN0=SCAN0.BLI
*SCNR=SCNR.BLI
*TBL=TBL.BLI
*TRACE1=TRACE1.BLI
BLDCK::
; LOAD THE BUILDER WITH I/O UTILITIES AND EXECUTE
; LOAD IT
.TYPE BLD.CMD
.R LINK
*@BLD.CMD
; BUILD STATEMENT SYNTAX TABLES
; BUILD REQUIRES _ NOT =
.RUN BUILD
*META72.BLI,F72BNF.BLI_F72BNF.SYN
*0
*N
; BUILD FORMAT SYNTAX TABLES
; BUILD REQUIRES _ NOT =
.RUN BUILD
*METAFM.BLI,FRMBNF.BLI_FRMBNF.SYN
*0
*N
; DO THE COMPILATIONS FOR THE LOOK AHEAD TABLE BUILDERS.
.R BLIS10
*LEFT72=LEFT72.BLI
*LEFTFM=LEFTFM.BLI
PKLOD::
; LOAD, SAVE, AND EXECUTE THE GENERAL SYNTAX LOOK AHEAD BUILDER
; LOAD IT
.TYPE LEFT72.CMD
.R LINK
*@LEFT72.CMD
.RUN LEFT72
*3=LOOK72.BLI
*0
; LOAD, SAVE, AND EXECUTE THE FORMAT LOOK AHEAD TABLE BUILDER
.TYPE LEFTFM.CMD
.R LINK
*@LEFTFM.CMD
.RUN LEFTFM
*3=LOOKFM.BLI
*0
; REMOVE THE TABLES FROM FRMBNF.BLI AND F72BNF.BLI THAT ARE
; UNNECESSARY FOR PHASE 1
.TECO F72BNF.BLI
*NLEFTBUILD^[JSBIND^[0L.U0S;^[0L
*<I!^[0LQ0-."E0;'-L>
*NLEFTBUILD^[N^[-L.U0S;^[-L
=<I!^[0LQ0-."E0;'-L>EX^[^[
.DELETE F72BNF.BAK
.TECO FRMBNF.BLI
*NLEFTBUILD^[JSBIND^[0L.U0S;^[0L
=<I!^[0LQ0-."E0;'-L>EX^[^[
.DELETE FRMBNF.BAK
; IT IS RECOMMENDED THAT IF AN INSTALLATION IS NOT MODIFYING THE SYNTAX
; TABLES THAT THE BUILDING PROCESS BE STARTED HERE AT P0BEG.
P0BEG::
; ********** PHASE 0 ********** FORTRA
; MAKE THE COMPILATION AND ASSEMBLY SWITCH DEFINITION FILES
; TO GENERATE THE COMPILER FOR TOPS-10, MULTIPLE SEGMENT
.COPY DBUGIT.REQ = TTY:
*BIND DBUGIT=0; ! NO DEBUG CODE IN PHASE 1
*^Z
.COPY FT1SEG.REQ = TTY:
*GLOBAL BIND FT1SEG=0; ! NOT SINGLE SEGMENT
*^Z
.COPY FTTENX.REQ = TTY:
*GLOBAL BIND FTTENEX=0; ! TOPS-10
*^Z
.COPY FTTENX.MAC = TTY:
*UNIVERSAL FTTENX
* .DIRECTIVE .NOBIN
* FTTENX==0 ; TOPS-10
* END
*^Z
; START THE COMPILES
; USE FIELD IMAGE MACTEN, UUOSYM, SCNMAC, SCAN, WILD, AND HELPER
.R MACRO
*FTTENX=FTTENX.MAC
*GFOPDF=GFOPDF.MAC
.R MACRO
*COMMAN=COMMAN.MAC
*ERR3=ERR3.MAC
*EXOSUP=EXOSUP.MAC
*JOBD=JOBD.MAC
*OWNDM=OWNDM.MAC
*REVHST=REVHST.MAC
.R BLIS10
*ERROVA=ERROVA.BLI
*GLOBAL=GLOBAL.BLI
*INOUT=INOUT.BLI
*MAIN=MAIN.BLI
*UNEND=UNEND.BLI
P0END::
; LOAD PHASE 0
; BUILD DEBUGGING VERSION OF FORTRA.EXE
.TYPE DA.CMD
.DELETE DORTRA.EXE
.R LINK
*@DA.CMD
.RENAME DORTRA.EXE=FORTRA.EXE
; BUILD SHARABLE FORTRA.EXE
.TYPE A.CMD
.R LINK
*@A.CMD
.GET FORTRA
.CORE
P1BEG::
; ********** PHASE 1 ********** FORTB
.R MACRO
*CNSTCM=CNSTCM.MAC
*FLTGEN=FLTGEN.MAC
.R BLIS10
*ARRXPN=ARRXPN.BLI
*DOXPN=DOXPN.BLI
*ERROUT=ERROUT.BLI
*ERROVB=ERROVB.BLI
*EXPRES=EXPRES.BLI
*FAZ1=FAZ1.BLI
*GNRCFN=GNRCFN.BLI
*SRCA=SRCA.BLI
*VLTPPR=VLTPPR.BLI
FORMC::
.R BLIS10
*ACT0=ACT0.BLI
*ACT1=ACT1.BLI
*CODETA=CODETA.BLI
*DRIVER=DRIVER.BLI
*FORMAT=FORMAT.BLI
*LEXSUP=LEXSUP.BLI
*LISTNG=LISTNG.BLI
*STA0=STA0.BLI
*STA1=STA1.BLI
*STA2=STA2.BLI
*STA3=STA3.BLI
; LEXICA.BLI REQUIRES 75K OF CORE TO COMPILE
.R BLIS10
*LEXCLA=LEXCLA.BLI
*LEXICA=LEXICA.BLI
P1END::
; LOAD PHASE 1
; BUILD DEBUGGING VERSION OF FORTB.EXE
.DELETE DORTB.EXE
.TYPE DB.CMD
.R LINK
*@DB.CMD
.RENAME DORTB.EXE=FORTB.EXE
; BUILD SHARABLE FORTB.EXE
.TYPE B.CMD
.R LINK
*@B.CMD
.GET FORTB
.CORE
P2SBE::
; ********** PHASE 2S ********** FORTC
.R MACRO
*DOPT=DOPT.MAC
.R BLIS10
*ERROVC=ERROVC.BLI
*GOPT2=GOPT2.BLI
*INPT=INPT.BLI
*MEMCMP=MEMCMP.BLI
*P2S1=P2S1.BLI
*SKSTMN=SKSTMN.BLI
P2S2C::
.R MACRO
*DGCMN=DGCMN.MAC
.R BLIS10
*CANNON=CANNON.BLI
*COMSUB=COMSUB.BLI
*GOPTIM=GOPTIM.BLI
*P2S2=P2S2.BLI
*PH2S=PH2S.BLI
*UTIL=UTIL.BLI
P2SEN::
; LOAD PHASE 2S
; BUILD DEBUGGING VERSION OF FORTC.EXE
.TYPE DC.CMD
.DELETE DORTC.EXE
.R LINK
*@DC.CMD
.RENAME DORTC.EXE=FORTC.EXE
; BUILD SHARABLE FORTC.EXE
.TYPE C.CMD
.R LINK
*@C.CMD
.GET FORTC
.CORE
P2BEG::
; ********** PHASE 2 ********** FORTD
.R MACRO
*DNPT=DNPT.MAC
.R BLIS10
*DEFPT=DEFPT.BLI
*ERROVD=ERROVD.BLI
*GCMNSB=GCMNSB.BLI
*GRAPH=GRAPH.BLI
*IOPT=IOPT.BLI
*MOVA=MOVA.BLI
*PHA2=PHA2.BLI
*PNROPT=PNROPT.BLI
*TSTR=TSTR.BLI
*VER5=VER5.BLI
P2END::
; LOAD PHASE 2
; BUILD DEBUGGING VERSION OF FORTD.EXE
.TYPE DD.CMD
.DELETE DORTD.EXE
.R LINK
*@DD.CMD
.RENAME DORTD.EXE=FORTD.EXE
; BUILD SHARABLE FORTD.EXE
.TYPE D.CMD
.R LINK
*@D.CMD
.GET FORTD
.CORE
P3GBE::
; ********** PHASE 3G ********** FORTE
.R BLIS10
*ALCBLO=ALCBLO.BLI
*CMPBLO=CMPBLO.BLI
*CMPLEX=CMPLEX.BLI
*DATAST=DATAST.BLI
*DOALC=DOALC.BLI
*ERROVR=ERROVR.BLI
*OUTMOD=OUTMOD.BLI
*PH3G=PH3G.BLI
*REGAL2=REGAL2.BLI
*REGUTL=REGUTL.BLI
*RELBUF=RELBUF.BLI
*STREGA=STREGA.BLI
P3GEN::
; LOAD PHASE 3G
; BUILD DEBUGGING VERSION OF FORTE.EXE
.TYPE DE.CMD
.DELETE DORTE.EXE
.R LINK
*@DE.CMD
.RENAME DORTE.EXE=FORTE.EXE
; BUILD SHARABLE FORTE.EXE
.TYPE E.CMD
.R LINK
*@E.CMD
.GET FORTE
.CORE
P3RBE::
; ********** PHASE 3R ********** FORTF
.R BLIS10
*P3R=P3R.BLI
; LOAD PHASE 3R
; BUILD DEBUGGING VERSION OF FORTF.EXE
.TYPE DF.CMD
.DELETE DORTF.EXE
.R LINK
*@DF.CMD
.RENAME DORTF.EXE=FORTF.EXE
; BUILD SHARABLE FORTF.EXE
.TYPE F.CMD
.R LINK
*@F.CMD
.GET FORTF
.CORE
P3BEG::
; ********** PHASE 3 ********** FORTG
.R MACRO
*OPGNTA=OPGNTA.MAC
.R BLIS10
*CGDO=CGDO.BLI
*CGEXPR=CGEXPR.BLI
*CGSTMN=CGSTMN.BLI
*DEBUG=DEBUG.BLI
*ERROVG=ERROVG.BLI
*LISTOU=LISTOU.BLI
*OPTAB=OPTAB.BLI
*PEEPOP=PEEPOP.BLI
*PHA3=PHA3.BLI
P3END::
; LOAD PHASE 3
; BUILD DEBUGGING VERSION OF FORTG.EXE
.TYPE DG.CMD
.DELETE DORTG.EXE
.R LINK
*@DG.CMD
.RENAME DORTG.EXE=FORTG.EXE
; BUILD FORTG.EXE
.TYPE G.CMD
.R LINK
*@G.CMD
.GET FORTG
.CORE
; ********** MULTI-SEGMENT BUILDING PHASES COMPLETE **********
PSNGL::
; MAKE THE SINGLE SEGMENT TOPS-10 COMPILER
.COPY FT1SEG.BAK = FT1SEG.REQ
.COPY FT1SEG.REQ = TTY:
*GLOBAL BIND FT1SEG = 1; ! SINGLE SEGMENT
*^Z
; RECOMPILE MAIN.BLI AS ONESEG.REL
.R BLIS10
*ONESEG=MAIN.BLI
; CLEAN UP
.COPY FT1SEG.REQ = FT1SEG.BAK
.DELETE FT1SEG.BAK
; BUILD SHARABLE SINGLE SEGMENT COMPILER
.TYPE ALL.CMD
.R LINK
*@ALL
.GET SINGLE
.CORE
BOTS::
CREL::
MTHLIB::
.RUN MACRO
*=M10REL.MAC,MTHPRM.MAC
*MTHTRP.REL=MTHTRP.MAC
*MTHSNG.REL=MTHSNG.MAC
*MTHDBL.REL=MTHDBL.MAC
*MTHGDB.REL=MTHGDB.MAC
*MTHCPX.REL=MTHCPX.MAC
*MTHCDX.REL=MTHCDX.MAC
*MTHCGX.REL=MTHCGX.MAC
*MTHMSG.REL=MTHMSG.MAC
*MTHDUM.REL=MTHDUM.MAC
*MTHARG.REL=MTHARG.MAC
*MTHCNV.REL=MTHCNV.MAC
; Compile FOROTS
.R MACRO
*FORPRM=F10REL.MAC,FORPRM.MAC
*FORBOT.REL=FORBOT.MAC
*FORCNV.REL=FORCNV.MAC
*FORCOM.REL=FORCOM.MAC
*FORCHR.REL=FORCHR.MAC
*FORDBM.REL=FORDBM.MAC
*FORDST.REL=FORDST.MAC
*FORDUM.REL=FORDUM.MAC
*FORERR.REL=FORERR.MAC
*FORFMT.REL=FORFMT.MAC
*FORHST.REL=FORHST.MAC
*FORINI.REL=FORINI.MAC
*FORIO.REL=FORIO.MAC
*FORMEM.REL=FORMEM.MAC
*FORMSC.REL=FORMSC.MAC
*FORMSG.REL=FORMSG.MAC
*FORNML.REL=FORNML.MAC
*FOROP.REL=FOROP.MAC
*FOROPN.REL=FOROPN.MAC
*FOROTS.REL=FOROTS.MAC
*FORPSE.REL=FORPSE.MAC
*FORPL2.REL=FORPL2.MAC
*FORRMS.REL=FORRMS.MAC
*FORRTF.REL=FORRTF.MAC
*FORSRT.REL=FORSRT.MAC
*FORXIT.REL=FORXIT.MAC
.RUN DSK:FORTRA
*FORPL1.REL=FORPL1.FOR/OPT/NOWARN:CHO
*^Z
; Create FORLIB
.TYPE F10LIB.CCL
.R MAKLIB
*@F10LIB.CCL
MFOTS::
; Create FOROTS
.TYPE F10OTS.CCL
.R LINK
*@F10OTS.CCL
.GET FORO11
.CORE
BDDT::
; Generate FORDDT for the 10
.COPY FDDT.MAC=TTY:
* TOPS20==0 ;TOPS-10
*^Z
; Build FORDDT
.R MACRO
*FORDDT=FDDT.MAC,FORDDT.MAC
;
; If flag file FTNDBM.FLG is present on PAT:, make DBMSF.EXE and
; DBMSF.REL for FORTRAN-10 with DBMS.
;
.ERROR %
.PRO<777>FTNDBM.FLG
.IF (ERROR) .GOTO CHECK
;
; The DBMS flag file was found. Build DBM/Fortran.
;
;
; These files must exist to be built into DBMSF.EXE. Signal an
; error if these are not found.
;
.ERROR %
.DIR DBSFOR.REL, DBSANY.REL, DBS10.REL, SCHIO1.REL, FORDBM.REL
.TYPE FDBM5.CCL
.R MAKLIB
*@FDBM5.CCL
.EX FDBM5.FOR
.TYPE DBCS1F.CMD
.R LINK
*@DBCS1F
;
;See what we got
;
.DIR /CHECKSUM DBMSF.EXE
CHECK::
;
; DELETE UNNEEDED OUTPUT FILES
;
.DELETE FORBOT.REL,FORCNV.REL,FORCOM.REL,FORCHR.REL,FORDBM.REL
.DELETE FORDST.REL,FORDUM.REL,FORERR.REL,FORFMT.REL,FORHST.REL
.DELETE FORINI.REL,FORIO.REL,FORMEM.REL,FORMSC.REL,FORMSG.REL
.DELETE FORNML.REL,FOROP.REL,FOROPN.REL,FOROTS.REL,FORPSE.REL
.DELETE FORPL2.REL,FORRMS.REL,FORRTF.REL,FORSRT.REL,FORXIT.REL
.DELETE FORPL1.REL,MTHTRP.REL,MTHSNG.REL,MTHDBL.REL
.DELETE MTHGDB.REL,MTHCPX.REL,MTHCDX.REL,MTHCGX.REL,MTHMSG.REL
.DELETE MTHDUM.REL,MTHARG.REL,MTHCNV.REL
;
; Signal success
;
.R PEPB
*SIGNAL-SUCCESS FORTRAN-10-V11
*EXIT
.GOTO EXIT
;
; Signal failure on error
;
%ERR:: .GOTO ERROR
%CERR::.GOTO ERROR
%TERR::.GOTO ERROR
ERROR::
.R PEPB
*SIGNAL-FAILURE FORTRAN-10-V11
*EXIT
EXIT::
%FIN::
; [END OF FTN111.CTL]