home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ddkx86v1.zip / DDKX86 / setup / COPYC60.CMD < prev    next >
OS/2 REXX Batch file  |  1995-04-10  |  9KB  |  324 lines

  1. /**************************************************************************
  2.  *
  3.  * SOURCE FILE NAME : COPYC60.CMD
  4.  *
  5.  * VERSION : V1.1
  6.  *
  7.  * DATE    : 01/12/94
  8.  *
  9.  * DESCRIPTION  This command file copies the MS C 6.0 headers, libraries
  10.  *              and tools to a directory usable by many makefiles.
  11.  *
  12.  * Functions
  13.  *
  14.  * CHANGE ACTIVITY =
  15.  *  DATE      FLAG        APAR     CHANGE DESCRIPTION
  16.  *  --------  ----------  -----    --------------------------------------
  17.  *  mm/dd/yy  @Vr.mpppxx  xxxxx    xxxxxxx
  18.  *  01/13/94  @V1.1ALEXH           Simplify the screen output
  19.  *
  20.  ****************************************************************************/
  21.  
  22. call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
  23. call SysLoadFuncs
  24. call SysCls
  25. parse upper arg c600 basename .
  26.  
  27.  
  28. parse source . . command .
  29.  
  30. command = FILESPEC( 'Name', command )
  31.  
  32. i = POS( '.', command )
  33.  
  34. k_esc   = d2c(27)
  35. k_bell  = d2c(7)
  36. LWhite  = k_esc'[0;40;37m'
  37. HWhite  = k_esc'[1;40;37m'
  38. HGreen  = k_esc'[1;40;32m'
  39. HYellow = k_esc'[1;40;33m'
  40.  
  41. if i <> 0 then
  42.  
  43.    command = substr( command, 1, i - 1 )
  44.  
  45.  
  46. if c600 = '' then
  47.  
  48.    do
  49.  
  50.       say
  51.       say 'Usage:' command 'C600PATH DDKPATH'
  52.       say
  53.       say '        Where:'
  54.       say '               C600PATH is the path to the Microsoft C 6.0 directory.'
  55.       say '               e.g. C:\C600'
  56.       say
  57.       say '               DDKPATH  is the path where the DDK has been installed.    '
  58.       say '               e.g. D:\DDKx86'
  59.  
  60.       exit
  61.  
  62.    end
  63.  
  64. uncopy     = 0
  65.  
  66. headers.1  = 'ASSERT.H'
  67. headers.2  = 'CONIO.H'
  68. headers.3  = 'CTYPE.H'
  69. headers.4  = 'DOS.H'
  70. headers.5  = 'ERRNO.H'
  71. headers.6  = 'FCNTL.H'
  72. headers.7  = 'FLOAT.H'
  73. headers.8  = 'IO.H'
  74. headers.9  = 'LIMITS.H'
  75. headers.10 = 'LOCALE.H'
  76. headers.11 = 'MALLOC.H'
  77. headers.12 = 'MATH.H'
  78. headers.13 = 'MEMORY.H'
  79. headers.14 = 'PROCESS.H'
  80. headers.15 = 'SEARCH.H'
  81. headers.16 = 'SETJMP.H'
  82. headers.17 = 'SIGNAL.H'
  83. headers.18 = 'STDARG.H'
  84. headers.19 = 'STDDEF.H'
  85. headers.20 = 'STDIO.H'
  86. headers.21 = 'STDLIB.H'
  87. headers.22 = 'STRING.H'
  88. headers.23 = 'TIME.H'
  89.  
  90. headers.0  = 23
  91.  
  92.  
  93. exes.1     = 'C1.ERR'
  94. exes.2     = 'C1.EXE'
  95. exes.3     = 'C1L.EXE'
  96. exes.4     = 'C2.EXE'
  97. exes.5     = 'C23.ERR'
  98. exes.6     = 'C2L.EXE'
  99. exes.7     = 'C3.EXE'
  100. exes.8     = 'C3L.EXE'
  101. exes.9     = 'CL.ERR'
  102. exes.10    = 'CL.EXE'
  103. exes.11    = 'CL.MSG'
  104.  
  105. exes.0     = 11
  106.  
  107.  
  108. libs.1     = 'LLIBCDLL.LIB'
  109. libs.2     = 'LLIBCMT.LIB'
  110.  
  111. libs.0     = 2
  112.  
  113.  
  114. libchk.1   = 'SLIBC7P.LIB'
  115. libchk.2   = 'SLIBCEP.LIB'
  116. libchk.3   = 'SLIBCER.LIB'
  117. libchk.4   = 'CLIBCEP.LIB'
  118. libchk.5   = 'LLIBCER.LIB'
  119. libchk.6   = 'LLIBCEP.LIB'
  120. libchk.7   = 'CLIBCER.LIB'
  121.  
  122. libchk.0   = 7
  123.  
  124. /*------------------------------------------------------*/
  125. /* Copy header files.                                   */
  126. /*------------------------------------------------------*/
  127. say HWhite
  128. say 'Copying header files ...'LWhite
  129.  
  130. call SysFileTree basename'\H',dirs, 'DO'
  131. if dirs.0 <> 0 then
  132. do
  133.  do i = 1 to headers.0
  134.  
  135.    '@COPY' c600'\INCLUDE\'headers.i basename'\H\'headers.i '/V > nul 2>&1'
  136.  
  137.    if rc = 0 then
  138.       say c600'\INCLUDE\'headers.i
  139.    else
  140.       do
  141.          uncopy = uncopy + 1
  142.          uncopylist.uncopy = c600'\INCLUDE\'headers.i ' to ' basename'\H'
  143.       end
  144.  end
  145. end
  146.  
  147.  
  148. /*------------------------------------------------------*/
  149. /* Copy header files for DBCS.                          */
  150. /*------------------------------------------------------*/
  151.  
  152. call SysFileTree basename'\DBCSDD',dirs, 'DO'
  153. if dirs.0 <> 0 then
  154. do
  155.  
  156.  '@MD' basename'\DBCSDD\H > nul 2>&1'
  157.   do i = 1 to headers.0
  158.  
  159.    '@COPY' c600'\INCLUDE\'headers.i basename'\DBCSDD\H\'headers.i '/V > nul 2>&1'
  160.  
  161.    if rc = 0 then
  162.       say c600'\INCLUDE\'headers.i
  163.    else
  164.       do
  165.          uncopy = uncopy + 1
  166.          uncopylist.uncopy = c600'\INCLUDE\'headers.i ' to ' basename'\DBCSDD\H'
  167.       end
  168.   end
  169. end
  170.  
  171. /*------------------------------------------------------*/
  172. /* Copy exe files.                                      */
  173. /*------------------------------------------------------*/
  174. say HWhite
  175. say 'Copying EXE files ...'LWhite
  176.  
  177. do i = 1 to exes.0
  178.  
  179.    '@COPY' c600'\BINP\'exes.i basename'\TOOLS\'exes.i '/V > nul 2>&1'
  180.  
  181.    if rc = 0 then
  182.       say c600'\BINP\'exes.i
  183.    else
  184.       do
  185.          uncopy = uncopy + 1
  186.          uncopylist.uncopy = c600'\BINP\'exes.i
  187.       end
  188. end
  189.  
  190.  
  191. /*------------------------------------------------------*/
  192. /* Copy library files.                                  */
  193. /*------------------------------------------------------*/
  194. say HWhite
  195. say 'Copying library files ...'LWhite
  196.  
  197. call SysFileTree basename'\LIB',dirs, 'DO'
  198. if dirs.0 <> 0 then
  199. do
  200. do i = 1 to libs.0
  201.  
  202.    '@COPY' c600'\LIB\'libs.i basename'\LIB\'libs.i '/V > nul 2>&1'
  203.  
  204.    if rc = 0 then
  205.       say c600'\LIB\'libs.i
  206.    else
  207.       do
  208.          uncopy = uncopy + 1
  209.          uncopylist.uncopy = c600'\LIB\'libs.i
  210.       end
  211.  end
  212. end
  213.  
  214.  
  215. /*------------------------------------------------------*/
  216. /* Copy DBCS library files.                             */
  217. /*------------------------------------------------------*/
  218.  
  219. call SysFileTree basename'\DBCSDD',dirs, 'DO'
  220. if dirs.0 <> 0 then
  221. do
  222.  DBCS= 'Y'
  223.  '@MD' basename'\DBCSDD\LIB > nul 2>&1'
  224.  
  225.  do i = 1 to libs.0
  226.  
  227.    '@COPY' c600'\LIB\'libs.i basename'\DBCSDD\LIB\'libs.i '/V > nul 2>&1'
  228.  
  229.    if rc = 0 then
  230.       say c600'\LIB\'libs.i
  231.    else
  232.       do
  233.          uncopy = uncopy + 1
  234.          uncopylist.uncopy = c600'\LIB\'libs.i
  235.       end
  236.  end
  237. end
  238.  
  239.  
  240. /*------------------------------------------------------*/
  241. /* Copy library files.                                  */
  242. /*------------------------------------------------------*/
  243. do i = 1 to libchk.0
  244.  
  245.    /*------------------------------------------------------------*/
  246.    /* If the real mode or protect mode library file exist,       */
  247.    /*    then copy it.                                           */
  248.    /* else                                                       */
  249.    /*    search for default library (w/o 'r' or 'p' at the       */
  250.    /*    end of the file name) and copy it.                      */
  251.    /*    e.g.  COPY <source>\LLIBCE.LIB <target>\LLIBCEP.LIB     */
  252.    /*------------------------------------------------------------*/
  253.    if stream( c600'\LIB\'libchk.i, 'Command', 'Query Exist' ) <> '' then
  254.       do
  255.          '@COPY' c600'\LIB\'libchk.i basename'\LIB\'libchk.i '/V > nul 2>&1'
  256.  
  257.          /*------------------------------------------------------*/
  258.          /* If the library file is SLIBCEP.LIB                   */
  259.          /*    then copy it to \DBCSDD\LIB directory also.    */
  260.          /*------------------------------------------------------*/
  261.          if DBCS = 'Y' then
  262.             '@COPY' c600'\LIB\'libchk.i basename'\DBCSDD\LIB\'libchk.i '/V > nul 2>&1'
  263.  
  264.          say c600'\LIB\'libchk.i
  265.       end
  266.    else
  267.       do
  268.          position = pos( '.', libchk.i )
  269.          filename = left( libchk.i, position - 2 )
  270.          filename = filename'.LIB'
  271.  
  272.          if stream( c600'\LIB\'filename, 'Command', 'Query Exist' ) <> '' then
  273.             do
  274.                '@COPY' c600'\LIB\'filename basename'\LIB\'libchk.i '/V > nul 2>&1'
  275.  
  276.                /*------------------------------------------------------*/
  277.                /* If the library file is SLIBCEP.LIB                   */
  278.                /*    then copy it to \DBCSDD\LIB directory also.    */
  279.                /*------------------------------------------------------*/
  280.                if DBCS = 'Y' then
  281.                   '@COPY' c600'\LIB\'filename basename'\DBCSDD\LIB\'libchk.i '/V > nul 2>&1'
  282.  
  283.                say c600'\LIB\'filename
  284.             end
  285.          else
  286.             do
  287.                uncopy = uncopy + 1
  288.                uncopylist.uncopy = c600'\LIB\'libchk.i
  289.             end
  290.       end
  291.  
  292.    if rc <> 0 then
  293.       do
  294.          uncopy = uncopy + 1
  295.          uncopylist.uncopy = c600'\LIB\'libchk.i
  296.       end
  297.  
  298. end
  299.  
  300.  
  301. /*------------------------------------------------------*/
  302. /* Display a list of files that cannot be copy,         */
  303. /* if uncopy not equal to zero.                         */
  304. /*------------------------------------------------------*/
  305. if uncopy <> 0 then
  306.    do
  307.       say k_bell HWhite
  308.       say 'Unable to copy the following file(s) to target.'HYellow
  309.       do i = 1 to uncopy
  310.          say uncopylist.i
  311.       end
  312.       say HWhite
  313.       say 'Please make sure that you have these files then run this command file again.'
  314.       say LWhite
  315.    end
  316. else
  317.    do
  318.       say HGreen
  319.       say '<<<  Copy completed  >>>'LWhite
  320.    end
  321.  
  322.  
  323. exit
  324.