Google
 

Trailing-Edge - PDP-10 Archives - BB-H506E-SM - cobol/source/libol.ctl
There are 11 other files named libol.ctl in the archive. Click here to see a list.
! UPD ID= 3375 on 1/30/81 at 10:38 AM by WRIGHT                         
!LIBOL.CTL	COBOL-74 V12C
!
!USED TO MAKE C74OTS FROM LIBOL'S SOURCE FILES.
!THIS FILE RUNS ON EITHER TOPS-20 OR TOPS-10 ON ALL SUPPORTED MONITORS
!SUBMIT WITH COMMAND	SUBMIT LIBOL/TIME:0:30:0
!
!COPYRIGHT (C) DIGITAL EQUIPMENT CORPORATION 1979, 1985 
!ALL RIGHTS RESERVED.
!
!THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
!  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
!
!IF ANY NON-STANDARD ASSEMBLY SWITCHES ARE DESIRED THEY SHOULD BE
!	INSERTED IN COBASM.MAC
!
!INSTALLATION SPECIFIC ASSIGNMENTS SHOULD BE PUT IN THE FOLLOWING FILE:
! ON TOPS-20 IN A TAKE FILE COBOL.CMD
! ON TOPS-10 IN A MIC  FILE COBOL.MIC
!	  OR IN A TECO FILE COBOL.TEC
!NOTE, IN GENERAL THIS CONTROL FILE WILL NOT RUN WITHOUT ONE OF THE ABOVE
!DEFINITION FILES BEING PRESENT.
!
!***** NOTE ***** TOPS-10 SYSTEMS
!PRIOR TO 7.01 MIC DOES NOT WORK UNDER BATCH - DO NOT SUPPLY A MIC FILE.
!ALSO 7.01 USERS CAN USE THE PATH COMMAND TO CREATE COMPLEX LOGICAL NAME
!ALA TOPS-20. THIS FILE WILL SUPPORT SUCH NAMES, IF YOU CANNOT USE PATH
!THEN ALL FILES SPECIFIED AS BEING IN LOGICAL NAMES MUST BE IN DSK:.
!NOTE THE SOURCES CAN BE IN A SEPARATE LIB: AREA.
!
!IF LISTINGS ARE DESIRED, THE EMPTY FILE
!LISTEM.MAC SHOULD BE IN DSK:
!
!IF YOU ALREADY HAVE A SORT FROM A PREVIOUS BUILD AND WISH TO INCLUDE 
!IT IN THE OTS WITHOUT HAVING TO RUN SORT.CTL AGAIN
! ON TOPS-20 THEN LEAVE SRTCBL.REL IN SBUILD:
! ON TOPS-10 IF YOU USE PATH	LEAVE SRTCBL.REL IN SBUILD:
!				ELSE COPY SRTCBL.REL TO DSK:
!
!IF YOU WITH TO INCLUDE DBMS MODULE FROM A PREVIOUS BUILD OF DBMS
!WITHOUT HAVING TO RUN DBMS.CTL AGAIN THEN
! ON TOPS-20 LEAVE THE REL FILES IN DBMBLD: (DBMS-BUILD:)
! ON TOPS-10 IF YOU USE PATH	LEAVE THE REL FILES IN DBMBLD:
!				ELSE COPY THE REL FILES TO DSK:
!THIS FILE LOOKS FOR DBSCOB.REL TO LOAD THE DBMS MODULES.
!
!FOR COBOL-68 SET ANS68==1 AND ANS74==0 IN COBASM.MAC
!FOR COBOL-74 SET ANS68==0 AND ANS74==1 IN COBASM.MAC
!
!
!TEST FOR WHICH SYSTEM
@GOTO TOPS20	!TOPS20 VERSION
.GOTO TOPS10	!TOPS10 VERSION
TOPS20::
!REQUIRED FILES:
!<FIELD-IMAGE>	CREF.EXE
!		LINK.EXE
!		MACRO.EXE
!		MAKLIB.EXE
!		MACREL.REL
!		MACSYM.UNV
!		MONSYM.UNV
!		UUOSYM.UNV
!
!<NEW>		PA1050.EXE
!
!<UNSUPPORTED>	GLOB.EXE
!
!<SELF>	LIBOL.CTL	
!	ACCEPT.MAC	ALBSTB.MAC	ALF.MAC		ARGS.MAC
!	CANCEL.MAC	CBLIO.MAC	CDD.MAC		CHREQV.MAC
!	CMP.MAC		COPYRT.MAC	COPYRT.TXT	COBASM.MAC
!	COBFUN.MAC	COBST.MAC	COBVER.MAC	COMPD.MAC
!	COMUNI.MAC	COVRLY.MAC
!	DSORT.MAC	DEBSTB.MAC	DIV11.MAC	DPADD.MAC
!	DPDIV.MAC	DPMUL.MAC	DPSUB.MAC	DSPFP.MAC
!	EASTBL.MAC	EDIT.MAC	EDITB.MAC	EXAM.MAC
!	EXPON.MAC	FIX.MAC		FLGDF.MAC	FLOAT.MAC
!	FTDEFS.MAC	GC.MAC		GD.MAC		INSPEC.MAC
!	INTERM.MAC	KEY.MAC		KPROG.MAC	LBLERR.MAC
!	LBLPRM.MAC
!	LCM20.MAC	LIBREL.MAC	LIBSHR.MAC	LILOWS.MAC
!	LINE.MAC	LSU.MAC		MAGNEG.MAC	METIO.MAC
!	METUNV.MAC	MOVE.MAC	NSTRNG.MAC	NTBSTB.MAC
!	NUBSTB.MAC	NUM.MAC		NUMEQV.MAC	OSTRNG.MAC
!	PC.MAC		PD.MAC		PERF.MAC	PNZ.MAC
!	PUTRES.MAC	REMOVL.MAC	RESOLV.MAC	RMSIO.MAC
!	SETRET.MAC
!	SIZ23.MAC	SIZE1.MAC	SPAC.MAC	SUBSCR.MAC
!	TODAY.MAC	TRACED.MAC	USRDSP.MAC	ZERC.MAC
!
!	TCSINT.UNV	TCSSYM.UNV
!
!LINK CONTROL FILES
!	L12C68.CMD	L12C6D.CMD	L12C74.CMD	L12C7D.CMD
!
!TO INCLUDE SORT
!SORT-BUILD:		SRTCBL.REL
!
!TO INCLUDE DBMS
!DBMS-BUILD:
!	DBSCOB.REL	DBS20.REL	DBSANY.REL	SCHIO2.REL
!
!TO TEST THE FEATURES TEST SWITCH SETTINGS THE FOLLOWING IS REQUIRED:
!
!<SELF>			COBTST.MAC
!
!OUTPUT:		LIBOL.LOG
!	-68		LIBOL.REL	LIBO12.EXE	LIBOL.GLB
!	-74		C74LIB.REL	C74O12.EXE	C74OTS.GLB
!
@CHKPNT CK2A
CK2A::
@ERROR
@TAKE COBOL.CMD
@IF (ERROR) !IGNORE IT
!MAKE A RECORD OF WHAT IS BEING USED.
@GET SYS:PA1050
@INFO VERSION
@GET SYS:MACRO
@INFO VERSION
@GET SYS:MAKLIB
@INFO VERSION
@GET SYS:LINK
@INFO VERSION
@GET SYS:CREF
@INFO VERSION
@GET SYS:GLOB
@IF (ERROR) @!GLOB IS NOT SUPPORTED
@INFO VERSION
!
@VD SYS:MACRO.EXE,SYS:MAKLIB.EXE,SYS:LINK.EXE,SYS:CREF.EXE,SYS:GLOB.EXE,SYS:MACSYM.UNV,SYS:MONSYM.UNV,SYS:UUOSYM.UNV,SYS:PA1050.EXE,SYS:MACREL.REL,
@CHECK SEQ
@
!
@VD COPYRT.MAC,COPYRT.TXT,COBASM.MAC,COBVER.MAC,INTERM.MAC,LBLPRM.MAC,COMUNI.MAC,CHREQV.MAC,NUMEQV.MAC,FTDEFS.MAC,FLGDF.MAC,METUNV.MAC,ACCEPT.MAC,ALBSTB.MAC,ALF.MAC,ARGS.MAC,
@CHECK SEQ
@
@VD CANCEL.MAC,CBLIO.MAC,CDD.MAC,CMP.MAC,COBFUN.MAC,COBST.MAC,COMPD.MAC,COVRLY.MAC,DSORT.MAC,DEBSTB.MAC,DIV11.MAC,
@CHECK SEQ
@
@VD DPADD.MAC,DPDIV.MAC,DPMUL.MAC,DPSUB.MAC,DSPFP.MAC,EASTBL.MAC,EDIT.MAC,EDITB.MAC,EXAM.MAC,EXPON.MAC,FIX.MAC,FLOAT.MAC,
@CHECK SEQ
@
@VD GC.MAC,GD.MAC,INSPEC.MAC,KEY.MAC,KPROG.MAC,LBLERR.MAC,LCM20.MAC,LIBREL.MAC,LIBSHR.MAC,LILOWS.MAC,LINE.MAC,LSU.MAC,MAGNEG.MAC,METIO.MAC,MOVE.MAC,
@CHECK SEQ
@
@VD NUM.MAC,NTBSTB.MAC,NUBSTB.MAC,PC.MAC,PD.MAC,PERF.MAC,PNZ.MAC,PUTRES.MAC,REMOVL.MAC,RESOLV.MAC,RMSIO.MAC,SETRET.MAC,SIZ23.MAC,SIZE1.MAC,
@CHECK SEQ
@
@VD SPAC.MAC,OSTRNG.MAC,NSTRNG.MAC,SUBSCR.MAC,TODAY.MAC,TRACED.MAC,USRDSP.MAC,ZERC.MAC,TCSINT.UNV,TCSSYM.UNV,
@CHECK SEQ
@
@VD LIBOL.CTL,L12C68.CMD,L12C6D.CMD,L12C74.CMD,L12C7D.CMD,
@CHECK SEQ
@
@VD SBUILD:SRTCBL.REL,
@CHECK SEQ
@
!
!ASSEMBLE SOURCES:
!
!ASSEMBLE THE UNIVERSALS FIRST.
@ERROR %
@TYPE LISTEM.MAC
@IF (ERROR) @GOTO NOLIS1
@ERROR
!
!HERE FOR CREF LISTINGS
!
@MACRO
*COPYRT,COPYRT/C=COPYRT
*COBASM,COBASM/C=COBASM
*INTERM,INTERM/C=INTERM
*COBVER,COBVER/C=COBVER
*COMUNI,COMUNI/C=COMUNI
*FTDEFS,FTDEFS/C=FTDEFS
*LBLPRM,LBLPRM/C=LBLPRM
*CHREQV,CHREQV/C=CHREQV
*NUMEQV,NUMEQV/C=NUMEQV
*FLGDF,FLGDF/C=FLGDF
*METUNV,METUNV/C=METUNV
!GET MACRO AGAIN OR TOO MANY UNIVERSALS MESSAGE
@MACRO
*COBTST=COBTST
!
! LOAD THE FEATURE TEST SWITCH TESTER
!
@LINK
*COBTST/GO
@SAVE COBTST
@IF (ERROR) @GOTO TRUBLE
!
!
!NOW WE CAN ASSEMBLE THE SOURCES.
@CHKPNT CK2B
CK2B::
@ERROR
@TAKE COBOL.CMD
@IF (ERROR) !IGNORE IT
@MACRO
*ACCEPT,ACCEPT/C=ACCEPT
*ALBSTB,ALBSTB/C=ALBSTB
*ALF,ALF/C=ALF
*ARGS,ARGS/C=ARGS
*CANCEL,CANCEL/C=CANCEL
*CBLIO,CBLIO/C=CBLIO
@IF (ERROR) @GOTO TRUBLE
!
@CHKPNT CK2C
CK2C::
@ERROR
@TAKE COBOL.CMD
@IF (ERROR) !IGNORE IT
@MACRO
*CDD,CDD/C=CDD
*CMP,CMP/C=CMP
*COBFUN,COBFUN/C=COBFUN
*COBST,COBST/C=COBST
*COMPD,COMPD/C=COMPD
*COVRLY,COVRLY/C=COVRLY
*DSORT,DSORT/C=DSORT
*DEBSTB,DEBSTB/C=DEBSTB
*DIV11,DIV11/C=DIV11
*DPADD,DPADD/C=DPADD
*DPDIV,DPDIV/C=DPDIV
*DPMUL,DPMUL/C=DPMUL
*DPSUB,DPSUB/C=DPSUB
*DSPFP,DSPFP/C=DSPFP
@MACRO
*EASTBL,EASTBL/C=EASTBL
*EDIT,EDIT/C=EDIT
*EDITB,EDITB/C=EDITB
*EXAM,EXAM/C=EXAM
*EXPON,EXPON/C=EXPON
*FIX,FIX/C=FIX
*FLOAT,FLOAT/C=FLOAT
*GC,GC/C=GC
*GD,GD/C=GD
*INSPEC,INSPEC/C=INSPEC
*KEY,KEY/C=KEY
*KPROG,KPROG/C=KPROG
@MACRO !TOO MANY UNIVERSALS OTHERWISE
*LBLERR,LBLERR/C=LBLERR
*LCM20,LCM20/C=LCM20
*LIBREL,LIBREL/C=LIBREL
@RUN COBTST
*ANS68
@IF (ERROR) @GOTO L74	!COBOL-74
@MACRO
*LIBSHR,LIBSHR/C=LIBSHR
@GOTO NEXT
L74::
@MACRO
*C74SHR,LIBSHR/C=LIBSHR
NEXT::
@IF (ERROR) @GOTO TRUBLE
!
!
@CHKPNT CK2D
CK2D::
@ERROR
@TAKE COBOL.CMD
@IF (ERROR) !IGNORE IT
@MACRO
*LILOWS,LILOWS/C=LILOWS
*LINE,LINE/C=LINE
*LSU,LSU/C=LSU
*MAGNEG,MAGNEG/C=MAGNEG
*METIO,METIO/C=METIO
*MOVE,MOVE/C=MOVE
*NUM,NUM/C=NUM
*NTBSTB,NTBSTB/C=NTBSTB
*NUBSTB,NUBSTB/C=NUBSTB
*PC,PC/C=PC
*PD,PD/C=PD
*PERF,PERF/C=PERF
*PNZ,PNZ/C=PNZ
*PUTRES,PUTRES/C=PUTRES
*REMOVL,REMOVL/C=REMOVL
*RESOLV,RESOLV/C=RESOLV
@IF (ERROR) @GOTO TRUBLE
@RU COBTST
*ANS74
@IF (ERROR) @GOTO SKPRSI
@MACRO
*RMSIO,RMSIO/C=RMSIO
@IF (ERROR) @GOTO TRUBLE
SKPRSI::
@MACRO
*SETRET,SETRET/C=SETRET
*SIZ23,SIZ23/C=SIZ23
*SIZE1,SIZE1/C=SIZE1
*SPAC,SPAC/C=SPAC
*OSTRNG,OSTRNG/C=OSTRNG
*NSTRNG,NSTRNG/C=NSTRNG
*SUBSCR,SUBSCR/C=SUBSCR
*TODAY,TODAY/C=TODAY
*TRACED,TRACED/C=TRACED
*USRDSH,USRDSH/C=TTY:,DSK:USRDSP
*SHR==1
=
=
*USRDSL,USRDSL/C=USRDSP
*ZERC,ZERC/C=ZERC
@IF (ERROR) @GOTO TRUBLE
!
!CREF THE SOURCES
@CHKPNT CK2E
CK2E::
@ERROR
@TAKE COBOL.CMD
@IF (ERROR) !IGNORE IT
@CREF
*DSK:COPYRT.LZT=COPYRT
*DSK:COBASM.LZT=COBASM
*DSK:INTERM.LZT=INTERM
*DSK:COBVER.LZT=COBVER
*DSK:COMUNI.LZT=COMUNI
*DSK:FTDEFS.LZT=FTDEFS
*DSK:LBLPRM.LZT=LBLPRM
*DSK:CHREQV.LZT=CHREQV
*DSK:NUMEQV.LZT=NUMEQV
*DSK:FLGDF.LZT=FLGDF
*DSK:METUNV.LZT=METUNV
*DSK:ACCEPT.LZT=ACCEPT
*DSK:ALBSTB.LZT=ALBSTB
*DSK:ALF.LZT=ALF
*DSK:ARGS.LZT=ARGS
*DSK:CANCEL.LZT=CANCEL
*DSK:CBLIO.LZT=CBLIO
*DSK:CDD.LZT=CDD
*DSK:CMP.LZT=CMP
*DSK:COBFUN.LZT=COBFUN
*DSK:COBST.LZT=COBST
*DSK:COMPD.LZT=COMPD
*DSK:COVRLY.LZT=COVRLY
*DSK:DSORT.LZT=DSORT
*DSK:DEBSTB.LZT=DEBSTB
*DSK:DIV11.LZT=DIV11
*DSK:DPADD.LZT=DPADD
*DSK:DPDIV.LZT=DPDIV
*DSK:DPMUL.LZT=DPMUL
*DSK:DPSUB.LZT=DPSUB
*DSK:DSPFP.LZT=DSPFP
*DSK:EASTBL.LZT=EASTBL
*DSK:EDIT.LZT=EDIT
*DSK:EDITB.LZT=EDITB
*DSK:EXAM.LZT=EXAM
*DSK:EXPON.LZT=EXPON
*DSK:FIX.LZT=FIX
*DSK:FLOAT.LZT=FLOAT
*DSK:GC.LZT=GC
*DSK:GD.LZT=GD
*DSK:INSPEC.LZT=INSPEC
*DSK:KEY.LZT=KEY
*DSK:KPROG.LZT=KPROG
*DSK:LBLERR.LZT=LBLERR
*DSK:LCM20.LZT=LCM20
*DSK:LIBREL.LZT=LIBREL
*DSK:LIBSHR.LZT=LIBSHR
*DSK:LILOWS.LZT=LILOWS
*DSK:LINE.LZT=LINE
*DSK:LSU.LZT=LSU
*DSK:MAGNEG.LZT=MAGNEG
*DSK:METIO.LZT=METIO
*DSK:MOVE.LZT=MOVE
*DSK:NUM.LZT=NUM
*DSK:NTBSTB.LZT=NTBSTB
*DSK:NUBSTB.LZT=NUBSTB
*DSK:PC.LZT=PC
*DSK:PD.LZT=PD
*DSK:PERF.LZT=PERF
*DSK:PNZ.LZT=PNZ
*DSK:PUTRES.LZT=PUTRES
*DSK:REMOVL.LZT=REMOVL
*DSK:RESOLV.LZT=RESOLV
@IF (ERROR) @GOTO TRUBLE
@RUN COBTST
*ANS74
@IF (ERROR) @GOTO SKCRI1
@CREF
*DSK:RMSIO.LZT=RMSIO
SKCRI1::
@CREF
*DSK:SETRET.LZT=SETRET
*DSK:SIZ23.LZT=SIZ23
*DSK:SIZE1.LZT=SIZE1
*DSK:SPAC.LZT=SPAC
*DSK:OSTRNG.LZT=OSTRNG
*DSK:NSTRNG.LZT=NSTRNG
*DSK:SUBSCR.LZT=SUBSCR
*DSK:TODAY.LZT=TODAY
*DSK:TRACED.LZT=TRACED
*DSK:USRDSH.LZT=USRDSH
*DSK:USRDSL.LZT=USRDSL
*DSK:ZERC.LZT=ZERC
@IF (ERROR) !TROUBLE CREATING .LZT FILES
@GOTO DONCRF
NOLIS1::
!HERE FOR NO CREF LISTINGS
@ERROR
@MACRO
*COPYRT=COPYRT
*COBASM=COBASM
*INTERM=INTERM
*COBVER=COBVER
*COMUNI=COMUNI
*FTDEFS=FTDEFS
*LBLPRM=LBLPRM
*CHREQV=CHREQV
*NUMEQV=NUMEQV
*FLGDF=FLGDF
*METUNV=METUNV
!GET MACRO AGAIN OR TOO MANY UNIVERSALS MESSAGE
@MACRO
*COBTST=COBTST
!
! LOAD THE FEATURE TEST SWITCH TESTER
!
@LINK
*COBTST/GO
@SAVE COBTST
@IF (ERROR) @GOTO TRUBLE
@CHKPNT CK2F
CK2F::
@ERROR
@TAKE COBOL.CMD
@IF (ERROR) !IGNORE IT
@MACRO
*ACCEPT=ACCEPT
*ALBSTB=ALBSTB
*ALF=ALF
*ARGS=ARGS
*CANCEL=CANCEL
*CBLIO=CBLIO
@IF (ERROR) @GOTO TRUBLE
!
@CHKPNT CK2G
CK2G::
@ERROR
@TAKE COBOL.CMD
@IF (ERROR) !IGNORE IT
@MACRO
*CDD=CDD
*CMP=CMP
*COBFUN=COBFUN
*COBST=COBST
*COMPD=COMPD
*COVRLY=COVRLY
*DSORT=DSORT
*DEBSTB=DEBSTB
*DIV11=DIV11
*DPADD=DPADD
*DPDIV=DPDIV
*DPMUL=DPMUL
*DPSUB=DPSUB
*DSPFP=DSPFP
@MACRO	!OR TOO MANY UNIVERSALS
*EASTBL=EASTBL
*EDIT=EDIT
*EDITB=EDITB
*EXAM=EXAM
*EXPON=EXPON
*FIX=FIX
*FLOAT=FLOAT
*GC=GC
*GD=GD
*INSPEC=INSPEC
*KEY=KEY
*KPROG=KPROG
@MACRO !TOO MANY UNIVERSALS OTHERWISE
*LBLERR=LBLERR
*LCM20=LCM20
*LIBREL=LIBREL
@RUN COBTST
*ANS68
@IF (ERROR) @GOTO L74	!COBOL-74
@MACRO
*LIBSHR=LIBSHR
@GOTO NEXT
L74::
@MACRO
*C74SHR=LIBSHR
NEXT::
@IF (ERROR) @GOTO TRUBLE
!
@CHKPNT CK2H
CK2H::
@ERROR
@TAKE COBOL.CMD
@IF (ERROR) !IGNORE IT
@MACRO
*LILOWS=LILOWS
*LINE=LINE
*LSU=LSU
*MAGNEG=MAGNEG
*METIO=METIO
*MOVE=MOVE
*NUM=NUM
*NTBSTB=NTBSTB
*NUBSTB=NUBSTB
*PC=PC
*PD=PD
*PERF=PERF
*PNZ=PNZ
*PUTRES=PUTRES
*REMOVL=REMOVL
*RESOLV=RESOLV
@IF (ERROR) @GOTO TRUBLE
@RUN COBTST
*ANS74
@IF (ERROR) @GOTO SKPRMI
@MACRO
*RMSIO=RMSIO
@IF (ERROR) @GOTO TRUBLE
SKPRMI::
@MACRO
*SETRET=SETRET
*SIZ23=SIZ23
*SIZE1=SIZE1
*SPAC=SPAC
*OSTRNG=OSTRNG
*NSTRNG=NSTRNG
*SUBSCR=SUBSCR
*TODAY=TODAY
*TRACED=TRACED
*USRDSH=TTY:,DSK:USRDSP
*SHR==1
=
=
*USRDSL=USRDSP
*ZERC=ZERC
@IF (ERROR) @GOTO TRUBLE
@GOTO DONCRF
DONCRF::
!
! APPEND THE COPYRIGHT STATEMENT TO ALL THE UNV FILES TO PROTECT THEM
!
@APPEND COPYRT.TXT COPYRT.UNV
@APPEND COPYRT.TXT COBASM.UNV
@APPEND COPYRT.TXT INTERM.UNV
@APPEND COPYRT.TXT COBVER.UNV
@APPEND COPYRT.TXT COMUNI.UNV
@APPEND COPYRT.TXT FTDEFS.UNV
@APPEND COPYRT.TXT LBLPRM.UNV
@APPEND COPYRT.TXT CHREQV.UNV
@APPEND COPYRT.TXT NUMEQV.UNV
@APPEND COPYRT.TXT FLGDF.UNV
!
@CHKPNT CK2J
CK2J::
@ERROR
@TAKE COBOL.CMD
@IF (ERROR) !IGNORE IT
!
!CHECKSUM ALL LIBOL REL FILES
!
@VDIR COBST.REL,CBLIO.REL,LIBREL.REL,REMOVL.REL,TRACED.REL,LINE.REL,OSTRNG.REL,NSTRNG.REL,LSU.REL,
@CHECK SEQ
@
@VDIR ACCEPT.REL,ARGS.REL,PUTRES.REL,CANCEL.REL,GD.REL,GC.REL,PD.REL,PC.REL,FLOAT.REL,
@CHECK SEQ
@
@VDIR FIX.REL,CDD.REL,METIO.REL,MOVE.REL,EXPON.REL,COMPD.REL,
@CHECK SEQ
@
@VDIR CMP.REL,SPAC.REL,ZERC.REL,ALF.REL,PNZ.REL,NUM.REL,DSPFP.REL,DIV11.REL,
@CHECK SEQ
@
@VDIR DPDIV.REL,DPADD.REL,DPSUB.REL,DPMUL.REL,MAGNEG.REL,SUBSCR.REL,TODAY.REL,
@CHECK SEQ
@
@VDIR SIZE1.REL,SIZ23.REL,EXAM.REL,INSPEC.REL,EDIT.REL,PERF.REL,COVRLY.REL,
@CHECK SEQ
@
@VDIR KEY.REL,KPROG.REL,LBLERR.REL,DSORT.REL,SETRET.REL,COBFUN.REL,EASTBL.REL,ALBSTB.REL,DEBSTB.REL,
@CHECK SEQ
@
@VDIR EDITB.REL,NUBSTB.REL,NTBSTB.REL,LCM20.REL,USRDSL.REL,USRDSH.REL,
@CHECK SEQ
@
@VDIR COBASM.REL,COMUNI.REL,INTERM.REL,LBLPRM.REL,CHREQV.REL,NUMEQV.REL,FTDEFS.REL,FLGDF.REL,METUNV.REL,RESOLV.REL,
@CHECK SEQ
@
!
!CHECKSUM ALL LIBOL UNIVERSAL FILES
!
@VDIR COPYRT.UNV,COBASM.UNV,COBVER.UNV,COMUNI.UNV,INTERM.UNV,LBLPRM.UNV,CHREQV.UNV,NUMEQV.UNV,FTDEFS.UNV,FLGDF.UNV,METUNV.UNV,
@CHECK SEQ
@
!
!SEE IF COBOL-68 OR COBOL-74
!
@RUN COBTST
*ANS68
@IF (ERROR) @GOTO L74	!COBOL-74
L68::	!COBOL-68 BUILD
!CREATE LIBOL.REL
!
@COPY COBST.REL LIBOL.REL
@APPEND LILOWS.REL,CBLIO.REL,LBLERR.REL,LIBREL.REL,REMOVL.REL,TRACED.REL,LINE.REL,OSTRNG.REL,NSTRNG.REL,LSU.REL LIBOL.REL
@APPEND ACCEPT.REL,ARGS.REL,PUTRES.REL,CANCEL.REL,GD.REL,GC.REL,PD.REL,PC.REL,FLOAT.REL LIBOL.REL
@APPEND FIX.REL,CDD.REL,MOVE.REL,EXPON.REL,COMPD.REL LIBOL.REL
@APPEND CMP.REL,SPAC.REL,ZERC.REL,ALF.REL,PNZ.REL,NUM.REL,DSPFP.REL,DIV11.REL LIBOL.REL
@APPEND DPDIV.REL,DPADD.REL,DPSUB.REL,DPMUL.REL,MAGNEG.REL,SUBSCR.REL,TODAY.REL LIBOL.REL
@APPEND SIZE1.REL,SIZ23.REL,EXAM.REL,EDIT.REL,PERF.REL,COVRLY.REL,METIO.REL LIBOL.REL
@APPEND KEY.REL,KPROG.REL,DSORT.REL,SETRET.REL,COBFUN.REL,EASTBL.REL,ALBSTB.REL,DEBSTB.REL LIBOL.REL
@APPEND EDITB.REL,NUBSTB.REL,NTBSTB.REL,LCM20.REL,USRDSL.REL,USRDSH.REL,RESOLV.REL LIBOL.REL
@APPEND SYS:MACREL.REL LIBOL.REL
!
!
!SEE IF WE NEED TO INCLUDE REAL SORT
NORMIO::
@ERROR %
@VDIR SBUILD:SRTCBL.REL
@IF (ERROR) @GOTO NOSORT
@ERROR
@MAKLIB
*LIBOL.REL=LIBOL.REL/MAST:SORT,SBUILD:SRTCBL.REL/REP:SORT
@IF (ERROR) @GOTO TRUBLE
!
NOSORT::
@ERROR
!
!SEE IF WE NEED TO INCLUDE REAL DBMS MODULES
@ERROR %
@VDIR DBMBLD:DBSCOB.REL
@IF (ERROR) @GOTO NODBMS
!
@ERROR
QCOBOL::	!FROM DBMS.CTL
!
@ERROR
!
!ADD THE DBMS MODULES TO LIBOL.REL
!
@MAKLIB
*CBDSTP.TMP=LIBOL/EXTRACT:(%DBSTP,DBSTP$)	;[1056]
*LIBOL=LIBOL/DELETE:RESOLV
*LIBOL=LIBOL/DELETE:RSVGAT
*LIBOL=LIBOL/DELETE:%DBSTP			;[1056]
*LIBOL=LIBOL/DELETE:DBSTP$			;[1056]
*COBFUN.TMP=LIBOL/EXTR:COBFUN
*LIBOL=LIBOL/DELETE:COBFUN
*LIBOL=LIBOL,DBMBLD:DBSCOB/APPEND,DBS20/APPEND,DSK:COBFUN.TMP/APPEND, -
*DBMBLD:DBSANY/APPEND,SCHIO2/APPEND,DSK:CBDSTP.TMP/APPEND		;[1056]
@IF (ERROR) @GOTO TRUBLE
*LIBOL=LIBOL/INDEX
@IF (ERROR) @GOTO TRUBLE
!
@DEL CBDSTP.TMP,COBFUN.TMP			;[1056]
!
@LINK
*@L12C6D.CMD
@IF (ERROR) @GOTO TRUBLE
@SAVE DSK:LIBO12 0 1,400 777			;[1101]
@IF (ERROR) @GOTO TRUBLE
!
!!!	LIBRARIES SO BIG MAKE SURE OLD COPY WENT AWAY
@EXPUNGE
@IF (ERROR)!
@GOTO GLOB
!
NODBMS::
@ERROR
!
!INDEX LIBOL.REL
!
@MAKLIB
*LIBOL.REL=LIBOL.REL/INDEX
@IF (ERROR) @GOTO TRUBLE
!
!
!CREATE LIBO12.EXE
!
@LINK
*@L12C68
@IF (ERROR) @GOTO TRUBLE
@INFO MEM
@EXAMINE 600000
@IF (ERROR) @GOTO TRUBLE !WRONG VERSION OF PA1050 USED
!
!NOW SAVE IT. NOTE WE MUST GET RID OF PAGE 400 (A LINK BUG)
!BUT SAVE PAGE 0 AS IT MAKES IT EASIER TO PATCH
!
@SAVE DSK:LIBO12 0 1,400 777			;[1101]
@IF (ERROR) @GOTO TRUBLE
!
GLOB::
@GLOB
@IF (ERROR) @GOTO NEXT !GLOB IS NOT SUPPORTED
*LIBSHR,LIBOL
*LIBOL.GLB=
NEXT::
!
!SEE WHAT WE GOT:
@VD DSK:LIBO*.*,LIBSHR.REL,
@CHECK SEQ
@
@IF (ERROR) @ !IGNORE ANY ERRORS.
!
@GOTO DONE
L74::	!COBOL-74 BUILD
!CREATE C74LIB.REL
!
@COPY COBST.REL C74LIB.REL
@APPEND LILOWS.REL,CBLIO.REL,RMSIO.REL,LBLERR.REL,LIBREL.REL,REMOVL.REL,TRACED.REL,LINE.REL,OSTRNG.REL,NSTRNG.REL,LSU.REL C74LIB.REL
@APPEND ACCEPT.REL,ARGS.REL,PUTRES.REL,CANCEL.REL,GD.REL,GC.REL,PD.REL,PC.REL,FLOAT.REL C74LIB.REL
@APPEND FIX.REL,CDD.REL,MOVE.REL,EXPON.REL,COMPD.REL C74LIB.REL
@APPEND CMP.REL,SPAC.REL,ZERC.REL,ALF.REL,PNZ.REL,NUM.REL,DSPFP.REL,DIV11.REL C74LIB.REL
@APPEND DPDIV.REL,DPADD.REL,DPSUB.REL,DPMUL.REL,MAGNEG.REL,SUBSCR.REL,TODAY.REL C74LIB.REL
@APPEND SIZE1.REL,SIZ23.REL,INSPEC.REL,EDIT.REL,PERF.REL,COVRLY.REL,METIO.REL C74LIB.REL
@APPEND KEY.REL,KPROG.REL,DSORT.REL,SETRET.REL,COBFUN.REL,EASTBL.REL,ALBSTB.REL,DEBSTB.REL C74LIB.REL
@APPEND EDITB.REL,NUBSTB.REL,NTBSTB.REL,LCM20.REL,USRDSL.REL,USRDSH.REL,RESOLV.REL C74LIB.REL
@APPEND SYS:MACREL.REL C74LIB.REL
IF (ERROR) @GOTO TRUBLE
!
!SEE IF WE NEED TO INCLUDE REAL SORT
@ERROR %
@VDIR SBUILD:SRTCBL.REL
@IF (ERROR) @GOTO NOSORT
@ERROR
@MAKLIB
*C74LIB.REL=C74LIB.REL/MAST:SORT,SBUILD:SRTCBL.REL/REP:SORT
@IF (ERROR) @GOTO TRUBLE
!
NOSORT::
@ERROR
!
!SEE IF WE NEED TO INCLUDE REAL DBMS MODULES
@ERROR %
@VDIR DBMBLD:DBSCOB.REL
@IF (ERROR) @GOTO NODBMS
!
@ERROR
!
!
QCBL74::	!FROM DBMS.CTL
!
@ERROR
!
@MAKLIB
*CBDSTP.TMP=C74LIB/EXTRACT:(%DBSTP,DBSTP$)	;[1056]
*C74LIB=C74LIB/DELETE:RESOLV
*C74LIB=C74LIB/DELETE:RSVGAT
*C74LIB=C74LIB/DELETE:%DBSTP			;[1056]
*C74LIB=C74LIB/DELETE:DBSTP$			;[1056]
*COBFUN.TMP=C74LIB/EXTR:COBFUN
*C74LIB=C74LIB/DELETE:COBFUN
*C74LIB=C74LIB,DBMBLD:DBSCOB/APPEND,DBS20/APPEND,DSK:COBFUN.TMP/APPEND, -
*DBMBLD:DBSANY/APPEND,SCHIO2/APPEND,DSK:CBDSTP.TMP/APPEND		;[1056]
@IF (ERROR) @GOTO TRUBLE
*C74LIB=C74LIB/INDEX
@IF (ERROR) @GOTO TRUBLE
!
@DEL CBDSTP.TMP,COBFUN.TMP			;[1056]
!
@LINK
*@L12C7D.CMD
@IF (ERROR) @GOTO TRUBLE
@SAVE DSK:C74O12 0 1,400 777			;[1101]
@IF (ERROR) @GOTO TRUBLE
!
!!!	LIBRARIES SO BIG MAKE SURE OLD COPY WENT AWAY
@EXPUNGE
@IF (ERROR)!
@GOTO GLOB
!
NODBMS::
@ERROR
!
!INDEX C74LIB.REL
!
@MAKLIB
*C74LIB.REL=C74LIB.REL/INDEX
@IF (ERROR) @GOTO TRUBLE!
!
!CREATE C74O12.EXE
!
@LINK
*@L12C74
@IF (ERROR) @GOTO TRUBLE
@INFO MEM
@EXAMINE 600000
@IF (ERROR) @GOTO TRUBLE !WRONG VERSION OF PA1050 USED
!
!NOW SAVE IT. NOTE WE MUST GET RID OF PAGE 400 (A LINK BUG)
!BUT SAVE PAGE 0 AS IT MAKES IT EASIER TO PATCH
!
@SAVE DSK:C74O12 0 1,400 777			;[1101]
@IF (ERROR) @GOTO TRUBLE
!
GLOB::
@GLOB
@IF (ERROR) @GOTO NEXT !GLOB IS NOT SUPPORTED
*C74SHR,C74LIB
*C74OTS.GLB=
!
NEXT::
!
!SEE WHAT WE GOT:
@VD DSK:C74*.*,
@CHECK SEQ
@
@IF (ERROR) @ !IGNORE ANY ERRORS.
@GOTO DONE
DONE::	!ALL DONE
@CHKPNT CK2K
CK2K::
@ERROR
@TAKE COBOL.CMD
@IF (ERROR) !IGNORE IT
!
!
!DELETE UNNEEDED FILES
!
@DELETE CHREQV.REL,COBASM.REL,COMUNI.REL,FLGDF.REL,FTDEFS.REL,INTERM.REL,LBLPRM.REL,NUMEQV.REL,METUNV.REL
@DELETE COBST.REL,CBLIO.REL,LIBREL.REL,REMOVL.REL,TRACED.REL,LINE.REL,OSTRNG.REL,NSTRNG.REL,LSU.REL,LILOWS.REL
@DELETE ACCEPT.REL,ARGS.REL,PUTRES.REL,CANCEL.REL,GD.REL,GC.REL,PD.REL,PC.REL,FLOAT.REL
@DELETE FIX.REL,CDD.REL,MOVE.REL,EXPON.REL,COMPD.REL
@DELETE CMP.REL,SPAC.REL,ZERC.REL,ALF.REL,PNZ.REL,NUM.REL,DSPFP.REL,DIV11.REL
@DELETE DPDIV.REL,DPADD.REL,DPSUB.REL,DPMUL.REL,MAGNEG.REL,SUBSCR.REL,TODAY.REL
@DELETE SIZE1.REL,SIZ23.REL,EXAM.REL,INSPEC.REL,EDIT.REL,PERF.REL,COVRLY.REL,METIO.REL
@DELETE KEY.REL,KPROG.REL,LBLERR.REL,DSORT.REL,SETRET.REL,COBFUN.REL,EASTBL.REL,ALBSTB.REL,DEBSTB.REL
@DELETE EDITB.REL,NUBSTB.REL,NTBSTB.REL,LCM20.REL,USRDSL.REL,USRDSH.REL,RESOLV.REL
@RU COBTST
*ANS74
@IF (ERROR) @GOTO SKPRMI
@DELETE RMSIO.REL
SKPRMI::
@IF (ERROR)	!ERRORS DELETING LIBOL FILES.
!
!TELL THE OPERATOR HOW WE DID.
!
@PLEASE -- LIBOL CREATION SUCCESSFUL
@EXP
@MODIFY BATCH */DEPEND:-1
@GOTO OK
%ERR::
TRUBLE:: @PLEASE -- LIBOL CREATION UNSUCCESSFUL!!!!!!!
@GOTO OK
TOPS10::
!
!REQUIRED FILES:
!		(LATEST RELEASED VERSIONS)
!
!SYS:		COMPIL.EXE
!		CREF.EXE
!		DIRECT.EXE
!		GLOB.EXE
!		LINK.EXE+LNK???.EXE
!		MACRO.EXE
!		MAKLIB.EXE
!		PIP.EXE
!
!UNV:		MACTEN.UNV
!		UUOSYM.UNV
!
![SELF]	LIBOL.CTL	COBASM.MAC
!
!CS:	ACCEPT.MAC	ALBSTB.MAC	ALF.MAC		ARGS.MAC
!	CANCEL.MAC	CBLIO.MAC	CDD.MAC		CHREQV.MAC
!	CMP.MAC		COBFUN.MAC	COBST.MAC	COBVER.MAC
!	COMPD.MAC	COMUNI.MAC	COPYRT.MAC	COPYRT.TXT
!	COVRLY.MAC	DSORT.MAC	DEBSTB.MAC	DIV11.MAC
!	DPADD.MAC	DPDIV.MAC	DPMUL.MAC	DPSUB.MAC
!	DSPFP.MAC	EASTBL.MAC	EDIT.MAC	EDITB.MAC
!	EXAM.MAC	EXPON.MAC	FIX.MAC		FLGDF.MAC
!	FLOAT.MAC	FTDEFS.MAC	GC.MAC		GD.MAC
!	INSPEC.MAC	INTERM.MAC	KEY.MAC		KPROG.MAC
!	LBLERR.MAC	LBLPRM.MAC	LCM10.MAC	LCMIPC.MAC
!	LIBREL.MAC	LIBSHR.MAC	LILOWS.MAC	LINE.MAC
!	LSU.MAC		MAGNEG.MAC	METIO.MAC	METUNV.MAC
!	MOVE.MAC	NSTRNG.MAC	NTBSTB.MAC	NUBSTB.MAC
!	NUM.MAC		NUMEQV.MAC	OSTRNG.MAC	PC.MAC
!	PD.MAC		PERF.MAC	PNZ.MAC		PUTRES.MAC
!	REMOVL.MAC	RESOLV.MAC	RMSIO.MAC	SETRET.MAC
!	SIZ23.MAC	SIZE1.MAC
!	SPAC.MAC	SUBSCR.MAC	TODAY.MAC	TRACED.MAC
!	USRDSP.MAC	ZERC.MAC
!
!TO TEST THE FEATURES TEST SWITCH SETTINGS THE FOLLOWING IS REQUIRED:
!
!			COBTST.MAC
!
!OUTPUT:		LIBOL.LOG
!	-68		LIBOL.REL	LIBO12.EXE	LIBOL.GLB
!	-74		C74LIB.REL	C74O12.EXE	C74OTS.GLB
!
!MAKE A RECORD OF WHAT IS BEING USED.
.CHKPNT CK1A
CK1A::
.ERROR
.SET WATCH VERSION
!SET UP THE DEFAULT LOGICAL NAMES
!
.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
!
!SEE WHAT WE ARE USING
.R DIRECT
*TTY:=/CHECKSUM/WIDTH:90 SYS:PIP.EXE,MACRO.EXE,DIRECT.EXE,COMPIL.EXE,CREF.EXE,GLOB.EXE,MAKLIB.EXE,UUOSYM.UNV,MACTEN.UNV
.IF (ERROR) . !IGNORE ANY ERRORS.
.R DIRECT
*TTY:=/CHECKSUM/WIDTH:90 DSK:COBASM.MAC,CS:COBVER.MAC,COPYRT.MAC,COPYRT.TXT,INTERM.MAC,LBLPRM.MAC,COMUNI.MAC,CHREQV.MAC,NUMEQV.MAC,FTDEFS.MAC,FLGDF.MAC,METUNV.MAC
*TTY:=/CHECKSUM/WIDTH:90 CS:LILOWS.MAC,COBST.MAC,CBLIO.MAC,LIBREL.MAC,REMOVL.MAC,TRACED.MAC,LINE.MAC,OSTRNG.MAC,NSTRNG.MAC,LSU.MAC
*TTY:=/CHECKSUM/WIDTH:90 CS:ACCEPT.MAC,ARGS.MAC,PUTRES.MAC,CANCEL.MAC,GD.MAC,GC.MAC,PD.MAC,PC.MAC,FLOAT.MAC
*TTY:=/CHECKSUM/WIDTH:90 CS:FIX.MAC,CDD.MAC,MOVE.MAC,EXPON.MAC,COMPD.MAC
*TTY:=/CHECKSUM/WIDTH:90 CS:CMP.MAC,SPAC.MAC,ZERC.MAC,ALF.MAC,PNZ.MAC,NUM.MAC,DSPFP.MAC,DIV11.MAC
*TTY:=/CHECKSUM/WIDTH:90 CS:DPDIV.MAC,DPADD.MAC,DPSUB.MAC,DPMUL.MAC,MAGNEG.MAC,SUBSCR.MAC,TODAY.MAC
*TTY:=/CHECKSUM/WIDTH:90 CS:SIZE1.MAC,SIZ23.MAC,EXAM.MAC,INSPEC.MAC,EDIT.MAC,PERF.MAC,COVRLY.MAC
*TTY:=/CHECKSUM/WIDTH:90 CS:KEY.MAC,KPROG.MAC,LBLERR.MAC,DSORT.MAC,SETRET.MAC,COBFUN.MAC,EASTBL.MAC,ALBSTB.MAC,DEBSTB.MAC
*TTY:=/CHECKSUM/WIDTH:90 CS:EDITB.MAC,NUBSTB.MAC,NTBSTB.MAC,LCM10.MAC,LCMIPC.MAC,METIO.MAC,USRDSP.MAC,RESOLV.MAC
*TTY:=/CHECKSUM/WIDTH:90 LIBOL.CTL
*TTY:=/CHECKSUM/WIDTH:90 SB:SRTCBL.REL
.IF (ERROR) . !IGNORE ANY ERRORS.
!ASSEMBLE SOURCES:
!
!ASSEMBLE THE UNIVERSALS FIRST.
.TYPE LISTEM.MAC
.IF (ERROR) .GOTO NOLIS1
!
!HERE FOR CREF LISTINGS
!
.R MACRO
*COPYRT,COPYRT/C=COPYRT
*COBASM,COBASM/C=COBASM
*INTERM,INTERM/C=INTERM
*COBVER,COBVER/C=COBVER
*COMUNI,COMUNI/C=COMUNI
*FTDEFS,FTDEFS/C=FTDEFS
*LBLPRM,LBLPRM/C=LBLPRM
*CHREQV,CHREQV/C=CHREQV
*NUMEQV,NUMEQV/C=NUMEQV
*FLGDF,FLGDF/C=FLGDF
*METUNV,METUNV/C=METUNV
!GET MACRO AGAIN OR TOO MANY UNIVERSALS MESSAGE
.R MACRO
*COBTST=COBTST
!
! LOAD THE FEATURE TEST SWITCH TESTER
!
.R LINK
*COBTST/GO
.SAVE COBTST
.IF (ERROR) .GOTO TRUBLE
!
!
!NOW WE CAN ASSEMBLE THE SOURCES.
.CHKPNT CK1B
CK1B::
.ERROR
.SET WATCH VERSION
!SET UP THE DEFAULT LOGICAL NAMES
!
.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
.R MACRO
*ACCEPT,ACCEPT/C=ACCEPT
*ALBSTB,ALBSTB/C=ALBSTB
*ALF,ALF/C=ALF
*ARGS,ARGS/C=ARGS
*CANCEL,CANCEL/C=CANCEL
*CBLIO,CBLIO/C=CBLIO
.IF (ERROR) .GOTO TRUBLE
!
.CHKPNT CK1C
CK1C::
.ERROR
.SET WATCH VERSION
!SET UP THE DEFAULT LOGICAL NAMES
!
.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
.R MACRO
*CDD,CDD/C=CDD
*CMP,CMP/C=CMP
*COBFUN,COBFUN/C=COBFUN
*COBST,COBST/C=COBST
*COMPD,COMPD/C=COMPD
*COVRLY,COVRLY/C=COVRLY
*DSORT,DSORT/C=DSORT
*DEBSTB,DEBSTB/C=EBSTB
*DIV11,DIV11/C=DIV11
*DPADD,DPADD/C=DPADD
*DPDIV,DPDIV/C=DPDIV
*DPMUL,DPMUL/C=DPMUL
*DPSUB,DPSUB/C=DPSUB
*DSPFP,DSPFP/C=DSPFP
.R MACRO	!OR TOO MANY UNIVERSALS MESSAGE
*EASTBL,EASTBL/C=EASTBL
*EDIT,EDIT/C=EDIT
*EDITB,EDITB/C=EDITB
*EXAM,EXAM/C=EXAM
*EXPON,EXPON/C=EXPON
*FIX,FIX/C=FIX
*FLOAT,FLOAT/C=FLOAT
*GC,GC/C=GC
*GD,GD/C=GD
*INSPEC,INSPEC/C=INSPEC
*KEY,KEY/C=KEY
*KPROG,KPROG/C=KPROG
.R MACRO !TOO MANY UNIVERSALS OTHERWISE
*LBLERR,LBLERR/C=LBLERR
*LCM10,LCM10/C=LCM10
*LCMIPC,LCMIPC/C=LCMIPC
*LIBREL,LIBREL/C=LIBREL
.RUN COBTST
*ANS68
.IF (ERROR) .GOTO L74	!COBOL-74
.R MACRO
*LIBSHR,LIBSHR/C=LIBSHR
.GOTO NEXT
L74::
.R MACRO
*C74SHR,LIBSHR/C=LIBSHR
NEXT::
.IF (ERROR) .GOTO TRUBLE
!
!
.CHKPNT CK1D
CK1D::
.ERROR
.SET WATCH VERSION
!SET UP THE DEFAULT LOGICAL NAMES
!
.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
.R MACRO
*LILOWS,LILOWS/C=LILOWS
*LINE,LINE/C=LINE
*LSU,LSU/C=LSU
*MAGNEG,MAGNEG/C=MAGNEG
*METIO,METIO/C=METIO
*MOVE,MOVE/C=MOVE
*NUM,NUM/C=NUM
*NTBSTB,NTBSTB/C=NTBSTB
*NUBSTB,NUBSTB/C=NUBSTB
*PC,PC/C=PC
*PERF,PERF/C=PERF
*PNZ,PNZ/C=PNZ
*PUTRES,PUTRES/C=PUTRES
*REMOVL,REMOVL/C=REMOVL
*RESOLV,RESOLV/C=RESOLV
.RUN COBTST
*ANS74
.IF (ERROR) .GOTO SKPRSI
.R MACRO
*RMSIO,RMSIO/C=RMSIO
SKPRSI::
.R MACRO
*SETRET,SETRET/C=SETRET
*SIZ23,SIZ23/C=SIZ23
*SIZE1,SIZE1/C=SIZE1
*SPAC,SPAC/C=SPAC
*OSTRNG,OSTRNG/C=OSTRNG
*NSTRNG,NSTRNG/C=NSTRNG
*SUBSCR,SUBSCR/C=SUBSCR
*TODAY,TODAY/C=TODAY
*TRACED,TRACED/C=TRACED
*USRDSH,USRDSH/C=TTY:,DSK:USRDSP
*SHR==1
=
=
*USRDSL,USRDSL/C=USRDSP
*ZERC,ZERC/C=ZERC
.IF (ERROR) .GOTO TRUBLE
!
!CREF THE SOURCES
.CHKPNT CK1E
CK1E::
.SET WATCH VERSION
.R CREF
*DSK:COPYRT.LZT=COPYRT
*DSK:COBASM.LZT=COBASM
*DSK:INTERM.LZT=INTERM
*DSK:COBVER.LZT=COBVER
*DSK:COMUNI.LZT=COMUNI
*DSK:FTDEFS.LZT=FTDEFS
*DSK:LBLPRM.LZT=LBLPRM
*DSK:CHREQV.LZT=CHREQV
*DSK:NUMEQV.LZT=NUMEQV
*DSK:FLGDF.LZT=FLGDF
*DSK:METUNV.LZT=METUNV
*DSK:ACCEPT.LZT=ACCEPT
*DSK:ALBSTB.LZT=ALBSTB
*DSK:ALF.LZT=ALF
*DSK:ARGS.LZT=ARGS
*DSK:CANCEL.LZT=CANCEL
*DSK:CBLIO.LZT=CBLIO
*DSK:CDD.LZT=CDD
*DSK:CMP.LZT=CMP
*DSK:COBFUN.LZT=COBFUN
*DSK:COBST.LZT=COBST
*DSK:COMPD.LZT=COMPD
*DSK:COVRLY.LZT=COVRLY
*DSK:DSORT.LZT=DSORT
*DSK:DEBSTB.LZT=DEBSTB
*DSK:DIV11.LZT=DIV11
*DSK:DPADD.LZT=DPADD
*DSK:DPDIV.LZT=DPDIV
*DSK:DPMUL.LZT=DPMUL
*DSK:DPSUB.LZT=DPSUB
*DSK:DSPFP.LZT=DSPFP
*DSK:EASTBL.LZT=EASTBL
*DSK:EDIT.LZT=EDIT
*DSK:EDITB.LZT=EDITB
*DSK:EXAM.LZT=EXAM
*DSK:EXPON.LZT=EXPON
*DSK:FIX.LZT=FIX
*DSK:FLOAT.LZT=FLOAT
*DSK:GC.LZT=GC
*DSK:GD.LZT=GD
*DSK:INSPEC.LZT=INSPEC
*DSK:KEY.LZT=KEY
*DSK:KPROG.LZT=KPROG
*DSK:LBLERR.LZT=LBLERR
*DSK:LCM10.LZT=LCM10
*DSK:LCMIPC.LZT=LCMIPC
*DSK:LIBREL.LZT=LIBREL
*DSK:LIBSHR.LZT=LIBSHR
*DSK:LILOWS.LZT=LILOWS
*DSK:LINE.LZT=LINE
*DSK:LSU.LZT=LSU
*DSK:MAGNEG.LZT=MAGNEG
*DSK:METIO.LZT=METIO
*DSK:MOVE.LZT=MOVE
*DSK:NUM.LZT=NUM
*DSK:NTBSTB.LZT=NTBSTB
*DSK:NUBSTB.LZT=NUBSTB
*DSK:PC.LZT=PC
*DSK:PD.LZT=PD
*DSK:PERF.LZT=PERF
*DSK:PNZ.LZT=PNZ
*DSK:PUTRES.LZT=PUTRES
*DSK:REMOVL.LZT=REMOVL
*DSK:RESOLV.LZT=RESOLV
.RUN COBTST
*ANS74
.IF (ERROR) .GOTO SKPRSI
.R CREF
*DSK:RMSIO.LZT=RMSIO
SKPRSI::
.R CREF
*DSK:SETRET.LZT=SETRET
*DSK:SIZ23.LZT=SIZ23
*DSK:SIZE1.LZT=SIZE1
*DSK:SPAC.LZT=SPAC
*DSK:OSTRNG.LZT=OSTRNG
*DSK:NSTRNG.LZT=NSTRNG
*DSK:SUBSCR.LZT=SUBSCR
*DSK:TODAY=TODAY
*DSK:TRACED.LZT=TRACED
*DSK:USRDSH.LZT=USRDSH
*DSK:USRDSL.LZT=USRDSL
*DSK:ZERC.LZT=ZERC
.IF (ERROR) .!TROUBLE CREATING .LZT FILES
.GOTO DONCRF
NOLIS1::
!HERE FOR NO CREF LISTINGS
.R MACRO
*COPYRT=COPYRT
*COBASM=COBASM
*INTERM=INTERM
*COBVER=COBVER
*COMUNI=COMUNI
*FTDEFS=FTDEFS
*LBLPRM=LBLPRM
*CHREQV=CHREQV
*NUMEQV=NUMEQV
*FLGDF=FLGDF
*METUNV=METUNV
!GET MACRO AGAIN OR TOO MANY UNIVERSALS MESSAGE
.R MACRO
*COBTST=COBTST
!
! LOAD THE FEATURE TEST SWITCH TESTER
!
.R LINK
*COBTST/GO
.SAVE COBTST
.IF (ERROR) .GOTO TRUBLE
.CHKPNT CK1F
CK1F::
.ERROR
.SET WATCH VERSION
!SET UP THE DEFAULT LOGICAL NAMES
!
.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
.R MACRO
*ACCEPT=ACCEPT
*ALBSTB=ALBSTB
*ALF=ALF
*ARGS=ARGS
*CANCEL=CANCEL
*CBLIO=CBLIO
.IF (ERROR) .GOTO TRUBLE
!
.CHKPNT CK1G
CK1G::
.ERROR
.SET WATCH VERSION
!SET UP THE DEFAULT LOGICAL NAMES
!
.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
.R MACRO
*CDD=CDD
*CMP=CMP
*COBFUN=COBFUN
*COBST=COBST
*COMPD=COMPD
*COVRLY=COVRLY
*DSORT=DSORT
*DEBSTB=DEBSTB
*DIV11=DIV11
*DPADD=DPADD
*DPDIV=DPDIV
*DPMUL=DPMUL
*DPSUB=DPSUB
*DSPFP=DSPFP
.R MACRO
*EASTBL=EASTBL
*EDIT=EDIT
*EDITB=EDITB
*EXAM=EXAM
*EXPON=EXPON
*FIX=FIX
*FLOAT=FLOAT
*GC=GC
*GD=GD
*INSPEC=INSPEC
*KEY=KEY
*KPROG=KPROG
.R MACRO !TOO MANY UNIVERSALS OTHERWISE
*LBLERR=LBLERR
*LCM10=LCM10
*LCMIPC=LCMIPC
*LIBREL=LIBREL
.RUN COBTST
*ANS68
.IF (ERROR) .GOTO L74	!COBOL-74
.R MACRO
*LIBSHR=LIBSHR
.GOTO NEXT
L74::
.R MACRO
*C74SHR=LIBSHR
NEXT::
.IF (ERROR) .GOTO TRUBLE
!
.CHKPNT CK1H
CK1H::
.ERROR
.SET WATCH VERSION
!SET UP THE DEFAULT LOGICAL NAMES
!
.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
.R MACRO
*LILOWS=LILOWS
*LINE=LINE
*LSU=LSU
*MAGNEG=MAGNEG
*METIO=METIO
*MOVE=MOVE
*NUM=NUM
*NTBSTB=NTBSTB
*NUBSTB=NUBSTB
*PC=PC
*PD=PD
*PERF=PERF
*PNZ=PNZ
*PUTRES=PUTRES
*REMOVL=REMOVL
*RESOLV=RESOLV
.RUN COBTST
*ANS74
.IF (ERROR) .GOTO SKPRSI
.R MACRO
*RMSIO=RMSIO
SKPRSI::
.R MACRO
*SETRET=SETRET
*SIZ23=SIZ23
*SIZE1=SIZE1
*SPAC=SPAC
*OSTRNG=OSTRNG
*NSTRNG=NSTRNG
*SUBSCR=SUBSCR
*TODAY=TODAY
*TRACED=TRACED
*USRDSH=TTY:,DSK:USRDSP
*SHR==1
=
=
*USRDSL=USRDSP
*ZERC=ZERC
.IF (ERROR) .GOTO TRUBLE
.GOTO DONCRF
DONCRF::
!
! APPEND THE COPYRIGHT STATEMENT TO ALL THE UNV FILES TO PROTECT THEM
!
.COPY COPYRT.UNV=COPYRT.UNV,COPYRT.TXT
.COPY COBASM.UNV=COBASM.UNV,COPYRT.TXT
.COPY INTERM.UNV=INTERM.UNV,COPYRT.TXT
.COPY COBVER.UNV=COBVER.UNV,COPYRT.TXT
.COPY COMUNI.UNV=COMUNI.UNV,COPYRT.TXT
.COPY FTDEFS.UNV=FTDEFS.UNV,COPYRT.TXT
.COPY LBLPRM.UNV=LBLPRM.UNV,COPYRT.TXT
.COPY CHREQV.UNV=CHREQV.UNV,COPYRT.TXT
.COPY NUMEQV.UNV=NUMEQV.UNV,COPYRT.TXT
.COPY FLGDF.UNV=FLGDF.UNV,COPYRT.TXT
!
.CHKPNT CK1J
CK1J::
.ERROR
.SET WATCH VERSION
!
!SEE IF COBOL-68 OR COBOL-74
!
.RUN COBTST
*ANS68
.IF (ERROR) .GOTO L74	!COBOL-74
!
!CREATE LIBOL.REL
!
.R PIP
*LIBOL.REL/B=COBST.REL,LILOWS.REL,CBLIO.REL,LBLERR.REL,LIBREL.REL,REMOVL.REL,TRACED.REL,LINE.REL,OSTRNG.REL,NSTRNG.REL,LSU.REL
*LIBOL.REL/B=LIBOL.REL,ACCEPT.REL,ARGS.REL,PUTRES.REL,CANCEL.REL,GD.REL,GC.REL,PD.REL,PC.REL,FLOAT.REL
*LIBOL.REL/B=LIBOL.REL,FIX.REL,CDD.REL,MOVE.REL,EXPON.REL,COMPD.REL
*LIBOL.REL/B=LIBOL.REL,CMP.REL,SPAC.REL,ZERC.REL,ALF.REL,PNZ.REL,NUM.REL,DSPFP.REL,DIV11.REL
*LIBOL.REL/B=LIBOL.REL,DPDIV.REL,DPADD.REL,DPSUB.REL,DPMUL.REL,MAGNEG.REL,SUBSCR.REL,TODAY.REL
*LIBOL.REL/B=LIBOL.REL,SIZE1.REL,SIZ23.REL,EXAM.REL,EDIT.REL,PERF.REL,COVRLY.REL,METIO.REL
*LIBOL.REL/B=LIBOL.REL,KEY.REL,KPROG.REL,DSORT.REL,SETRET.REL,COBFUN.REL,EASTBL.REL,ALBSTB.REL,DEBSTB.REL
*LIBOL.REL/B=LIBOL.REL,EDITB.REL,NUBSTB.REL,NTBSTB.REL,LCM10.REL,LCMIPC.REL,USRDSL.REL,USRDSH.REL,RESOLV.REL
.IF (ERROR) .GOTO TRUBLE
!
!SEE IF WE NEED TO INCLUDE REAL SORT
.ERROR %
.DIR SRTCBL.REL
.IF (ERROR) .GOTO NOSORT
.ERROR
.R MAKLIB
*LIBOL.REL=LIBOL.REL/MAST:SORT,SRTCBL.REL/REP:SORT
.IF (ERROR) .GOTO TRUBLE
!
NOSORT::
.ERROR
!
!INDEX LIBOL.REL
!
.R MAKLIB
*LIBOL.REL=LIBOL.REL/INDEX
.IF (ERROR) .GOTO TRUBLE
!
!
!CREATE LIBO12.EXE
!
.R LINK
*LIBOL.MAP/MAP=LIBSHR,LIBOL/SEARCH/GO
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:LIBO12
.IF (ERROR) .GOTO TRUBLE
!
!CREATE LIBOL.GLB
!
.R GLOB
*LIBOL.GLB=LIBSHR.REL,LIBOL.REL
.IF (ERROR) .GOTO TRUBLE
!SEE WHAT WE GOT:
.R DIRECT
*TTY:=/CHECKSUM/WIDTH:90 LIB???.*,*.UNV
.IF (ERROR) . !IGNORE ANY ERRORS.
!
.GOTO DONE
L74::	!COBOL-74 BUILD
!CREATE C74LIB.REL & C74OTS
!
.R PIP
*C74LIB.REL/B=COBST.REL,LILOWS.REL,CBLIO.REL,RMSIO.REL,LBLERR.REL,LIBREL.REL,REMOVL.REL,TRACED.REL,LINE.REL,OSTRNG.REL,NSTRNG.REL,LSU.REL
*C74LIB.REL/B=C74LIB.REL,ACCEPT.REL,ARGS.REL,PUTRES.REL,CANCEL.REL,GD.REL,GC.REL,PD.REL,PC.REL,FLOAT.REL
*C74LIB.REL/B=C74LIB.REL,FIX.REL,CDD.REL,MOVE.REL,EXPON.REL,COMPD.REL
*C74LIB.REL/B=C74LIB.REL,CMP.REL,SPAC.REL,ZERC.REL,ALF.REL,PNZ.REL,NUM.REL,DSPFP.REL,DIV11.REL
*C74LIB.REL/B=C74LIB.REL,DPDIV.REL,DPADD.REL,DPSUB.REL,DPMUL.REL,MAGNEG.REL,SUBSCR.REL,TODAY.REL
*C74LIB.REL/B=C74LIB.REL,SIZE1.REL,SIZ23.REL,INSPEC.REL,EDIT.REL,PERF.REL,COVRLY.REL,METIO.REL
*C74LIB.REL/B=C74LIB.REL,KEY.REL,KPROG.REL,DSORT.REL,SETRET.REL,COBFUN.REL,EASTBL.REL,ALBSTB.REL,DEBSTB.REL
*C74LIB.REL/B=C74LIB.REL,EDITB.REL,NUBSTB.REL,NTBSTB.REL,LCM10.REL,LCMIPC.REL,USRDSL.REL,USRDSH.REL,RESOLV.REL
.IF (ERROR) .GOTO TRUBLE
!
!SEE IF WE NEED TO INCLUDE REAL SORT
.ERROR %
.DIR SRTCBL.REL
.IF (ERROR) .GOTO NOSORT
.ERROR
.R MAKLIB
*C74LIB.REL=C74LIB.REL/MAST:SORT,SRTCBL.REL/REP:SORT
.IF (ERROR) .GOTO TRUBLE
!
NOSORT::
.ERROR
!
!INDEX C74LIB.REL
!
.R MAKLIB
*C74LIB.REL=C74LIB.REL/INDEX
.IF (ERROR) .GOTO TRUBLE
!
!
!CREATE C74O12.EXE
!
.R LINK
*C74OTS.MAP/MAP=C74SHR,C74LIB/SEARCH/GO
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:C74O12
.IF (ERROR) .GOTO TRUBLE
!
!CREATE C74OTS.GLB
!
.R GLOB
*C74OTS.GLB=C74SHR.REL,C74LIB.REL
.IF (ERROR) .GOTO TRUBLE
!SEE WHAT WE GOT:
.R DIRECT
*TTY:=/CHECKSUM/WIDTH:90 C74???.*,*.UNV
.IF (ERROR) . !IGNORE ANY ERRORS.
!
.GOTO DONE
DONE::	!ALL DONE
.CHKPNT CK1K
CK1K::
.ERROR
.SET WATCH VERSION
!SET UP THE DEFAULT LOGICAL NAMES
!
.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
!
!DELETE LIBOL REL FILES NO LONGER NEEDED
!
.R PIP
*DSK:/D=COBASM.REL,COMUNI.REL,INTERM.REL,LBLPRM.REL,CHREQV.REL,NUMEQV.REL,FTDEFS.REL,FLGDF.REL,METUNV.REL
*DSK:/D=LILOWS.REL,COBST.REL,CBLIO.REL,LIBREL.REL,REMOVL.REL,TRACED.REL,LINE.REL,OSTRNG.REL,NSTRNG.REL,LSU.REL
*DSK:/D=ACCEPT.REL,ARGS.REL,PUTRES.REL,CANCEL.REL,GD.REL,GC.REL,PD.REL,PC.REL,FLOAT.REL
*DSK:/D=FIX.REL,CDD.REL,MOVE.REL,EXPON.REL,COMPD.REL
*DSK:/D=CMP.REL,SPAC.REL,ZERC.REL,ALF.REL,PNZ.REL,NUM.REL,DSPFP.REL,DIV11.REL
*DSK:/D=DPDIV.REL,DPADD.REL,DPSUB.REL,DPMUL.REL,MAGNEG.REL,SUBSCR.REL,TODAY.REL
*DSK:/D=SIZE1.REL,SIZ23.REL,EXAM.REL,INSPEC.REL,EDIT.REL,PERF.REL,COVRLY.REL,METIO.REL
*DSK:/D=KEY.REL,KPROG.REL,LBLERR.REL,DSORT.REL,SETRET.REL,COBFUN.REL,EASTBL.REL,ALBSTB.REL,DEBSTB.REL
*DSK:/D=EDITB.REL,NUBSTB.REL,NTBSTB.REL,LCM10.REL,LCMIPC.REL,USRDSL.REL,USRDSH.REL,RESOLV.REL
.RUN COBTST
*ANS74
.IF (ERROR) .GOTO SKPRSI
.R PIP
*DSK:/D=RMSIO.REL
SKPRSI::
.IF (ERROR)	. !TOO BAD
!
!
!TELL THE OPERATOR HOW WE DID.
!
.PLEASE -- LIBOL CREATION SUCCESSFUL
!
!WE CANNOT MIX GALAXY 2 AND GALAXY 4.1
!SO
.DEAS SYS
.IF (ERROR) !
!
.SUB INP:*=/MODIFY/DEPEND:-1
.GOTO OK
%ERR::
TRUBLE:: .PLEASE -- LIBOL CREATION UNSUCCESSFUL!!!!!!!
OK::!END OF LIBOL.CTL