home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / o / os2_util.zip / REBUIL.ZIP / MKTOOLKT.EXE / MKTOOLKT.CMD < prev   
OS/2 REXX Batch file  |  1992-09-03  |  12KB  |  208 lines

  1. /****************************************************************/
  2. /* MKTOOLKIT.CMD                Version 1.0; September 3, 1992  */
  3. /*                                                              */
  4. /* Function:                                                    */
  5. /*      Build the WPS entries for the following products:       */
  6. /*              Toolkit                                         */
  7. /*              C Set/2                                         */
  8. /*              WorkFrame/2                                     */
  9. /* Parameters:                                                  */
  10. /*      None                                                    */
  11. /*                                                              */
  12. /* Programmed by:                                               */
  13. /*      Georg Haschek (61804212 at VIEVMA)                      */
  14. /*                                                              */
  15. /* Change history:                                              */
  16. /*      1.0  92/09/03 ... First release to OS2TOOLS             */
  17. /*                                                              */
  18. /****************************************************************/
  19. Trace 'O'
  20. Address CMD
  21. '@ECHO OFF'
  22. Signal On Halt
  23. Signal On Syntax
  24.  
  25. /**************/
  26. /* Initialize */
  27. /**************/
  28. Call rxfuncadd sysloadfuncs, rexxutil, sysloadfuncs
  29. Call sysloadfuncs
  30.  
  31. Parse Version v
  32. v = Translate(Word(v,5)||Right(Wordpos(Word(v,4),'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'),2)||Right(Word(v,3),2),'0',' ')
  33. If v < 19920708 Then Do
  34.   Say "The version of REXX on your system is backlevel."
  35.   Say " "
  36.   Say "Please get the latest version from OS2TOOLS (REXX20 PACKAGE), or from"
  37.   Say "the OS2CSD disk. The success of MKTOOLKT is not guaranteed!"
  38.   'PAUSE'
  39. End
  40.  
  41. tooldrive = ''
  42. csetrive = ''
  43. workdrive = ''
  44. bootdrive = Substr(Value('PATH',,'OS2ENVIRONMENT'),Pos('\OS2\SYSTEM',Value('PATH',,'OS2ENVIRONMENT'))-2,2)
  45. If Pos('\TOOLKT20',Translate(Value('PATH',,'OS2ENVIRONMENT'))) > 0 Then tooldrive = Translate(Substr(Value('PATH',,'OS2ENVIRONMENT'),Pos('\TOOLKT20',Translate(Value('PATH',,'OS2ENVIRONMENT')))-2,2))
  46. If Pos('\IBMC',Translate(Value('PATH',,'OS2ENVIRONMENT'))) > 0 Then csetdrive = Translate(Substr(Value('PATH',,'OS2ENVIRONMENT'),Pos('\IBMC',Translate(Value('PATH',,'OS2ENVIRONMENT')))-2,2))
  47. If Pos('\IBMWF',Translate(Value('PATH',,'OS2ENVIRONMENT'))) > 0 Then workdrive = Translate(Substr(Value('PATH',,'OS2ENVIRONMENT'),Pos('\IBMWF',Translate(Value('PATH',,'OS2ENVIRONMENT')))-2,2))
  48. If tooldrive = '' & csetdrive = '' & workdrive = '' Then Do
  49.   Say "No Toolkit, WorkFrame/2, or C Set/2 found, terminating."
  50.   Call Endit
  51. End
  52.  
  53. iconfile = 'GROUP.ICO'
  54. iconparm = ''
  55. If Stream(iconfile,'C','QUERY EXISTS') = '' Then Do
  56.   Parse Source . . myname .
  57.   mydir = Filespec('D',myname)||Filespec('P',myname)
  58.   If Stream(mydir||iconfile,'C','QUERY EXISTS') = '' Then Do
  59.     If SysSearchPath('PATH',iconfile) = '' Then Do
  60.       If SysSearchPath('DPATH',iconfile) <> '' Then Do
  61.         iconparm = 'ICONFILE='||SysSearchPath('DPATH',iconfile)||';'
  62.       End
  63.     End
  64.     Else Do
  65.       iconparm = 'ICONFILE='||SysSearchPath('PATH',iconfile)||';'
  66.     End
  67.   End
  68.   Else Do
  69.     iconparm = 'ICONFILE='||mydir||iconfile||';'
  70.   End
  71. End
  72. Else Do
  73.   iconparm = 'ICONFILE='||Directory()||'\'||iconfile||';'
  74. End
  75.  
  76. 'CLS'
  77. Say "Your system is installed on the" bootdrive "drive."
  78. Say " "
  79. Say "The following components have been found:"
  80. Say " "
  81. If tooldrive <> '' Then Say "     Toolkit for OS/2 2.0 on drive" tooldrive
  82. If csetdrive <> '' Then Say "     C Set/2 on drive" csetdrive
  83. If workdrive <> '' Then Say "     WorkFrame/2 on drive" workdrive
  84. Say " "
  85. Say "This program will now create a folder for each identified product on your"
  86. Say "desktop, which will contain the default WPS entries for the listed products."
  87. Say " "
  88. Say "Do you want to continue (Y/N)?"
  89. Parse Upper Pull yesno .
  90. If Substr(yesno,1,1) <> 'Y' Then Call Endit
  91.  
  92. If tooldrive <> '' Then Do
  93.   Call SysCreateObject 'WPFolder','Toolkit','<WP_DESKTOP>','OBJECTID=<TOOLKIT_FOLDER>;ICONFILE='||tooldrive||'\TOOLKT20\ICON\UTILS.ICO','R'
  94.   Call SysCreateObject 'WPFolder','Toolkit Information','<TOOLKIT_FOLDER>','OBJECTID=<TOOLKIT_INFO>;ICONFILE='||tooldrive||'\TOOLKT20\ICON\ICONINFO.ICO','R'
  95.   Call SysCreateObject 'WPProgram','REXX Reference','<TOOLKIT_INFO>','EXENAME='||bootdrive||'\OS2\VIEW.EXE;PROGTYPE=PM;PARAMETERS=REXXAPI.INF;STARTUPDIR='||tooldrive||'\TOOLKT20\BOOKS;','R'
  96.   Call SysCreateObject 'WPProgram','IPF Reference','<TOOLKIT_INFO>','EXENAME='||bootdrive||'\OS2\VIEW.EXE;PROGTYPE=PM;PARAMETERS=IPFC20.INF;STARTUPDIR='||tooldrive||'\TOOLKT20\BOOKS;','R'
  97.   Call SysCreateObject 'WPProgram','SOM Reference','<TOOLKIT_INFO>','EXENAME='||bootdrive||'\OS2\VIEW.EXE;PROGTYPE=PM;PARAMETERS=SOM.INF;STARTUPDIR='||tooldrive||'\TOOLKT20\BOOKS;','R'
  98.   Call SysCreateObject 'WPProgram','Tools Reference','<TOOLKIT_INFO>','EXENAME='||bootdrive||'\OS2\VIEW.EXE;PROGTYPE=PM;PARAMETERS=TOOLINFO.INF;STARTUPDIR='||tooldrive||'\TOOLKT20\BOOKS;','R'
  99.   Call SysCreateObject 'WPProgram','PM Reference','<TOOLKIT_INFO>','EXENAME='||bootdrive||'\OS2\VIEW.EXE;PROGTYPE=PM;PARAMETERS=PMREF;STARTUPDIR='||tooldrive||'\TOOLKT20\BOOKS;','R'
  100.   Call SysCreateObject 'WPProgram','CP Reference','<TOOLKIT_INFO>','EXENAME='||bootdrive||'\OS2\VIEW.EXE;PROGTYPE=PM;PARAMETERS=PROGREF20;STARTUPDIR='||tooldrive||'\TOOLKT20\BOOKS;','R'
  101.   Call SysCreateObject 'WPFolder','Sample Programs','<TOOLKIT_FOLDER>','OBJECTID=<TOOLKIT_SAMPLES>;ICONFILE='||tooldrive||'\TOOLKT20\ICON\OSTUTOR.ICO','R'
  102.   samples.1 = tooldrive||'\TOOLKT20\C\SAMPLES\ANIMALS\ANIMALS.CMD WINDOWABLEVIO ;; SOM Inheritance Sample'
  103.   samples.2 = tooldrive||'\TOOLKT20\C\SAMPLES\CLIPBRD\CLIPBRD.EXE PM ;; Clipboard Sample'
  104.   samples.3 = tooldrive||'\TOOLKT20\C\SAMPLES\CLOCK\CLOCK.EXE PM ;; Clock Sample'
  105.   samples.4 = tooldrive||'\TOOLKT20\C\SAMPLES\DIALOG\DIALOG.EXE PM ;; Introductory Dialog Box Sample'
  106.   samples.5 = tooldrive||'\TOOLKT20\C\SAMPLES\DLLAPI\DLLAPI.EXE PM ;; Dynamic Link Library Sample'
  107.   samples.6 = tooldrive||'\TOOLKT20\C\SAMPLES\DRAGDROP\DRAGDROP.EXE PM ;; Dragdrop Sample'
  108.   samples.7 = tooldrive||'\TOOLKT20\C\SAMPLES\EAS\EAS.EXE PM ;; Edit Extended Attributes Sample'
  109.   samples.8 = tooldrive||'\TOOLKT20\C\SAMPLES\GRAPHIC\GRAPHIC.EXE PM ;; Retained Graphics Sample'
  110.   samples.9 = tooldrive||'\TOOLKT20\C\SAMPLES\HANOI\HANOI.EXE PM ;; Towers of Hanoi Sample'
  111.   samples.10 = tooldrive||'\TOOLKT20\C\SAMPLES\HELLO\HELLO.EXE PM ;; Standard Window Sample'
  112.   samples.11 = tooldrive||'\TOOLKT20\C\SAMPLES\IMAGE\IMAGE32.EXE PM ;; Image Sample'
  113.   samples.12 = tooldrive||'\TOOLKT20\C\SAMPLES\JIGSAW\JIGSAW.EXE PM ;; Jigsaw Puzzle Sample'
  114.   samples.13 = tooldrive||'\TOOLKT20\C\SAMPLES\NPIPE\SVRNPIPE.EXE PM ;CLINPIPE.EXE; Tic-Tac-Toe Sample'
  115.   samples.14 = tooldrive||'\TOOLKT20\C\SAMPLES\PRINT\PRTSAMP.EXE PM ;; Print Sample'
  116.   samples.15 = tooldrive||'\TOOLKT20\C\SAMPLES\QUEUES\SVRQUEUE.EXE PM ;CLIQUEUE.EXE; Queues Sample'
  117.   samples.16 = tooldrive||'\TOOLKT20\C\SAMPLES\SEMAPH\SEMAPH.EXE PM ;; Semaphore Sample'
  118.   samples.17 = tooldrive||'\TOOLKT20\C\SAMPLES\SORT\SORT.EXE PM ;; Sorting Algorithm Sample'
  119.   samples.18 = tooldrive||'\TOOLKT20\C\SAMPLES\STYLE\STYLE.EXE PM ;; Style Sample'
  120.   samples.19 = tooldrive||'\TOOLKT20\C\SAMPLES\TEMPLATE\TEMPLATE.EXE PM ;; Application Templace Sample'
  121.   samples.20 = tooldrive||'\TOOLKT20\C\SAMPLES\TP\TP.CMD WINDOWABLEVIO ;; SOM Text Processing Sample'
  122.   samples.21 = tooldrive||'\TOOLKT20\C\SAMPLES\VMM\VMM.EXE PM ;; Virtual Memory Management Sample'
  123.   samples.22 = tooldrive||'\TOOLKT20\C\SAMPLES\WORMS\WORMS.EXE WINDOWABLEVIO ;-30; Mixed Mode Sample'
  124.   samples.23 = tooldrive||'\TOOLKT20\REXX\SAMPLES\CALLREXX\CALLREXX.CMD WINDOWABLEVIO ;; REXX Interpreter Invocation Sample'
  125.   samples.24 = tooldrive||'\TOOLKT20\REXX\SAMPLES\DEVINFO\DEVINFO.CMD WINDOWABLEVIO ;; REXX Variable Pool Interface Sample'
  126.   samples.25 = tooldrive||'\TOOLKT20\REXX\SAMPLES\PMREXX\PMREXX.EXE PM ;REXXTRY.CMD; Presentation Manager REXX Interface Sample'
  127.   samples.26 = tooldrive||'\TOOLKT20\REXX\SAMPLES\REXXUTIL\REXXUDEM.CMD WINDOWABLEVIO ;; REXX Utility Functions Sample'
  128.   samples.27 = tooldrive||'\TOOLKT20\REXX\SAMPLES\RXMACDLL\RXMACDLL.CMD WINDOWABLEVIO ;; External Functions in REXX Macrospace Sample'
  129.   samples.0 = 27
  130.   Do i = 1 to samples.0
  131.     Parse Var samples.i program type ';' parms ';' title
  132.     program = Strip(program)
  133.     type = Strip(title)
  134.     parms = Strip(parms)
  135.     title = Strip(title)
  136.     If parms = '' Then Do
  137.       Call SysCreateObject 'WPProgram',title,'<TOOLKIT_SAMPLES>','EXENAME='||program||';PROGTYPE='||type||';STARTUPDIR='||Filespec('D',program)||Substr(Filespec('P',program),1,Length(Filespec('P',program))-1)||';','R'
  138.     End
  139.     Else Do
  140.       Call SysCreateObject 'WPProgram',title,'<TOOLKIT_SAMPLES>','EXENAME='||program||';PROGTYPE='||type||';PARAMETERS='||parms||';STARTUPDIR='||Filespec('D',program)||Substr(Filespec('P',program),1,Length(Filespec('P',program))-1)||';','R'
  141.     End
  142.   End
  143.   Call SysCreateObject 'WPProgram','Information Presentation Facility Sample','<TOOLKIT_SAMPLES>','EXENAME='||bootdrive||'\OS2\VIEW.EXE;PROGTYPE=PM;PARAMETERS=IPF.INF;STARTUPDIR='||tooldrive||'\TOOLKT20\C\SAMPLES\IPF;','R'
  144.   Call SysCreateObject 'WPFolder','PM Development Tools','<TOOLKIT_FOLDER>','OBJECTID=<TOOLKIT_TOOLS>;ICONFILE='||tooldrive||'\TOOLKT20\ICON\FXICON.ICO','R'
  145.   Call SysCreateObject 'WPProgram','Dialog Editor','<TOOLKIT_TOOLS>','EXENAME='||tooldrive||'\TOOLKT20\OS2BIN\DLGEDIT.EXE;PROGTYPE=PM;STARTUPDIR='||tooldrive||'\TOOLKT20\OS2BIN;','R'
  146.   Call SysCreateObject 'WPProgram','Font Editor','<TOOLKIT_TOOLS>','EXENAME='||tooldrive||'\TOOLKT20\OS2BIN\FONTEDIT.EXE;PROGTYPE=PM;STARTUPDIR='||tooldrive||'\TOOLKT20\OS2BIN;','R'
  147.   Call SysCreateObject 'WPProgram','Icon Editor','<TOOLKIT_TOOLS>','EXENAME='||tooldrive||'\TOOLKT20\OS2BIN\ICONEDIT.EXE;PROGTYPE=PM;STARTUPDIR='||tooldrive||'\TOOLKT20\OS2BIN;','R'
  148.   Call SysRegisterObjectClass 'WPKlist', tooldrive||'\TOOLKT20\DLL\WPCLSLST.DLL'
  149.   Call SysCreateObject 'WPKlist', 'WP Class List','<TOOLKIT_TOOLS>'
  150. End
  151.  
  152. If csetdrive <> '' Then Do
  153.   Call SysCreateObject 'WPFolder','IBM C Set/2','<WP_DESKTOP>','OBJECTID=<CSET_FOLDER>;'||iconparm,'R'
  154.   Call SysCreateObject 'WPProgram','IBM C Set/2 Online Help','<CSET_FOLDER>','EXENAME='||bootdrive||'\OS2\VIEW.EXE;PROGTYPE=PM;PARAMETERS=DDE4HELP.INF;STARTUPDIR='||csetdrive||'\IBMC\HELP;','R'
  155.   Call SysCreateObject 'WPProgram','IBM C Set/2 Debugger','<CSET_FOLDER>','EXENAME='||csetdrive||'\IBMC\BIN\IPMD.EXE;PROGTYPE=PM;STARTUPDIR='||csetdrive||'\IBMC\BIN;','R'
  156. End
  157.  
  158. If workdrive <> '' Then Do
  159.   Call SysCreateObject 'WPFolder','IBM WorkFrame/2','<WP_DESKTOP>','OBJECTID=<WKFR_FOLDER>;'||iconparm,'R'
  160.   Call SysCreateObject 'WPProgram','IBM WorkFrame/2 Online Help','<WKFR_FOLDER>','EXENAME='||bootdrive||'\OS2\VIEW.EXE;PROGTYPE=PM;PARAMETERS=DDE3WF.INF;STARTUPDIR='||workdrive||'\IBMWF\HELP;','R'
  161.   Call SysCreateObject 'WPProgram','IBM WorkFrame/2','<WKFR_FOLDER>','EXENAME='||workdrive||'\IBMWF\BIN\WF.EXE;PROGTYPE=PM;STARTUPDIR='||workdrive||'\IBMWF;','R'
  162. End
  163.  
  164. /****************/
  165. /* Exit program */
  166. /****************/
  167. Endit:
  168. Exit 0
  169.  
  170. /********************************/
  171. /* Notify user in case of error */
  172. /********************************/
  173. Telluser: Procedure
  174. Parse source . . tell_name .
  175. tell_name = Filespec('name',tell_name)
  176. Parse Upper Var tell_name tell_name '.' .
  177. ulogfile = tell_name
  178. If Arg(2,'e') = 0 Then Do
  179.   Say tell_name||':' Date('U') Time() Arg(1)
  180. End
  181. Else Do
  182.   If Arg(2) = 0 Then Do
  183.     Say tell_name||':' Date('U') Time() Arg(1)
  184.   End
  185.   Else Do
  186.     Say Copies(' ',15+Length(tell_name)) Arg(1)
  187.   End
  188. End
  189. Return 0
  190.  
  191. /*************************/
  192. /* Handle SIGNAL ON HALT */
  193. /*************************/
  194. Halt:
  195. Call Telluser 'Halt signalled in line' SIGL'.'
  196. Call Endit
  197.  
  198. /***************************/
  199. /* Handle SIGNAL ON SYNTAX */
  200. /***************************/
  201. Syntax:
  202. myrc = rc
  203. errormsg ='REXX error' myrc 'in line' SIGL':' Errortext(myrc)
  204. errormsg2 = Substr('     ',1,6-Length(SIGL))(SIGL)' *-*   'Sourceline(sigl)
  205. Call Telluser errormsg
  206. Call Telluser errormsg2,1
  207. Call Endit
  208.