Trailing-Edge
-
PDP-10 Archives
-
ap-c800d-sb
-
libol.ctm
There are 5 other files named libol.ctm in the archive. Click here to see a list.
!LIBOL.CTL COBOL-68 & COBOL-74 V12A
!
!USED TO MAKE LIBOL OR 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:30:0
!
!THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
! OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
!
!COPYRIGHT (C) 1979 BY DIGITAL EQUIPMENT CORPORATION
!
!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
!IF THIS FILE IS ABSENT THEN ALL REQUIRED FILES ARE ASSUMED TO EXIST ON DSK:
!
!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
!THEN PUT IT IN DSK WITH THE NAME SRTCBL.REL
!
!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> MACRO.EXE
! MAKLIB.EXE
! LINK.EXE
! CREF.EXE
! PA1050.EXE
! MACSYM.UNV
! MONSYM.UNV
! UUOSYM.UNV
!
!<RELEASE 4> MACREL.REL
!
!<UNSUPPORTED> GLOB.EXE
!
!<SELF> LIBOL.CTL
! ACCEPT.MAC ALBSTB.MAC ALF.MAC ARGS.MAC
! CANCEL.MAC CBLIO.MAC CDD.MAC CHREQV.MAC
! CMP.MAC CMPX.MAC COBASM.MAC COBFUN.MAC
! COBST.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
! LBLPRM.MAC LCM20.MAC LIBREL.MAC LIBSHR.MAC
! LILOWS.MAC LINE.MAC LSU.MAC MAGNEG.MAC
! METIO.MAC METUNV.MAC MOVE.MAC NTBSTB.MAC
! NUBSTB.MAC NUM.MAC NUMEQV.MAC PC.MAC
! PD.MAC PERF.MAC PNZ.MAC PUTRES.MAC
! REMOVL.MAC RESOLV.MAC SETRET.MAC SIZ23.MAC
! SIZE1.MAC SPAC.MAC STRNGL.MAC SUBSCR.MAC
! TODAY.MAC TRACED.MAC USRDSP.MAC ZERC.MAC
!
! TCSINT.UNV TCSSYM.UNV
!
!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
!
@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,DSK:MACREL.REL,
@CHECK SEQ
@
!
@VD COBASM.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,CMPX.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,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,SETRET.MAC,SIZ23.MAC,SIZE1.MAC,
@CHECK SEQ
@
@VD SPAC.MAC,STRNGL.MAC,SUBSCR.MAC,TODAY.MAC,TRACED.MAC,USRDSP.MAC,ZERC.MAC,TCSINT.UNV,TCSSYM.UNV,
@CHECK SEQ
@
@VD LIBOL.CTL,SRTCBL.REL,
@CHECK SEQ
@
!
!ASSEMBLE SOURCES:
!
!ASSEMBLE THE UNIVERSALS FIRST.
@ERROR %
@TYPE LISTEM.MAC
@IF (ERROR) @GOTO NOLIS1
@ERROR
!
!HERE FOR CREF LISTINGS
!
@MACRO
*COBASM,COBASM/C=COBASM
*FTDEFS,FTDEFS/C=FTDEFS
*INTERM,INTERM/C=INTERM
*LBLPRM,LBLPRM/C=LBLPRM
*COMUNI,COMUNI/C=COMUNI
*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
*CMPX,CMPX/C=CMPX
*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
*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
*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
@MACRO
!
!
@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
*SETRET,SETRET/C=SETRET
*SIZ23,SIZ23/C=SIZ23
*SIZE1,SIZE1/C=SIZE1
*SPAC,SPAC/C=SPAC
*STRNGL,STRNGL/C=STRNGL
*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:COBASM.LZT=COBASM
*DSK:FTDEFS.LZT=FTDEFS
*DSK:INTERM.LZT=INTERM
*DSK:LBLPRM.LZT=LBLPRM
*DSK:COMUNI.LZT=COMUNI
*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:CMPX.LZT=CMPX
*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: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
*DSK:SETRET.LZT=SETRET
*DSK:SIZ23.LZT=SIZ23
*DSK:SIZE1.LZT=SIZE1
*DSK:SPAC.LZT=SPAC
*DSK:STRNGL.LZT=STRNGL
*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
*COBASM=COBASM
*FTDEFS=FTDEFS
*INTERM=INTERM
*LBLPRM=LBLPRM
*COMUNI=COMUNI
*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
*CMPX=CMPX
*COBFUN=COBFUN
*COBST=COBST
*COMPD=COMPD
*COVRLY=COVRLY
*DSORT=DSORT
*DEBSTB=DEBSTB
*DIV11=DIV11
*DPADD=DPADD
*DPDIV=DPDIV
*DPMUL=DPMUL
*DPSUB=DPSUB
*DSPFP=DSPFP
*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
*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
*SETRET=SETRET
*SIZ23=SIZ23
*SIZE1=SIZE1
*SPAC=SPAC
*STRNGL=STRNGL
*SUBSCR=SUBSCR
*TODAY=TODAY
*TRACED=TRACED
*USRDSH=TTY:,DSK:USRDSP
*SHR==1
=
=
*USRDSL=USRDSP
*ZERC=ZERC
@IF (ERROR) @GOTO TRUBLE
@GOTO DONCRF
DONCRF::
@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,STRNGL.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,CMPX.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,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 COBASM.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
!
!CREATE LIBOL.REL
!
@COPY LILOWS.REL LIBOL.REL
@APPEND COBST.REL,CBLIO.REL,LIBREL.REL,REMOVL.REL,TRACED.REL,LINE.REL,STRNGL.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,CMPX.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,INSPEC.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 MACREL.REL LIBOL.REL
!
!
!SEE IF WE NEED TO INCLUDE REAL SORT
@ERROR %
@VDIR SRTCBL.REL
@IF (ERROR) @GOTO NOSORT
@ERROR
@MAKLIB
*LIBOL.REL=LIBOL.REL/MAST:SORT,SRTCBL.REL/REP:SORT
@IF (ERROR) @GOTO TRUBLE
!
NOSORT::
@ERROR
!
!INDEX LIBOL.REL
!
@MAKLIB
*LIBOL.REL=LIBOL.REL/INDEX
@IF (ERROR) @GOTO TRUBLE
!
!
!CREATE LIBO12.EXE
!
@LINK
*LIBOL.MAP/MAP=/NOLOCAL LIBSHR,DSK:MACREL/SEG:HIGH,LIBOL/SEARCH,/SYMSEG:HIGH/GO
@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,600 675
@IF (ERROR) @GOTO TRUBLE
!
@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 LILOWS.REL C74LIB.REL
@APPEND COBST.REL,CBLIO.REL,LIBREL.REL,REMOVL.REL,TRACED.REL,LINE.REL,STRNGL.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,CMPX.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,EXAM.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 MACREL.REL C74LIB.REL
IF (ERROR) @GOTO TRUBLE
!
!SEE IF WE NEED TO INCLUDE REAL SORT
@ERROR %
@VDIR SRTCBL.REL
@IF (ERROR) @GOTO NOSORT
@ERROR
@MAKLIB
*C74LIB.REL=C74LIB.REL/MAST:SORT,SRTCBL.REL/REP:SORT
@IF (ERROR) @GOTO TRUBLE
!
NOSORT::
@ERROR
!
!INDEX C74LIB.REL
!
@MAKLIB
*C74LIB.REL=C74LIB.REL/INDEX
@IF (ERROR) @GOTO TRUBLE!
!
!CREATE C74O12.EXE
!
@LINK
*C74OTS.MAP/MAP=/NOLOCAL C74SHR,DSK:MACREL/SEG:HIGH,C74LIB/SEARCH,/SYMSEG:HIGH/GO
@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,532 677
@SAVE DSK:C74O12 0 1,600 675
@IF (ERROR) @GOTO TRUBLE
!
@GLOB
@IF (ERROR) @GOTO NEXT !GLOB IS NOT SUPPORTED
*C74SHR,C74LIB
*C74OTS.GLB=
!
!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,STRNGL.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,CMPX.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,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
@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:
!DEC: (LATEST RELEASED VERSIONS)
! PIP.EXE
! MACRO.EXE
! MAKLIB.EXE
! DIRECT.EXE
! CREF.EXE
! GLOB.EXE
! LINK.EXE+LNK???.EXE
! UUOSYM.UNV
! MACTEN.UNV
!
![SELF] LIBOL.CTL COBASM.MAC
!
!SRC: ACCEPT.MAC ALBSTB.MAC ALF.MAC ARGS.MAC
! CANCEL.MAC CBLIO.MAC CDD.MAC CHREQV.MAC
! CMP.MAC CMPX.MAC COBFUN.MAC
! COBST.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
! LBLPRM.MAC LCM10.MAC LCMIPC.MAC
! LIBREL.MAC LIBSHR.MAC LILOWS.MAC LINE.MAC
! LSU.MAC MAGNEG.MAC METIO.MAC METUNV.MAC
! MOVE.MAC NTBSTB.MAC
! NUBSTB.MAC NUM.MAC NUMEQV.MAC PC.MAC
! PD.MAC PERF.MAC PNZ.MAC PUTRES.MAC
! REMOVL.MAC RESOLV.MAC SETRET.MAC SIZ23.MAC
! SIZE1.MAC SPAC.MAC STRNGL.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
.ASSIGN DEC: UNV:
.ASSIGN DSK: SRC:
.ASSIGN DSK: C68:
.ASSIGN DSK: C74:
!
!CHANGE THEM IF USER SO DESIRES
.RUN DEC:SETSRC
*LIB:[10,131001]
.ASS LIB: SRC:
.
.IF (ERROR) !IGNORE IT
!
!SEE WHAT WE ARE USING
.RUN DEC:DIRECT
*TTY:=/CHECKSUM/WIDTH:90 DEC:PIP.EXE,MACRO.EXE,DIRECT.EXE,COMPIL.EXE,CREF.EXE,GLOB.EXE,MAKLIB.EXE,UUOSYM.UNV,MACTEN.UNV
.IF (ERROR) . !IGNORE ANY ERRORS.
.RUN DEC:DIRECT
*TTY:=/CHECKSUM/WIDTH:90 DSK:COBASM.MAC,SRC:INTERM.MAC,LBLPRM.MAC,COMUNI.MAC,CHREQV.MAC,NUMEQV.MAC,FTDEFS.MAC,FLGDF.MAC,METUNV.MAC
*TTY:=/CHECKSUM/WIDTH:90 SRC:LILOWS.MAC,COBST.MAC,CBLIO.MAC,LIBREL.MAC,REMOVL.MAC,TRACED.MAC,LINE.MAC,STRNGL.MAC,LSU.MAC
*TTY:=/CHECKSUM/WIDTH:90 SRC:ACCEPT.MAC,ARGS.MAC,PUTRES.MAC,CANCEL.MAC,GD.MAC,GC.MAC,PD.MAC,PC.MAC,FLOAT.MAC
*TTY:=/CHECKSUM/WIDTH:90 SRC:FIX.MAC,CDD.MAC,MOVE.MAC,EXPON.MAC,COMPD.MAC,CMPX.MAC
*TTY:=/CHECKSUM/WIDTH:90 SRC:CMP.MAC,SPAC.MAC,ZERC.MAC,ALF.MAC,PNZ.MAC,NUM.MAC,DSPFP.MAC,DIV11.MAC
*TTY:=/CHECKSUM/WIDTH:90 SRC:DPDIV.MAC,DPADD.MAC,DPSUB.MAC,DPMUL.MAC,MAGNEG.MAC,SUBSCR.MAC,TODAY.MAC
*TTY:=/CHECKSUM/WIDTH:90 SRC:SIZE1.MAC,SIZ23.MAC,EXAM.MAC,INSPEC.MAC,EDIT.MAC,PERF.MAC,COVRLY.MAC
*TTY:=/CHECKSUM/WIDTH:90 SRC:KEY.MAC,KPROG.MAC,DSORT.MAC,SETRET.MAC,COBFUN.MAC,EASTBL.MAC,ALBSTB.MAC,DEBSTB.MAC
*TTY:=/CHECKSUM/WIDTH:90 SRC:EDITB.MAC,NUBSTB.MAC,NTBSTB.MAC,LCM10.MAC,LCMIPC.MAC,METIO.MAC,USRDSP.MAC,RESOLV.MAC
*TTY:=/CHECKSUM/WIDTH:90 LIBOL.CTL,SRTCBL.REL
.IF (ERROR) . !IGNORE ANY ERRORS.
!ASSEMBLE SOURCES:
!
!ASSEMBLE THE UNIVERSALS FIRST.
.TYPE LISTEM.MAC
.IF (ERROR) .GOTO NOLIS1
!
!HERE FOR CREF LISTINGS
!
.RUN DEC:MACRO
*COBASM,COBASM/C=COBASM
*FTDEFS,FTDEFS/C=FTDEFS
*INTERM,INTERM/C=INTERM
*LBLPRM,LBLPRM/C=LBLPRM
*COMUNI,COMUNI/C=COMUNI
*CHREQV,CHREQV/C=CHREQV
*NUMEQV,NUMEQV/C=NUMEQV
*FLGDF,FLGDF/C=FLGDF
*METUNV,METUNV/C=METUNV
!GET MACRO AGAIN OR TOO MANY UNIVERSALS MESSAGE
.RUN DEC:MACRO
*COBTST=COBTST
!
! LOAD THE FEATURE TEST SWITCH TESTER
!
.RUN DEC: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
.ASSIGN DEC: UNV:
.ASSIGN DSK: SRC:
.ASSIGN DSK: C68:
.ASSIGN DSK: C74:
!
!CHANGE THEM IF USER SO DESIRES
.RUN DEC:SETSRC
*LIB:[10,131001]
.ASS LIB: SRC:
.
.IF (ERROR) !IGNORE IT
.RUN DEC: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
.ASSIGN DEC: UNV:
.ASSIGN DSK: SRC:
.ASSIGN DSK: C68:
.ASSIGN DSK: C74:
!
!CHANGE THEM IF USER SO DESIRES
.RUN DEC:SETSRC
*LIB:[10,131001]
.ASS LIB: SRC:
.
.IF (ERROR) !IGNORE IT
.RUN DEC:MACRO
*CDD,CDD/C=CDD
*CMP,CMP/C=CMP
*CMPX,CMPX/C=CMPX
*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
*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
.RUN DEC:MACRO !TOO MANY UNIVERSALS OTHERWISE
*LCM10,LCM10/C=LCM10
*LCMIPC,LCMIPC/C=LCMIPC
*LIBREL,LIBREL/C=LIBREL
.RUN COBTST
*ANS68
.IF (ERROR) .GOTO L74 !COBOL-74
.RUN DEC:MACRO
*LIBSHR,LIBSHR/C=LIBSHR
.GOTO NEXT
L74::
.RUN DEC:MACRO
*C74SHR,LIBSHR/C=LIBSHR
NEXT::
.IF (ERROR) .GOTO TRUBLE
!
!
.CHKPNT CK1D
CK1D::
.ERROR
.SET WATCH VERSION
!SET UP THE DEFAULT LOGICAL NAMES
.ASSIGN DEC: UNV:
.ASSIGN DSK: SRC:
.ASSIGN DSK: C68:
.ASSIGN DSK: C74:
!
!CHANGE THEM IF USER SO DESIRES
.RUN DEC:SETSRC
*LIB:[10,131001]
.ASS LIB: SRC:
.
.IF (ERROR) !IGNORE IT
.RUN DEC: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
*SETRET,SETRET/C=SETRET
*SIZ23,SIZ23/C=SIZ23
*SIZE1,SIZE1/C=SIZE1
*SPAC,SPAC/C=SPAC
*STRNGL,STRNGL/C=STRNGL
*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
.RUN DEC:CREF
*DSK:COBASM.LZT=COBASM
*DSK:FTDEFS.LZT=FTDEFS
*DSK:INTERM.LZT=INTERM
*DSK:LBLPRM.LZT=LBLPRM
*DSK:COMUNI.LZT=COMUNI
*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:CMPX.LZT=CMPX
*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: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
*DSK:SETRET.LZT=SETRET
*DSK:SIZ23.LZT=SIZ23
*DSK:SIZE1.LZT=SIZE1
*DSK:SPAC.LZT=SPAC
*DSK:STRNGL.LZT=STRNGL
*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
.RUN DEC:MACRO
*COBASM=COBASM
*FTDEFS=FTDEFS
*INTERM=INTERM
*LBLPRM=LBLPRM
*COMUNI=COMUNI
*CHREQV=CHREQV
*NUMEQV=NUMEQV
*FLGDF=FLGDF
*METUNV=METUNV
!GET MACRO AGAIN OR TOO MANY UNIVERSALS MESSAGE
.RUN DEC:MACRO
*COBTST=COBTST
!
! LOAD THE FEATURE TEST SWITCH TESTER
!
.RUN DEC:LINK
*COBTST/GO
.SAVE COBTST
.IF (ERROR) .GOTO TRUBLE
.CHKPNT CK1F
CK1F::
.ERROR
.SET WATCH VERSION
!SET UP THE DEFAULT LOGICAL NAMES
.ASSIGN DEC: UNV:
.ASSIGN DSK: SRC:
.ASSIGN DSK: C68:
.ASSIGN DSK: C74:
!
!CHANGE THEM IF USER SO DESIRES
.RUN DEC:SETSRC
*LIB:[10,131001]
.ASS LIB: SRC:
.
.IF (ERROR) !IGNORE IT
.RUN DEC: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
.ASSIGN DEC: UNV:
.ASSIGN DSK: SRC:
.ASSIGN DSK: C68:
.ASSIGN DSK: C74:
!
!CHANGE THEM IF USER SO DESIRES
.RUN DEC:SETSRC
*LIB:[10,131001]
.ASS LIB: SRC:
.
.IF (ERROR) !IGNORE IT
.RUN DEC:MACRO
*CDD=CDD
*CMP=CMP
*CMPX=CMPX
*COBFUN=COBFUN
*COBST=COBST
*COMPD=COMPD
*COVRLY=COVRLY
*DSORT=DSORT
*DEBSTB=DEBSTB
*DIV11=DIV11
*DPADD=DPADD
*DPDIV=DPDIV
*DPMUL=DPMUL
*DPSUB=DPSUB
*DSPFP=DSPFP
*EASTBL=EASTBL
*EDIT=EDIT
*EDITB=EDITB
*EXAM=EXAM
*EXPON=EXPON
*FIX=FIX
*FLOAT=FLOAT
*GC=GC
*GD=GD
*INSPEC=INSPEC
*KEY=KEY
*KPROG=KPROG
.RUN DEC:MACRO !TOO MANY UNIVERSALS OTHERWISE
*LCM10=LCM10
*LCMIPC=LCMIPC
*LIBREL=LIBREL
.RUN COBTST
*ANS68
.IF (ERROR) .GOTO L74 !COBOL-74
.RUN DEC:MACRO
*LIBSHR,LIBSHR/C=LIBSHR
.GOTO NEXT
L74::
.RUN DEC:MACRO
*C74SHR,LIBSHR/C=LIBSHR
NEXT::
.IF (ERROR) .GOTO TRUBLE
!
.CHKPNT CK1H
CK1H::
.ERROR
.SET WATCH VERSION
!SET UP THE DEFAULT LOGICAL NAMES
.ASSIGN DEC: UNV:
.ASSIGN DSK: SRC:
.ASSIGN DSK: C68:
.ASSIGN DSK: C74:
!
!CHANGE THEM IF USER SO DESIRES
.RUN DEC:SETSRC
*LIB:[10,131001]
.ASS LIB: SRC:
.
.IF (ERROR) !IGNORE IT
.RUN DEC: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
*SETRET=SETRET
*SIZ23=SIZ23
*SIZE1=SIZE1
*SPAC=SPAC
*STRNGL=STRNGL
*SUBSCR=SUBSCR
*TODAY=TODAY
*TRACED=TRACED
*USRDSH=TTY:,DSK:USRDSP
*SHR==1
=
=
*USRDSL=USRDSP
*ZERC=ZERC
.IF (ERROR) .GOTO TRUBLE
.GOTO DONCRF
DONCRF::
.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
!
.RUN DEC:PIP
*LIBOL.REL/B=LILOWS.REL,COBST.REL,CBLIO.REL,LIBREL.REL,REMOVL.REL,TRACED.REL,LINE.REL,STRNGL.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,CMPX.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,INSPEC.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
.RUN DEC:MAKLIB
*LIBOL.REL=LIBOL.REL/MAST:SORT,SRTCBL.REL/REP:SORT
.IF (ERROR) .GOTO TRUBLE
!
NOSORT::
.ERROR
!
!INDEX LIBOL.REL
!
.RUN DEC:MAKLIB
*LIBOL.REL=LIBOL.REL/INDEX
.IF (ERROR) .GOTO TRUBLE
!
!
!CREATE LIBO12.EXE
!
.RUN DEC:LINK
*LIBO12.MAP/MAP=LIBSHR,LIBOL/SEARCH/GO
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:LIBO12
.IF (ERROR) .GOTO TRUBLE
!
!CREATE LIBOL.GLB
!
.RUN DEC:GLOB
*LIBOL.GLB=LIBSHR.REL,LIBOL.REL
.IF (ERROR) .GOTO TRUBLE
!SEE WHAT WE GOT:
.RUN DEC:DIRECT
*TTY:=/CHECKSUM/WIDTH:90 LIB???.*,*.UNV
.IF (ERROR) . !IGNORE ANY ERRORS.
!
.GOTO DONE
L74:: !COBOL-74 BUILD
!CREATE C74LIB.REL & C74OTS
!
.RUN DEC:PIP
*C74LIB.REL/B=LILOWS.REL,COBST.REL,CBLIO.REL,LIBREL.REL,REMOVL.REL,TRACED.REL,LINE.REL,STRNGL.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,CMPX.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,EXAM.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
.RUN DEC:MAKLIB
*C74LIB.REL=C74LIB.REL/MAST:SORT,SRTCBL.REL/REP:SORT
.IF (ERROR) .GOTO TRUBLE
!
NOSORT::
.ERROR
!
!INDEX C74LIB.REL
!
.RUN DEC:MAKLIB
*C74LIB.REL=C74LIB.REL/INDEX
.IF (ERROR) .GOTO TRUBLE
!
!
!CREATE C74O12.EXE
!
.RUN DEC:LINK
*C74OTS.MAP/MAP=C74SHR,C74LIB/SEARCH/GO
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:C74O12
.IF (ERROR) .GOTO TRUBLE
!
!CREATE C74OTS.GLB
!
.RUN DEC:GLOB
*C74OTS.GLB=C74SHR.REL,C74LIB.REL
.IF (ERROR) .GOTO TRUBLE
!SEE WHAT WE GOT:
.RUN DEC: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
.ASSIGN DEC: UNV:
.ASSIGN DSK: SRC:
.ASSIGN DSK: C68:
.ASSIGN DSK: C74:
!
!CHANGE THEM IF USER SO DESIRES
.RUN DEC:SETSRC
*LIB:[10,131001]
.ASS LIB: SRC:
.
.IF (ERROR) !IGNORE IT
!
!DELETE LIBOL REL FILES NO LONGER NEEDED
!
.RUN DEC: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,STRNGL.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,CMPX.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,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
.IF (ERROR) . !TOO BAD
!
!
!TELL THE OPERATOR HOW WE DID.
!
.PLEASE -- LIBOL CREATION SUCCESSFUL
.SUB INP:*=/MODIFY/DEPEND:-1
.GOTO OK
%ERR::
TRUBLE:: .PLEASE -- LIBOL CREATION UNSUCCESSFUL!!!!!!!
OK::!END OF LIBOL.CTL