perm filename SAIL.DO[S,AIL]2 blob sn#179580 filedate 1975-10-03 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00006 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002			How to make or modify SAIL at Stanford
C00004 00003	¬¬DPTYJB3.OUT
C00005 00004	¬¬DPTYJB4.OUT
C00006 00005	¬¬DPTYJB5.OUT
C00007 00006	¬¬DPTYJB6.OUT
C00008 ENDMK
C⊗;
		How to make or modify SAIL at Stanford

To make a new two-segment compiler which supports extended compilation:
	.DO SAIL.DO(3)

To make new libraries (LIBSAn.REL and HLBSAn.REL):
	.DO SAIL.DO(4)

To make a new runtime segment (SAISGn.SEG):
	.DO SAIL.DO(5)

To patch individual routines in the libraries:
	1. Edit page 6 of this file to include the list of the appropriate modules.
	2. .DO SAIL.DO(6)

To patch two-segment compiler which supports extended compilation:
	.ALIAS 1,3	;for convenience in writing out upper segment
	.GET SAIL	;lower only is gotten
	.DDT
	$PATCH G	;gets upper and jumps to RAID
	<make the patch>
	START G	;copies .JBVER to 400004, write protects upper, and
			; writes upper out as SAIL.SEG on current area.
			;You will get a message "SAVE ME!".  If the patch
			;was in the upper only, you are done.  Else type
			;"SAVE SAIL".
||
COPY/Q PTYJB3.IN←SAIL.DO(3)↔
R PTYJOB↔λIPTYJB3.IN↔
|
COPY/Q PTYJB4.IN←SAIL.DO(4)↔
R PTYJOB↔λIPTYJB4.IN↔
|
COPY/Q PTYJB5.IN←SAIL.DO(5)↔
R PTYJOB↔λIPTYJB5.IN↔
|
COPY/Q PTYJB6.IN←SAIL.DO(6)↔
R PTYJOB↔λIPTYJB6.IN↔
|
¬¬DPTYJB3.OUT
;PTYJOB input text to make two-segment compiler supporting extended compilation
ALIAS S,AIL		;get onto the right area
COPY/Q SYS:SAIL.DMO←SYS:SAIL.DMP	;backup copies
COPY/Q SYS:SAIL.SEF←SYS:SAIL.SEG
COMPILE @ITRENC		;assemble the compiler
R LINK			;load it
=SAIL/L,XTCLOR,SYS:HLBSA8/SEARCH,SYS:RAID/G
ALIAS 1,3		;put the results on the system area
START			;copy .JBVER to 400004, write protect, dumpout upper
SAVE SAIL		;lower
ALIAS
¬Q
¬¬DPTYJB4.OUT
;PTYJOB input text to create libraries LIBSAn.REL and HLBSAn.REL
ALIAS S,AIL
RU SCISS

Y

N
1
COPY/Q SYS:LIBSA8.OLD←SYS:LIBSA8.REL
R FUDGE2
SYS:LIBSA8←DSK:LIBSA8/X⊗1⊗7⊗5⊗S¬C
;now for high library
RU SCISS

N
3,4

N
3
COPY/Q SYS:HLBSA8.OLD←SYS:HLBSA8.REL
R FUDGE2
SYS:HLBSA8←DSK:HLBSA8/X⊗1⊗7⊗5⊗S¬C
¬Q
¬¬DPTYJB5.OUT
;PTYJOB input text to create runtime segment SAISGn.SEG
ALIAS S,AIL
EXEC @SGMNT
COPY/Q SYS:SAISG8.OLD←SYS:SAISG8.SEG
COPY/Q SYS:SAILOW.OLD←SYS:SAILOW.REL
TRAN/Q SYS:SAISG8.SEG←DSK:SAISG8.SEG
TRAN/Q SYS:SAILOW.REL←DSK:SAILOW.REL
¬Q
¬¬DPTYJB6.OUT
;PTYJOB input text to selectively update library modules
ALIAS S,AIL
RU SCISS

N
6
SAILOR
DONE
¬C
R FUDGE2
SYS:LIBSA8←SYS:LIBSA8<SAILOR>,DSK:SAILOR/R⊗1⊗7⊗5⊗S
SYS:LIBSA8←SYS:LIBSA8/X⊗1⊗7⊗5⊗S¬C
RU SCISS

N
3,4,6
SAILOR
DONE
¬C
R FUDGE2
SYS:HLBSA8←SYS:HLBSA8<SAILOR>,DSK:SAILOR/R⊗1⊗7⊗5⊗S
SYS:HLBSA8←SYS:HLBSA8/X⊗1⊗7⊗5⊗S¬C
¬Q