$ L=F$VERIFY(0) $ ! $ ! INDEX.COM $ !Command file to build INDEX $ !if P1 is not blank-this is a debug build and only proceeds as far $ !as generating the document. $ ! $ !Make all files generated available to the world $ ! $ SET PROTECTION=W:RE/DEFAULT $ ! $ !Tell user to wait a few minutes $ ! $ WRITE SYS$OUTPUT "" $ WRITE SYS$OUTPUT "Please stand by while INDEX is built" $ WRITE SYS$OUTPUT "Installation questions to follow" $ WRITE SYS$OUTPUT "" $ ! $ !Assemble,link INDEX and genrate document $ ! $ SET VERIFY $ MACRO ARGUMENT $ MACRO CHART $ MACRO EVAL $ MACRO FLOW $ MACRO HEAP $ MACRO INDEX $ MACRO IOLINE $ MACRO LINETYPE $ MACRO OPENCLOSE $ MACRO OUTPUT $ MACRO STAT $ MACRO STORE $ MACRO SUPER $ MACRO TABLE $ @LINK $ LIB/CREATE/HELP INDEX INDEX $ @DOCUMENT $ SET NOVERIFY $ $ !If debug build-then just exit $ $ IF P1 .NES. "" THEN GOTO QUICK_EXIT $ $ !Set BYPASS priv if possible; if not, stop generation and tell why $ ! $ I:='F$SETPRV("BYPASS")' $ J:='F$PRIVILEGE("BYPASS")' $ IF J .EQS. "TRUE" THEN GOTO COPY $ WRITE SYS$OUTPUT "" $ WRITE SYS$OUTPUT "BYPASS privilege is required to complete" $ WRITE SYS$OUTPUT "installation,system wide installation terminated" $ WRITE SYS$OUTPUT "" $ GOTO CLEANUP $ ! $ !Start installation-where does the INDEX.EXE go? $ ! $ SET VERIFY $ COPY: $ WRITE SYS$OUTPUT "" $ INQUIRE TRN "Copy the INDEX.EXE file to SYS$SYSTEM (Y[es] or N[o])" $ IF .NOT. TRN THEN GOTO NOEXE $ ! $ !Copy the INDEX.EXE to SYS$SYSTEM $ ! $ SET VERIFY $ COPY/NOLOG/PROT=(SYSTEM:RE,OWNER:RED,GROUP:RE,WORLD:RE) INDEX.EXE SYS$SYSTEM: $ DELETE/NOLOG/NOCONFIRM INDEX.EXE;* $ PURGE/NOLOG SYS$SYSTEM:INDEX.EXE $ SET NOVERIFY $ ! $ !Set up to later tell user what to insert into SYSLOGIN.COM $ ! $ INDEX_LOCATION := $SYS$SYSTEM:INDEX $ GOTO EXE $ NOEXE: $ ! $ !Find out if user wants INDEX.EXE elseware $ ! $ WRITE SYS$OUTPUT "" $ INQUIRE ELSE "Do you want the INDEX.EXE to go elseware (Y[es] or N[o])" $ IF .NOT. ELSE THEN GOTO NOXFR $ ! $ !Find out where $ ! $ WRITE SYS$OUTPUT "" $ INQUIRE WHERE "Where do you want it to go (DDXN:[xx.yy..zz]):" $ WRITE SYS$OUTPUT "" $ ! $ !And put it there $ ! $ SET VERIFY $ COPY/NOLOG/PROT=(SYSTEM:RWE,OWNER:RWED,GROUP:RE,WORLD:RE) INDEX.EXE 'WHERE' $ DELETE/NOLOG/NOCONFIRM INDEX.EXE;* $ PURGE/NOLOG 'WHERE'INDEX.EXE $ SET NOVERIFY $ ! $ !Then set up to tell what to put into SYSLOGIN.COM $ ! $ K:='WHERE'INDEX.EXE $ INDEX_LOCATION ="$"+F$PARSE(K) $ IL=F$LOCATE("]",INDEX_LOCATION) $ INDEX_LOCATION=F$EXTRACT(0,IL+1,INDEX_LOCATION)+"INDEX" $ GOTO EXE $ NOXFR: $ ! $ !Then set up to tell what to put into SYSLOGIN.COM $ ! $ INDEX_LOCATION := $'F$LOGICAL("SYS$DISK")''F$DIRECTORY()'INDEX $ EXE: $ ! $ !Find out if he wants to put help into system help file $ ! $ WRITE SYS$OUTPUT "" $ INQUIRE INC "Do you want the INDEX help file in the system help file (Y[es] or N[o])" $ WRITE SYS$OUTPUT "" $ IF .NOT. INC THEN GOTO NOLIB $ ! $ !Yes -put it there $ ! $ SET VERIFY $ LIB SYS$HELP:HELPLIB.HLB INDEX.HLP $ GOTO LIB $ NOLIB: $ ! $ !Move INDEX.HLB to SYS$HELP $ ! $ SET VERIFY $ LIB: $ COPY/NOLOG/PROT=(SYSTEM:RE,OWNER:RED,GROUP:RE,WORLD:RE) INDEX.HLB SYS$HELP: $ PURGE/NOLOG SYS$HELP:INDEX.HLB $ DEL/NOLOG/NOCONFIRM INDEX.HLB;* $ SET NOVERIFY $ GENERATE_LOCATION := @'F$LOGICAL("SYS$DISK")''F$DIRECTORY()'GENERATE $ WRITE SYS$OUTPUT "" $ INQUIRE INC "Do you want GENERATE.COM moved elsewhere (Y[es] or N[o])" $ WRITE SYS$OUTPUT "" $ IF .NOT. INC THEN GOTO CLEANUP $ ! $ !Find out where $ ! $ WRITE SYS$OUTPUT "" $ INQUIRE WHERE "Where do you want it to go (DDXN:[xx.yy..zz]):" $ WRITE SYS$OUTPUT "" $ ! $ !And put it there $ ! $ K='WHERE'GENERATE.COM $ GENERATE_LOCATION ="@"+F$PARSE(K) $ IL=F$LOCATE("]",GENERATE_LOCATION) $ GENERATE_LOCATION=F$EXTRACT(0,IL+1,INDEX_LOCATION)+"GENERATE" $ SET VERIFY $ COPY/NOLOG/PROT=(SYSTEM:RE,OWNER:RED,GROUP:RE,WORLD:RE) GENERATE.COM 'WHERE' $ CLEANUP: $ PURGE $ DEL/NOLOG/NOCONFIRM *.OBJ;* $ SET NOVERIFY $ ! $ !Cleanup finished-give final instructions $ ! $ TYPE SYS$INPUT For installations with line printers haveing other than 66 lines/page and/or haveing a default system printer other than SYS$PRINT, read the document installation notes in chapter 6 on the use of the logical symbols SYS$LP_LINES and SYS$PRINT INDEX built. Document in this directory as INDEX.DOC $ IF INDEX_LOCATION .EQS. "" THEN GOTO QUICK_EXIT $ WRITE SYS$OUTPUT "Insert into SYS$MANAGER:SYSLOGIN.COM the following" $ WRITE SYS$OUTPUT "lines to define the foreign commands INDEX and GENERATE" $ WRITE SYS$OUTPUT "" $ WRITE SYS$OUTPUT "IND*EX :== ",INDEX_LOCATION $ WRITE SYS$OUTPUT "GEN*ERATE :== ",GENERATE_LOCATION $ WRITE SYS$OUTPUT "" $ IND*EX :== 'INDEX_LOCATION' $ GEN*ERATE :== 'GENERATE_LOCATION' $ QUICK_EXIT: $ M=F$VERIFY(L)