.; .; ZSYSLB.LIB NOVEMBER 30, 1984 .; GSD-MODIFIED SYSLIB LIBRARY ROUTINES LIBRARY BUILD COMMAND FILE .; .ENABLE SUBSTITUTION .SETS QUIET ".ENABLE QUIET" .IF P1 <> "" .IF P1 <> "." .SETS QUIET ".;" 'QUIET' .SETS ORIGNL "LB:[1,1]SYSLIB.OLB" .SETS CMD ".TESTFILE "+ORIGNL 'CMD' .IF <> 1 .GOTO ERRXIT .SETS ORIGNL .SETS LIBFIL "SYSLIB.OLB" .SETS CMD ".TESTFILE "+LIBFIL 'CMD' .IF <> 1 .IF <> 346 .GOTO ERRXIT .PARSE "[].;" LDV LIC LFL LXT LVR .TESTFILE SY: .PARSE "[" SY JUNK .IF LDV = SY .SETS LDV "" .SETS LNM LDV+LFL+"."+LXT .SETS LTM LDV+LFL+".TMP" .SETS LIC "['LIC']" .SETS UIC "" .IF = LIC .SETS LIC "" .IF LIC <> "" .SETT CHANGE .IFDF CHANGE .SETS UIC .IFDF CHANGE set /uic='LIC' .;------------------------------------------------------------------ .; .; Make a new copy of the library .; .SETS CMD "pip 'LTM'/nv='ORIGNL'" 'CMD' .IF <> 1 .GOTO ERRXIT .TESTFILE 'LTM' .SETS CURRNT .IF <> 1 .SETS CURRNT LTM+";1" !In case we are /-MCR .;------------------------------------------------------------------ .; .; Insert all the system modules .; .GOSUB REPLAC ALERR .; .GOSUB REPLAC AUTO /-EP .; .GOSUB REPLAC AUTOT .GOSUB DELGBL $ALBPL:$ALBP1:$ALBP2 .; .GOSUB REPLAC AUTOUT /-EP" .; .GOSUB REPLAC ENTRAP .; .GOSUB DELGBL .NFAST .GOSUB REPLAC EXDAT .GOSUB DELGBL .NFAST .; .GOSUB REPLAC EXRES /SS .GOSUB DELGBL N.OVLY:N.STBL:N.IOST:N.ALER:N.SZSG .GOSUB DELGBL N.FAST:N.RDSG:N.MRKS:N.AUTO .; .GOSUB REPLAC FCSVEC /-EP .; .GOSUB REPLAC OVDAT .; .GOSUB DELGBL $MARDC:$MARDR:$MARDS:$MARKC:$MARKR:$MARKS!:$RDSEG! .GOSUB REPLAC OVIDA .GOSUB DELGBL $MARDC:$MARDE:$MARDR:$MARDS:$MARKC:$MARKE:$MARKR:$MARKS .GOSUB DELGBL $RDSEG .; .GOSUB REPLAC OVIDC .GOSUB DELGBL $MARDR:$MARDS:$MARKR:$MARKS:$RDSEG .; .GOSUB REPLAC OVIDR .GOSUB DELGBL $MARDE:$MARDS:$MARKE:$MARKS:$RDSEG .; .GOSUB REPLAC OVIDE .GOSUB DELGBL $MARDS:$MARKS:$RDSEG .; .GOSUB REPLAC OVIDL .GOSUB DELGBL $MARKA:$MARKC:$MARKE:$MARKR:$MARKS:$RDSEG .; .GOSUB REPLAC OVCTA .GOSUB DELGBL $MARKC:$MARKE:$MARKR:$MARKS:$RDSEG .; .GOSUB REPLAC OVCTC .GOSUB DELGBL $MARKR:$MARKS:$RDSEG .; .GOSUB REPLAC OVCTR .GOSUB DELGBL $MARKE:$MARKS:$RDSEG .; .GOSUB REPLAC OVCTE .GOSUB DELGBL $MARKS:$RDSEG .; .GOSUB REPLAC OVCTL .GOSUB DELGBL $RDSEG .; .GOSUB REPLAC OVRES /SS .; .GOTO CLNUP .;------------------------------------------------------------------ .; .; INSERT .; Insert A Module In The Library .; .INSERT: .SETS LOPERN "/in" .GOTO INSREP .;------------------------------------------------------------------ .; .; REPLAC .; Replace A Module In The Library .; .REPLAC: .SETS LOPERN "/rp" .INSREP: .PARSE COMMAN " " FILE SWITCH .TESTFILE 'UIC''FILE'.OBJ .IF <> 1 .GOTO MISSNG .SETS CMD "lbr "+LTM+LOPERN+SWITCH+"="+UIC+FILE 'CMD' .IF <> 1 .GOTO ERRXIT .IFDF CHANGE set /uic='UIC' pip 'FILE'.obj;*/de .IFDF CHANGE set /uic='LIC' .RETURN .;------------------------------------------------------------------ .; .; DELETE .; Delete A Module From The Library .; .DELETE: .SETS LOPERN "/de:" .GOTO DELCMN .;------------------------------------------------------------------ .; .; DELGBL .; Delete A Symbol From The Library .; .DELGBL: .SETS LOPERN "/dg:" .DELCMN: .PARSE COMMAN " " NAME .SETS CMD "lbr "+LTM+LOPERN+NAME 'CMD' .IF <> 1 .GOSUB ERROR .RETURN .;------------------------------------------------------------------ .; .; INSTAL .; Install a Layered Product Run-Time Library of objects .; .INSTAL: .PARSE COMMAN " " RLIB RMOD .IF RMOD <> "" .SETS RMOD ":"+RMOD .IFDF CHANGE set /uic='UIC' .TESTFILE 'RLIB' .IF <> 1 .GOTO MISSNG .PARSE "[].;" RDV RIC RFL RXT RVR .SETS RIC "['RIC']" .IF RDV = SY .SETS RDV "" .IF RIC = UIC .SETS RIC "" .SETS RNM RDV+RIC+RFL+"."+RXT .SETS ROB RFL+".OBS" .SETS CMD "lbr "+ROB+"="+RNM+"/ex"+RMOD 'CMD' .IF <> 1 .GOTO ERRXIT .IFDF CHANGE set /uic='LIC' .SETS CMD "lbr "+LTM+"/in="+UIC+ROB 'CMD' .IF <> 1 .GOTO ERRXIT .IFDF CHANGE set /uic='UIC' pip 'ROB';*/de .IFDF CHANGE set /uic='LIC' .RETURN .;------------------------------------------------------------------ .; .; Clean Up The Library And Go Away .; .CLNUP: lbr 'LTM'/co='CURRNT' pip 'CURRNT'/de pip 'LNM'/nv/re='LTM' pip 'LNM'/tr pip 'LNM'/pu pip 'LNM';*/fu .GOTO END .;------------------------------------------------------------------ .; .; MISSING FILE HANDLER .; .MISSNG: .SETN EERR .IF EERR > 65280. .SETN EERR EERR-65280. .IF EERR > 128. .IF EERR < 255. .SETN EERR 256.-EERR .SETS F .PARSE F ";" F JUNK .DISABLE QUIET ; ; File 'F' is missing. ; Status = -'EERR'. ; 'QUIET' bell .RETURN .;------------------------------------------------------------------ .; >>>------------>>> Error <<<------------<<< .; .ERROR: .SETN EERR .SETS EM "" .IF EERR > 65280. .SETN EERR EERR-65280. .IF EERR > 128. .IF EERR < 255. .SETS EM "-" .IF EERR > 128. .IF EERR < 255. .SETN EERR 256.-EERR .SETN FERR .SETS FM "" .IF FERR > 65280. .SETN FERR FERR-65280. .IF FERR > 128. .IF FERR < 255. .SETS FM "-" .IF FERR > 128. .IF FERR < 255. .SETN FERR 256.-FERR .DISABLE QUIET ; ; Command = 'CMD' ; Exstat = 'EM''EERR'. ; File = '' ; Filerr = 'FM''FERR'. ; 'QUIET' bell .RETURN .;------------------------------------------------------------------ .; .; ERRXIT .; Print error message and exit .; .ERRXIT: .GOSUB ERROR .;------------------------------------------------------------------ .; .; The end of the matter .; .END: .IFDF CHANGE set /uic='UIC' .EXIT