; HSTBLD ; ====== ; ; .; Command file to taskbuild the HOST Debugger. It can either be run .; independently or be called from DLV1. If run independently, .; the user will be asked several questions concerning his environment. .; .enable substitution .disable lowercase .gosub setcli .; .if P1 ne "" .goto gotuic .getuic: ; .asks RTSUIC Which directory contains the run-time libraries .testfile 'RTSUIC'RTLEXC.OLB .if ne 1 .goto getuic .sets P1 RTSUIC .gotuic: ; .if P2 ne "" .goto gotprt .asks [::"GEN"] P2 In which partition is the debugger to run .gotprt: ; .if P4 ne "" .goto gotrsx .sets P4 "M" .ask MPLUS Will the debugger run in separate I- & D- spaces .ift MPLUS .sets P4 "MPLUS" .gotrsx: ; .if P4 eq "M" .sets P3 "MEM" .if P3 ne "" .goto gotfcs .sets P3 "LIB" .ask FCS Should the debugger use memory-resident FCS (default is library) .ift FCS .sets P3 "MEM" .gotfcs: .; .sets MEMLIB "" .if P3 eq "LIB" .goto nomlib .if P5 ne "" .goto gottyp .settyp: .sets P5 "FCSRES" .if P4 ne "MPLUS" .goto gottyp ; .asks TYP Build the debugger using FCSRES or FCSFSL (enter RES or FSL) .sets P5 "FCS"+TYP .gottyp: .if P5 ne "FCSRES" .and .if P5 ne "FCSFSL" .goto settyp .if P5 eq "FCSRES" .sets MEMLIB "LIBR=FCSRES:RO" .if P5 eq "FCSFSL" .sets MEMLIB "SUPLIB=FCSFSL:SV" .nomlib: .; .sets SWITCH "" .if P4 eq "MPLUS" .sets SWITCH "/ID" ; ; Copy run-time libraries into current directory ; pip /nv='p1'rtlexc.olb pip /nv='p1'rsxio.olb pip /nv='p1'rtlrtsrsx.olb ; ; Create the taskbuild file. ; .open #1 hstbld.lnk .enable data #1 HOST.TSK'SWITCH',HOST/-SP=HOST/MP PAR='P2' TASK=...HOST UNITS=8 ASG=TI:1:2:5 ASG=SY:3:4:6:7 .disable data #1 .if P3 eq "MEM" .data #1 'MEMLIB' .data #1 // .close #1 ; ; Build Symbolic Debugger ; tkb @hstbld.lnk .setn exst .if exst ne 1 .goto done ; ; Delete unwanted files ; pip rsxio.olb;0/de pip rtlexc.olb;0/de pip rtlrtsrsx.olb;0/de pip hstbld.lnk;0/de .; .done: 'rstcli' .exit 'exst' .; .; Subroutine to determine current CLI; set it to DCL if possible .; .setcli: .sett isdcl .sets rstcli ";" .sets oldcli "''" .if oldcli eq "DCL" .return .if oldcli ne "MCR" .goto lsc1 .ifnins dcl .setf isdcl .iff isdcl .return .sets rstcli "mcr set /mcr=ti:" .lsc1: dcl set /dcl .if rstcli eq ";" .sets rstcli "set term/cli:"+oldcli .return