Changeset 9201 for trunk/tools
- Timestamp:
- Sep 3, 2002, 8:41:28 PM (23 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/bin/buildenv.cmd
r9192 r9201 1 /* $Id: buildenv.cmd,v 1.2 7 2002-09-02 15:16:32bird Exp $1 /* $Id: buildenv.cmd,v 1.28 2002-09-03 18:41:28 bird Exp $ 2 2 * 3 3 * This is the master tools environment script. It contains environment … … 27 27 * Version 28 28 */ 29 sVersion = '1.0. 5 [2002-08-30]';29 sVersion = '1.0.6 [2002-09-03]'; 30 30 31 31 /* … … 1109 1109 1110 1110 /** 1111 * Add sToAdd in front of sEnvVar. 1112 * Note: sToAdd now is allowed to be alist! 1113 * 1114 * Known features: Don't remove sToAdd from original value if sToAdd 1115 * is at the end and don't end with a ';'. 1116 */ 1117 EnvAddFront: procedure 1118 parse arg fRM, sEnvVar, sToAdd, sSeparator 1119 1120 /* sets default separator if not specified. */ 1121 if (sSeparator = '') then sSeparator = ';'; 1122 1123 /* checks that sToAdd ends with an ';'. Adds one if not. */ 1124 if (substr(sToAdd, length(sToAdd), 1) <> sSeparator) then 1125 sToAdd = sToAdd || sSeparator; 1126 1127 /* check and evt. remove ';' at start of sToAdd */ 1128 if (substr(sToAdd, 1, 1) = ';') then 1129 sToAdd = substr(sToAdd, 2); 1130 1131 /* loop thru sToAdd */ 1132 rc = 0; 1133 i = length(sToAdd); 1134 do while i > 1 & rc = 0 1135 j = lastpos(sSeparator, sToAdd, i-1); 1136 rc = EnvAddFront2(fRM, sEnvVar, substr(sToAdd, j+1, i - j), sSeparator); 1137 i = j; 1138 end 1139 1140 return rc; 1141 1142 /** 1143 * Add sToAdd in front of sEnvVar. 1144 * 1145 * Known features: Don't remove sToAdd from original value if sToAdd 1146 * is at the end and don't end with a ';'. 1147 */ 1148 EnvAddFront2: procedure 1149 parse arg fRM, sEnvVar, sToAdd, sSeparator 1150 1151 /* sets default separator if not specified. */ 1152 if (sSeparator = '') then sSeparator = ';'; 1153 1154 /* checks that sToAdd ends with a separator. Adds one if not. */ 1155 if (substr(sToAdd, length(sToAdd), 1) <> sSeparator) then 1156 sToAdd = sToAdd || sSeparator; 1157 1158 /* check and evt. remove the separator at start of sToAdd */ 1159 if (substr(sToAdd, 1, 1) = sSeparator) then 1160 sToAdd = substr(sToAdd, 2); 1161 1162 /* Get original variable value */ 1163 sOrgEnvVar = EnvGet(sEnvVar); 1164 1165 /* Remove previously sToAdd if exists. (Changing sOrgEnvVar). */ 1166 i = pos(translate(sToAdd), translate(sOrgEnvVar)); 1167 if (i > 0) then 1168 sOrgEnvVar = substr(sOrgEnvVar, 1, i-1) || substr(sOrgEnvVar, i + length(sToAdd)); 1169 1170 /* set environment */ 1171 if (fRM) then 1172 return EnvSet(0, sEnvVar, sOrgEnvVar); 1173 return EnvSet(0, sEnvVar, sToAdd||sOrgEnvVar); 1174 1175 1176 /** 1177 * Add sToAdd as the end of sEnvVar. 1178 * Note: sToAdd now is allowed to be alist! 1179 * 1180 * Known features: Don't remove sToAdd from original value if sToAdd 1181 * is at the end and don't end with a ';'. 1182 */ 1183 EnvAddEnd: procedure 1184 parse arg fRM, sEnvVar, sToAdd, sSeparator 1185 1186 /* sets default separator if not specified. */ 1187 if (sSeparator = '') then sSeparator = ';'; 1188 1189 /* checks that sToAdd ends with a separator. Adds one if not. */ 1190 if (substr(sToAdd, length(sToAdd), 1) <> sSeparator) then 1191 sToAdd = sToAdd || sSeparator; 1192 1193 /* check and evt. remove ';' at start of sToAdd */ 1194 if (substr(sToAdd, 1, 1) = sSeparator) then 1195 sToAdd = substr(sToAdd, 2); 1196 1197 /* loop thru sToAdd */ 1198 rc = 0; 1199 i = length(sToAdd); 1200 do while i > 1 & rc = 0 1201 j = lastpos(sSeparator, sToAdd, i-1); 1202 rc = EnvAddEnd2(fRM, sEnvVar, substr(sToAdd, j+1, i - j), sSeparator); 1203 i = j; 1204 end 1205 1206 return rc; 1207 1208 /** 1209 * Add sToAdd as the end of sEnvVar. 1210 * 1211 * Known features: Don't remove sToAdd from original value if sToAdd 1212 * is at the end and don't end with a ';'. 1213 */ 1214 EnvAddEnd2: procedure 1215 parse arg fRM, sEnvVar, sToAdd, sSeparator 1216 1217 /* sets default separator if not specified. */ 1218 if (sSeparator = '') then sSeparator = ';'; 1219 1220 /* checks that sToAdd ends with a separator. Adds one if not. */ 1221 if (substr(sToAdd, length(sToAdd), 1) <> sSeparator) then 1222 sToAdd = sToAdd || sSeparator; 1223 1224 /* check and evt. remove separator at start of sToAdd */ 1225 if (substr(sToAdd, 1, 1) = sSeparator) then 1226 sToAdd = substr(sToAdd, 2); 1227 1228 /* Get original variable value */ 1229 sOrgEnvVar = EnvGet(sEnvVar); 1230 1231 if (sOrgEnvVar <> '') then 1232 do 1233 /* Remove previously sToAdd if exists. (Changing sOrgEnvVar). */ 1234 i = pos(translate(sToAdd), translate(sOrgEnvVar)); 1235 if (i > 0) then 1236 sOrgEnvVar = substr(sOrgEnvVar, 1, i-1) || substr(sOrgEnvVar, i + length(sToAdd)); 1237 1238 /* checks that sOrgEnvVar ends with a separator. Adds one if not. */ 1239 if (sOrgEnvVar = '') then 1240 if (right(sOrgEnvVar,1) <> sSeparator) then 1241 sOrgEnvVar = sOrgEnvVar || sSeparator; 1242 end 1243 1244 /* set environment */ 1245 if (fRM) then return EnvSet(0, sEnvVar, sOrgEnvVar); 1246 return EnvSet(0, sEnvVar, sOrgEnvVar||sToAdd); 1247 1248 1249 /** 1250 * Sets sEnvVar to sValue. 1251 */ 1252 EnvSet: procedure 1253 parse arg fRM, sEnvVar, sValue 1254 1255 /* if we're to remove this, make valuestring empty! */ 1256 if (fRM) then 1257 sValue = ''; 1258 sEnvVar = translate(sEnvVar); 1259 1260 /* 1261 * Begin/EndLibpath fix: 1262 * We'll have to set internal these using both commandline 'SET' 1263 * and internal VALUE in order to export it and to be able to 1264 * get it (with EnvGet) again. 1265 */ 1266 if ((sEnvVar = 'BEGINLIBPATH') | (sEnvVar = 'ENDLIBPATH')) then 1267 do 1268 if (length(sValue) >= 1024) then 1269 say 'Warning: 'sEnvVar' is too long,' length(sValue)' char.'; 1270 return SysSetExtLibPath(sValue, substr(sEnvVar, 1, 1)); 1271 end 1272 1273 if (length(sValue) >= 1024) then 1274 do 1275 say 'Warning: 'sEnvVar' is too long,' length(sValue)' char.'; 1276 say ' This may make CMD.EXE unstable after a SET operation to print the environment.'; 1277 end 1278 sRc = VALUE(sEnvVar, sValue, 'OS2ENVIRONMENT'); 1279 return 0; 1280 1281 /** 1282 * Gets the value of sEnvVar. 1283 */ 1284 EnvGet: procedure 1285 parse arg sEnvVar 1286 if ((translate(sEnvVar) = 'BEGINLIBPATH') | (translate(sEnvVar) = 'ENDLIBPATH')) then 1287 return SysQueryExtLibPath(substr(sEnvVar, 1, 1)); 1288 return value(sEnvVar,, 'OS2ENVIRONMENT'); 1289 1290 1291 /** 1292 * Workaround for bug in CMD.EXE. 1293 * It messes up when REXX have expanded the environment. 1294 */ 1295 FixCMDEnv: procedure 1296 /* check for 4OS2 first */ 1297 Address CMD 'set 4os2test_env=%@eval[2 + 2]'; 1298 if (value('4os2test_env',, 'OS2ENVIRONMENT') = '4') then 1299 return 0; 1300 1301 /* force environment expansion by setting a lot of variables and freeing them. */ 1302 do i = 1 to 100 1303 Address CMD '@set dummyenvvar'||i'=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; 1304 end 1305 do i = 1 to 100 1306 Address CMD '@set dummyenvvar'||i'='; 1307 end 1308 return 0; 1309 1310 1311 /** 1111 1312 * Execute a command and match output and return code. 1112 1313 * … … 1161 1362 1162 1363 1163 1164 1364 /** 1165 * Add sToAdd in front of sEnvVar. 1166 * Note: sToAdd now is allowed to be alist! 1167 * 1168 * Known features: Don't remove sToAdd from original value if sToAdd 1169 * is at the end and don't end with a ';'. 1170 */ 1171 EnvAddFront: procedure 1172 parse arg fRM, sEnvVar, sToAdd, sSeparator 1173 1174 /* sets default separator if not specified. */ 1175 if (sSeparator = '') then sSeparator = ';'; 1176 1177 /* checks that sToAdd ends with an ';'. Adds one if not. */ 1178 if (substr(sToAdd, length(sToAdd), 1) <> sSeparator) then 1179 sToAdd = sToAdd || sSeparator; 1180 1181 /* check and evt. remove ';' at start of sToAdd */ 1182 if (substr(sToAdd, 1, 1) = ';') then 1183 sToAdd = substr(sToAdd, 2); 1184 1185 /* loop thru sToAdd */ 1186 rc = 0; 1187 i = length(sToAdd); 1188 do while i > 1 & rc = 0 1189 j = lastpos(sSeparator, sToAdd, i-1); 1190 rc = EnvAddFront2(fRM, sEnvVar, substr(sToAdd, j+1, i - j), sSeparator); 1191 i = j; 1192 end 1193 1194 return rc; 1195 1196 /** 1197 * Add sToAdd in front of sEnvVar. 1198 * 1199 * Known features: Don't remove sToAdd from original value if sToAdd 1200 * is at the end and don't end with a ';'. 1201 */ 1202 EnvAddFront2: procedure 1203 parse arg fRM, sEnvVar, sToAdd, sSeparator 1204 1205 /* sets default separator if not specified. */ 1206 if (sSeparator = '') then sSeparator = ';'; 1207 1208 /* checks that sToAdd ends with a separator. Adds one if not. */ 1209 if (substr(sToAdd, length(sToAdd), 1) <> sSeparator) then 1210 sToAdd = sToAdd || sSeparator; 1211 1212 /* check and evt. remove the separator at start of sToAdd */ 1213 if (substr(sToAdd, 1, 1) = sSeparator) then 1214 sToAdd = substr(sToAdd, 2); 1215 1216 /* Get original variable value */ 1217 sOrgEnvVar = EnvGet(sEnvVar); 1218 1219 /* Remove previously sToAdd if exists. (Changing sOrgEnvVar). */ 1220 i = pos(translate(sToAdd), translate(sOrgEnvVar)); 1221 if (i > 0) then 1222 sOrgEnvVar = substr(sOrgEnvVar, 1, i-1) || substr(sOrgEnvVar, i + length(sToAdd)); 1223 1224 /* set environment */ 1225 if (fRM) then 1226 return EnvSet(0, sEnvVar, sOrgEnvVar); 1227 return EnvSet(0, sEnvVar, sToAdd||sOrgEnvVar); 1228 1229 1230 /** 1231 * Add sToAdd as the end of sEnvVar. 1232 * Note: sToAdd now is allowed to be alist! 1233 * 1234 * Known features: Don't remove sToAdd from original value if sToAdd 1235 * is at the end and don't end with a ';'. 1236 */ 1237 EnvAddEnd: procedure 1238 parse arg fRM, sEnvVar, sToAdd, sSeparator 1239 1240 /* sets default separator if not specified. */ 1241 if (sSeparator = '') then sSeparator = ';'; 1242 1243 /* checks that sToAdd ends with a separator. Adds one if not. */ 1244 if (substr(sToAdd, length(sToAdd), 1) <> sSeparator) then 1245 sToAdd = sToAdd || sSeparator; 1246 1247 /* check and evt. remove ';' at start of sToAdd */ 1248 if (substr(sToAdd, 1, 1) = sSeparator) then 1249 sToAdd = substr(sToAdd, 2); 1250 1251 /* loop thru sToAdd */ 1252 rc = 0; 1253 i = length(sToAdd); 1254 do while i > 1 & rc = 0 1255 j = lastpos(sSeparator, sToAdd, i-1); 1256 rc = EnvAddEnd2(fRM, sEnvVar, substr(sToAdd, j+1, i - j), sSeparator); 1257 i = j; 1258 end 1259 1260 return rc; 1261 1262 /** 1263 * Add sToAdd as the end of sEnvVar. 1264 * 1265 * Known features: Don't remove sToAdd from original value if sToAdd 1266 * is at the end and don't end with a ';'. 1267 */ 1268 EnvAddEnd2: procedure 1269 parse arg fRM, sEnvVar, sToAdd, sSeparator 1270 1271 /* sets default separator if not specified. */ 1272 if (sSeparator = '') then sSeparator = ';'; 1273 1274 /* checks that sToAdd ends with a separator. Adds one if not. */ 1275 if (substr(sToAdd, length(sToAdd), 1) <> sSeparator) then 1276 sToAdd = sToAdd || sSeparator; 1277 1278 /* check and evt. remove separator at start of sToAdd */ 1279 if (substr(sToAdd, 1, 1) = sSeparator) then 1280 sToAdd = substr(sToAdd, 2); 1281 1282 /* Get original variable value */ 1283 sOrgEnvVar = EnvGet(sEnvVar); 1284 1285 if (sOrgEnvVar <> '') then 1365 * Checks syslevel info. 1366 * @returns 0 if match. 1367 * <>0 if mismatch. 1368 * @param sFile Name of the syslevel file. 1369 * @param fQuiet Quiet / verbose flag. 1370 * @param sMatchCid Component id. (optional) 1371 * @param sMatchVer Version id. (optional) 1372 * @param sMatchLevel Current Level. (optional) 1373 * @param sMatchTitle Product title. (optional) 1374 * @param sMatchKind Product kind. (optional) 1375 * @param sMatchType Product type. (optional) 1376 */ 1377 CheckSyslevel: procedure 1378 parse arg sFile, fQuiet, sMatchCId,sMatchVer,sMatchLevel,sMatchTitle,iMatchKind,sMatchType,dummy 1379 1380 iRc = -1; 1381 1382 /* Open the file */ 1383 rc = stream(sFile, 'c', 'open read'); 1384 if (pos('READY', rc) = 1) then 1286 1385 do 1287 /* Remove previously sToAdd if exists. (Changing sOrgEnvVar). */ 1288 i = pos(translate(sToAdd), translate(sOrgEnvVar)); 1289 if (i > 0) then 1290 sOrgEnvVar = substr(sOrgEnvVar, 1, i-1) || substr(sOrgEnvVar, i + length(sToAdd)); 1291 1292 /* checks that sOrgEnvVar ends with a separator. Adds one if not. */ 1293 if (sOrgEnvVar = '') then 1294 if (right(sOrgEnvVar,1) <> sSeparator) then 1295 sOrgEnvVar = sOrgEnvVar || sSeparator; 1296 end 1297 1298 /* set environment */ 1299 if (fRM) then return EnvSet(0, sEnvVar, sOrgEnvVar); 1300 return EnvSet(0, sEnvVar, sOrgEnvVar||sToAdd); 1301 1302 1303 /** 1304 * Sets sEnvVar to sValue. 1305 */ 1306 EnvSet: procedure 1307 parse arg fRM, sEnvVar, sValue 1308 1309 /* if we're to remove this, make valuestring empty! */ 1310 if (fRM) then 1311 sValue = ''; 1312 sEnvVar = translate(sEnvVar); 1313 1314 /* 1315 * Begin/EndLibpath fix: 1316 * We'll have to set internal these using both commandline 'SET' 1317 * and internal VALUE in order to export it and to be able to 1318 * get it (with EnvGet) again. 1319 */ 1320 if ((sEnvVar = 'BEGINLIBPATH') | (sEnvVar = 'ENDLIBPATH')) then 1321 do 1322 if (length(sValue) >= 1024) then 1323 say 'Warning: 'sEnvVar' is too long,' length(sValue)' char.'; 1324 return SysSetExtLibPath(sValue, substr(sEnvVar, 1, 1)); 1325 end 1326 1327 if (length(sValue) >= 1024) then 1328 do 1329 say 'Warning: 'sEnvVar' is too long,' length(sValue)' char.'; 1330 say ' This may make CMD.EXE unstable after a SET operation to print the environment.'; 1331 end 1332 sRc = VALUE(sEnvVar, sValue, 'OS2ENVIRONMENT'); 1333 return 0; 1334 1335 /** 1336 * Gets the value of sEnvVar. 1337 */ 1338 EnvGet: procedure 1339 parse arg sEnvVar 1340 if ((translate(sEnvVar) = 'BEGINLIBPATH') | (translate(sEnvVar) = 'ENDLIBPATH')) then 1341 return SysQueryExtLibPath(substr(sEnvVar, 1, 1)); 1342 return value(sEnvVar,, 'OS2ENVIRONMENT'); 1343 1344 1345 /** 1346 * Workaround for bug in CMD.EXE. 1347 * It messes up when REXX have expanded the environment. 1348 */ 1349 FixCMDEnv: procedure 1350 /* check for 4OS2 first */ 1351 Address CMD 'set 4os2test_env=%@eval[2 + 2]'; 1352 if (value('4os2test_env',, 'OS2ENVIRONMENT') = '4') then 1353 return 0; 1354 1355 /* force environment expansion by setting a lot of variables and freeing them. */ 1356 do i = 1 to 100 1357 Address CMD '@set dummyenvvar'||i'=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; 1358 end 1359 do i = 1 to 100 1360 Address CMD '@set dummyenvvar'||i'='; 1361 end 1362 return 0; 1363 1364 1365 1366 1386 if (charin(sFile, 1, 11) = 'FF'x'FF'x'SYSLEVEL'||'00'x) then 1387 do 1388 /* read base offset (binary long) */ 1389 iBase = c2x(charin(sFile, 34, 4)); 1390 iBase = 1 + x2d(right(iBase,2)||substr(iBase,5,2)||substr(iBase,3,2)||left(iBase,2)); 1391 1392 /* Read fields... 1393 * 1394 * typedef struct _SYSLEVELDATA { offset 1395 * unsigned char d_reserved1[2]; 0 1396 * unsigned char d_kind; 2 1397 * unsigned char d_version[2]; 3 1398 * unsigned char d_reserved2[2]; 5 1399 * unsigned char d_clevel[7]; 7 1400 * unsigned char d_reserved3; 14 1401 * unsigned char d_plevel[7]; 15 1402 * unsigned char d_reserved4; 22 1403 * unsigned char d_title[80]; 23 1404 * unsigned char d_cid[9]; 103 1405 * unsigned char d_revision; 112 1406 * unsigned char d_type[1]; 113 1407 * } SYSLEVELDATA; 1408 */ 1409 iKind = c2d(charin(sFile, iBase+ 2, 1)); 1410 iVer = charin(sFile, iBase+ 3, 2); 1411 sCurLevel = strip(charin(sFile, iBase+ 7, 7), 'T', '00'x); 1412 sPreLevel = strip(charin(sFile, iBase+ 15, 7), 'T', '00'x); 1413 sTitle = strip(charin(sFile, iBase+ 23, 80), 'T', '00'x); 1414 sCId = charin(sFile, iBase+103, 9); 1415 iRev = charin(sFile, iBase+112, 1); 1416 sType = strip(charin(sFile, iBase+113, 10), 'T', '00'x); 1417 1418 sVer = substr(c2x(substr(iVer, 1, 1)), 1, 1)||, 1419 '.'||, 1420 substr(c2x(substr(iVer, 1, 1)), 2, 1)||, 1421 d2c(c2d(substr(iVer, 2, 1)) + 48); 1422 if (iRev <> 0) then 1423 sVer = sVer ||'.'|| d2c(c2d(iRev) + 48); 1424 1425 /* 1426 * Compare. 1427 */ 1428 iRc = 0; 1429 if (sMatchCId <> '' & sMatchCId <> sCid) then 1430 do 1431 if (\fQuiet) then 1432 say 'syslevel '''sFile''': cid '''sCId''' != '''sMatchCId'''.'; 1433 iRc = 2; 1434 end 1435 if (sMatchVer <> '' & sMatchVer <> sVer) then 1436 do 1437 if (\fQuiet) then 1438 say 'syslevel '''sFile''': ver '''sVer''' != '''sMatchVer'''.'; 1439 iRc = 3; 1440 end 1441 if (sMatchLevel <> '' & sMatchLevel <> sCurLevel) then 1442 do 1443 if (\fQuiet) then 1444 say 'syslevel '''sFile''': level '''sCurLevel''' != '''sMatchLevel'''.'; 1445 iRc = 4; 1446 end 1447 if (sMatchTitle <> '' & sMatchTitle <> sTitle) then 1448 do 1449 if (\fQuiet) then 1450 say 'syslevel '''sFile''': title '''sTitle''' != '''sMatchTitle'''.'; 1451 iRc = 5; 1452 end 1453 if (iMatchKind <> '' & iMatchKind <> iKind) then 1454 do 1455 if (\fQuiet) then 1456 say 'syslevel '''sFile''': kind '''iKind''' != '''iMatchKind'''.'; 1457 iRc = 6; 1458 end 1459 if (sMatchType <> '' & sMatchType <> sType) then 1460 do 1461 if (\fQuiet) then 1462 say 'syslevel '''sFile''': type '''sType''' != '''sMatchType'''.'; 1463 iRc = 7; 1464 end 1465 /* 1466 say 'debug:' 1467 say 'iKind =' iKind 1468 say 'sCurLevel =' sCurLevel 1469 say 'sPreLevel =' sPreLevel 1470 say 'sTitle =' sTitle 1471 say 'sCId =' sCId 1472 say 'sType =' sType 1473 say 'sVer =' sVer 1474 */ 1475 end 1476 else 1477 say 'bad signature'; 1478 1479 /* finished, close file */ 1480 call stream sFile, 'c', 'close'; 1481 end 1482 else say 'open failed, rc='rc; 1483 return iRc; 1367 1484 1368 1485 … … 2571 2688 ) then 2572 2689 return 2; 2573 rc = CheckCmdOutput('syslevel '||sPathTK||'\bin', 0, fQuiet, 'IBM Developer''s Toolkit for OS/2 Warp Version 4'||'0d0a'x||'Version 4.00.'); 2690 2691 rc = CheckSyslevel(sPathTK||'\bin\syslevel.tlk', fQuiet,,,,, 2692 'IBM Developer''s Toolkit for OS/2 Warp Version 4',, 2693 15, '0'); 2574 2694 if (rc = 0) then 2575 2695 rc = CheckCmdOutput('sc -V', -1, fQuiet, '", Version: 2.54.'); … … 2659 2779 ) then 2660 2780 return 2; 2661 rc = CheckCmdOutput('syslevel '||sPathTK||'\bin', 0, fQuiet, 'IBM OS/2 Developer''s Toolkit Version 4.5'||'0d0a'x||'Version 4.50 Component ID 5639F9300'); 2781 2782 rc = CheckSyslevel(sPathTK||'\bin\syslevel.tlk', fQuiet,, 2783 '5639F9300', '4.50', 'XR04500',, 2784 'IBM OS/2 Developer''s Toolkit Version 4.5',, 2785 15, '0'); 2662 2786 if (rc = 0) then 2663 2787 rc = CheckCmdOutput('rc', 0, fQuiet, 'IBM RC (Resource Compiler) Version 5.00.004'); … … 2745 2869 ) then 2746 2870 return 2; 2747 rc = CheckCmdOutput('syslevel '||sPathTK||'\bin', 0, fQuiet, 'IBM OS/2 Developer''s Toolkit Version 4.5'||'0d0a'x||'Version 4.50.1 Component ID 5639F9300'); 2871 2872 rc = CheckSyslevel(sPathTK||'\bin\syslevel.tlk', fQuiet,, 2873 '5639F9300', '4.50.1', 'XR04510',, 2874 'IBM OS/2 Developer''s Toolkit Version 4.5',, 2875 15, '0'); 2748 2876 if (rc = 0) then 2749 2877 rc = CheckCmdOutput('sc -V', -1, fQuiet, '", Version: 2.54.'); … … 2840 2968 ) then 2841 2969 return 2; 2842 rc = CheckCmdOutput('syslevel '||sPathTK||'\bin', 0, fQuiet, 'IBM OS/2 Developer''s Toolkit Version 4.5'||'0d0a'x||'Version 4.50.2 Component ID 5639F9300'); 2970 2971 rc = CheckSyslevel(sPathTK||'\bin\syslevel.tlk', fQuiet,, 2972 '5639F9300', '4.50.2', 'XR04520',, 2973 'IBM OS/2 Developer''s Toolkit Version 4.5',, 2974 15, '0'); 2843 2975 if (rc = 0) then 2844 2976 rc = CheckCmdOutput('sc -V', -1, fQuiet, '", Version: 2.54.'); … … 3009 3141 ) then 3010 3142 return 2; 3011 rc = CheckCmdOutput('syslevel '||sPathCPP||'\syslevel', 0, fQuiet, 'Version 3.00 Component ID 562201703'||'0d0a'x||'Current CSD level: CTC308'); 3012 if (rc = 0) then 3013 rc = CheckCmdOutput('syslevel '||sPathCPP||'\syslevel', 0, fQuiet, 'Version 3.00 Component ID 562201704'||'0d0a'x||'Current CSD level: CTU308'); 3143 3144 3145 rc = CheckSyslevel(sPathCPP||'\syslevel\syslevel.ct3', fQuiet,'562201703',,'CTC308',); 3146 if (rc = 0) then 3147 rc = CheckSyslevel(sPathCPP||'\syslevel\syslevel.ct4', fQuiet,'562201704',,'CTU308',); 3014 3148 /*if (rc = 0) then 3015 3149 rc = CheckCmdOutput('syslevel '||sPathCPP||'\syslevel', 0, fQuiet, 'Version 3.00 Component ID 562201707'||'0d0a'x||'Current CSD level: CTV308'); 3016 3150 if (rc = 0) then 3017 rc = CheckCmdOutput('syslevel '||sPathCPP||'\syslevel', 0, fQuiet, 'Version 3.00 Component ID 562201708'||'0d0a'x||'Current CSD level: CTD308');*/ 3018 if (rc = 0) then 3019 rc = CheckCmdOutput('syslevel '||sPathCPP||'\syslevel', 0, fQuiet, 'Version 3.00 Component ID 562201605'||'0d0a'x||'Current CSD level: CTC308'); 3151 rc = CheckSyslevel(sPathCPP||'\syslevel\syslevel.ct8', fQuiet,'562201708',,'CTD308',); 3152 */ 3153 if (rc = 0) then 3154 rc = CheckSyslevel(sPathCPP||'\syslevel\syslevel.wf5', fQuiet,'562201605',,'CTC308',); 3020 3155 /*if (rc = 0) then 3021 rc = CheckCmdOutput('syslevel '||sPathCPP||'\syslevel', 0, fQuiet, 'Version 3.00 Component ID 562201602'||'0d0a'x||'Current CSD level: CTO308');*/ 3156 rc = CheckSyslevel(sPathCPP||'\syslevel\syslevel.wf2', fQuiet,'562201602',,'CTO308',); 3157 */ 3022 3158 if (rc = 0) then 3023 3159 rc = CheckCmdOutput('icc', 0, fQuiet, 'IBM VisualAge C++ for OS/2, Version 3');
Note:
See TracChangeset
for help on using the changeset viewer.