MSE 
.PROC,MSE*I,\ 
SAVELIB ' SAVE MSELIB AS PERMANENT FILE        '=(*N=,NO=,YES,*K=YES),
*CALL COMPC 
*CALL COMUSER 
*CALL COMLIST 
*CALL COMTOB
*CALL COMIA 
*CALL COMTOL
*CALL COMXOPL 
*CALL COMPROC 
. 
  
* MSE 
*CALL     PSRLEV
* 
  
.*****  MSE 
.*      INSTALLATION INSTRUCTIONS:  
  
.***    INVOCATION
.*      BEGIN,MSE,INSTALL.
.*         THE MSE LIBRARY CAN BE PRESERVED AS A DIRECT ACCESS FILE 
.*         NAMED MSELIB BY SPECIFYING THE KEYWORD *SAVELIB*.
.*         FOR EXAMPLE, BEGIN,MSE,INSTALL,SAVELIB.
  
.***    INPUT.
.*         OPL_PSROUT. (OPL999)  NOS COMPOSITE OPL. 
  
.***    OUTPUT: 
.*         BINARIES ADDED TO FILE *PRODUCT*.
.*         FILES MSE,MSECON AND MSESLAV ARE REPLACED
  
.***    DEPENDENCIES: 
.*           *SYMPL* MUST BE BUILT FIRST. 
  
  
.*
.*  START MSE VIA SUBPROC.
.*
BEGIN(SUBPROC,INSTALL,MSE,,LIST,MAPTYPE,IA,TOBLD,TOLIST,USERF)
REVERT.        MSE. 
EXIT. 
REVERT(ABORT)  MSE. 
  
  
.DATA,ZZZPROC 
.PROC,MSE.
*CALL     PSRLEV
BEGIN(MODIFYX,INSTALL)    MAKE PROPER MODIFY1 PROC LOCAL
BEGIN(PRDAUX,INSTALL,PRDNAME=OPL,#PNO=PN99,#PRO=PR99) 
RENAME(OPL=AUXPL) 
  
BEGIN(GETULIB,INSTALL,SYSLIB,SYMLIB,FORTRAN,BAMLIB,SRT5LIB) 
  
IFE($SAVELIB$.EQ.$YES$,A) 
PURGE(MSELIB,MSEMAP,SSSLBIN,SSEXBIN,SWAPMSE,M86BIN,M86LIB/NA) 
DEFINE(MSELIB,MSEMAP,SSSLBIN,SSEXBIN,SWAPMSE,M86BIN,M86LIB) 
ENDIF(A)
  
NOTE(MODIR,NR)+*EDIT MAC1,MAC2
BEGIN(,MODIFY1,A) 
COMPASS(A,I,S=NOSTEXT,S=SSYTEXT,S=PSSTEXT,B=M86BIN,L=LIST)
NOTE(MODIR,NR)+*EDIT M86FORM,M86SERV
BEGIN(,MODIFY1) 
SYMPL(ET=T,I,B=M86BIN,L=LIST) 
LIBGEN(F=M86BIN,P=M86LIB,NX=0)
  
NOTE(MODIR,NR)+*EDIT 1SS.EORSS15
BEGIN(,MODIFY1) 
COMPASS(A,I,S=NOSTEXT,L=LIST)  1SS
COMPASS(A,I,S=NOSTEXT,S=PSSTEXT,B=LIB,L=LIST)  GMSG-SETQP 
COMPASS(A,I,S=NOSTEXT,S=PSSTEXT,B=LIB,L=LIST)  SSOVL-SSARG
COMPASS(A,I,S=NOSTEXT,B=SSEXBIN,L=LIST)  SSEXEC 
COMPASS(A,I,S=NOSTEXT,B=SSSLBIN,L=LIST)  SSSLV
SYMPL(ET=T,I,B=LIB,L=LIST)  ACCCAT-SSINIT 
SYMPL(ET=T,I,B=LIB,L=LIST)  SSALTER 
SYMPL(ET=T,I,B=LIB,L=LIST)  SSBLD 
SYMPL(ET=T,I,B=LIB,L=LIST)  SSDEBUG 
SYMPL(ET=T,I,B=LIB,L=LIST)  SSDEF 
SYMPL(ET=T,I,B=LIB,L=LIST)  SSLABEL 
SYMPL(ET=T,I,B=LIB,L=LIST)  SSMOVE
SYMPL(ET=T,I,B=LIB,L=LIST)  SSUSE 
SYMPL(ET=T,I,B=LIB,L=LIST)  SSVAL 
SYMPL(ET=T,I,B=LIB,L=LIST)  EXDRVR-SX3UCP 
LIBGEN(F=LIB,P=MSELIB)
  
GTR(SYMLIB,SWAPREL)REL/SYMSM$ 
GTR(M86BIN,SWAPREL)REL/ABEND
GTR(LIB,SWAPREL)REL/DOZER 
GTR(M86BIN,SWAPREL)REL/MEMORY,MESSAGE 
GTR(LIB,SWAPREL)REL/MNGMEM
GTR(LIB,SWAPREL)REL/SLAVERP 
GTR(M86BIN,SWAPREL)REL/READ,RECALL,REWIND,RTIME 
GTR(M86BIN,SWAPREL)REL/SETJCI 
GTR(M86BIN,SWAPREL)REL/PDATE,ZFILL,BZFILL 
GTR(LIB,SWAPREL)REL/SWAPPER 
GTR(M86BIN,SWAPREL)REL/ZSETFET
GTR(LIB,SWAPREL)REL/SSOVL 
LIBGEN(F=SWAPREL,P=SWAPMSE) 
UNLOAD(SWAPREL) 
  
LDSET(LIB=MSELIB/M86LIB/SYSLIB,ERR=ALL,PRESET=ZERO,MAP=/MSEMAP) 
LIBLOAD(MSELIB,SSALTER) 
NOGO(LGO,SSALTER,$SSJ=$)
  
LDSET(LIB=MSELIB/M86LIB/SYSLIB,ERR=ALL,PRESET=ZERO,MAP=/MSEMAP) 
LIBLOAD(MSELIB,SSBLD) 
NOGO(LGO,SSBLD,$SSJ=$)
  
LDSET(LIB=MSELIB/M86LIB/SYSLIB,ERR=ALL,PRESET=ZERO,MAP=/MSEMAP) 
LIBLOAD(MSELIB,SSDEBUG) 
NOGO(LGO,SSDEBUG,$SSJ=$)
  
LDSET(LIB=MSELIB/M86LIB/SYSLIB,ERR=ALL,PRESET=ZERO,MAP=/MSEMAP) 
LIBLOAD(MSELIB,SSDEF) 
NOGO(LGO,SSDEF,$SSJ=$)
  
LDSET(LIB=MSELIB/M86LIB/SYSLIB,ERR=ALL,PRESET=ZERO,MAP=/MSEMAP) 
LIBLOAD(MSELIB,SSLABEL) 
NOGO(LGO,SSLABEL,$SSJ=$)
  
LDSET(LIB=MSELIB/M86LIB/SYSLIB,ERR=ALL,PRESET=ZERO,MAP=/MSEMAP) 
LIBLOAD(MSELIB,SSMOVE)
NOGO(LGO,SSMOVE,$SSJ=$) 
  
LDSET(LIB=MSELIB/M86LIB/SYSLIB,ERR=ALL,PRESET=ZERO,MAP=/MSEMAP) 
LIBLOAD(MSELIB,SSUSE) 
NOGO(LGO,SSUSE,$SSJ=$,$ARG=$) 
  
LDSET(LIB=MSELIB/M86LIB/SYSLIB,ERR=ALL,PRESET=ZERO,MAP=/MSEMAP) 
LIBLOAD(MSELIB,SSVAL) 
NOGO(LGO,SSVAL,$SSJ=$)
  
LDSET(LIB=SYSLIB/SWAPMSE/MSELIB/M86LIB,ERR=ALL,PRESET=ZERO) 
LDSET(MAP=/MSEMAP)
LOAD(SSEXBIN) 
NOGO(LGO,SSEXEC,$SSJ=$) 
  
LDSET(LIB=MSELIB/M86LIB/SYSLIB,ERR=ALL,PRESET=ZERO,MAP=/MSEMAP) 
LOAD(SSSLBIN) 
NOGO(LGO,SSSLV,$SSJ=$)
UNLOAD(MSELIB,SWAPMSE,SSEXBIN,SSSLBIN,LIB,M86LIB) 
  
NOTE(MODIR,NR)+*EDIT MSE,EOR1,MSESLAV,EOR2,MSECONF
BEGIN(,MODIFY1) 
COPYBR(COMPILE,MSE) 
COPYBR(COMPILE,MSESLAV) 
COPYBR(COMPILE,MSECONF) 
REPLACE(MSE,MSESLAV,MSECONF)
BEGIN(PFGOUT,INSTALL,PRDNAME=MSE1,LFN=COMPILE)
.IF, ( R1G .NE. 0 ) ,GENPL. 
RETURN,NEWPL. 
GTR,OPL,ZZZ.OPLC/COPYRT,OPLC/COMBFAS-OPL/ISHARED
LIBEDIT(P=ZZZ,N=NEWPL,B=0,Z)/*BUILD MSE 
RETURN,ZZZ. 
BEGIN(PRDOUT,INSTALL,PRDNAME=MSE1,#PNO=PN99,#PRO=PR99)
.ENDIF(GENPL) 
  
BEGIN(#SAVELIB,INSTALL,LIB=M86BIN,LIBNAME=M86LIB) 
BEGIN(GENDIR,INSTALL,LIB=37)
BEGIN(SAVELGO,INSTALL,PRDNAME=MSE1) 
BEGIN(END,INSTALL,MFT=R1G+) 
REVERT.        MSE ************************************ 
EXIT. 
REVERT(ABORT)  MSE ************************************ 
*WEOR 
