Changeset 8583 for trunk/tools
- Timestamp:
- Jun 7, 2002, 3:37:07 AM (23 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/bin/buildenv.cmd
r8424 r8583 1 /* $Id: buildenv.cmd,v 1. 7 2002-05-16 11:50:22bird Exp $1 /* $Id: buildenv.cmd,v 1.8 2002-06-07 01:37:07 bird Exp $ 2 2 * 3 * This is the master environment script. It contains settings for many 4 * enviroment configurations. Environments may be set and unset 5 * interchangably. 6 * 3 * This is the master tools environment script. It contains environment 4 * configurations for many development tools. Each tool can be installed 5 * and uninstalled from the environment interchangably. 7 6 * 8 7 * Note: Of historic reasons, there are some environments here which … … 13 12 * - LANG is set to en_US by both VAC36 and TOOLKIT45. When unsetting 14 13 * those the original value, for example of no_NO, is not restored. 14 * - Same goes for some other stuff, we have no stack of previous values. 15 15 */ 16 16 … … 22 22 * Create argument array with lowercase arguments. 23 23 */ 24 parse arg sEnv.1 sEnv.2 sEnv.3 sEnv.4 sEnv.5 sEnv.6 sEnv.7 sEnv.8 sEnv.9 sEnv.10 sEnv.11 sEnv.12 sEnv.13 sEnv.14 sEnv.15 sEnv.16 sEnv.17 sEnv.18 sEnv.19 sEnv.20 sEnv.21 24 parse arg sEnv.1 sEnv.2 sEnv.3 sEnv.4 sEnv.5 sEnv.6 sEnv.7 sEnv.8 sEnv.9 sEnv.10 sEnv.11 sEnv.12 sEnv.13 sEnv.14 sEnv.15 sEnv.16 sEnv.17 sEnv.18 sEnv.19 sEnv.20 sEnv.21 sEnv.22 sEnv.23 25 25 26 26 i = 1; … … 57 57 58 58 i = 1; 59 /* environment id The function with args. Optional verify data. increment index */ 60 aCfg.i.sId = 'cvs'; aCfg.i.sSet = 'CVS'; aCfg.i.sDesc = 'CVS v1.10 or later'; i = i + 1; 61 aCfg.i.sId = 'db2v52'; aCfg.i.sSet = 'db2v52'; aCfg.i.sDesc = 'DB2 v5.2 Dev Edition'; i = i + 1; 62 aCfg.i.sId = 'ddkbase'; aCfg.i.sSet = 'DDKBase'; aCfg.i.sDesc = 'DDK base (recent)'; i = i + 1; 63 aCfg.i.sId = 'emx'; aCfg.i.sSet = 'EMX'; aCfg.i.sDesc = 'EMX v0.9d fixpack 04'; i = i + 1; 64 aCfg.i.sId = 'emxpgcc'; aCfg.i.sSet = 'EMXPGCC'; aCfg.i.sDesc = 'Pentium Optimized GCC/EMX v1.1.1 r2 with binutils 2.9.1'; i = i + 1; 65 aCfg.i.sId = 'icatgam'; aCfg.i.sSet = 'ICATGam'; aCfg.i.sDesc = 'ICAT for OS/2 latest'; i = i + 1; 66 aCfg.i.sId = 'icatgam406rc1'; aCfg.i.sSet = 'ICATGam406RC1'; aCfg.i.sDesc = 'ICAT for OS/2 v4.0.6 release candidate 1'; i = i + 1; 67 aCfg.i.sId = 'icatpe'; aCfg.i.sSet = 'ICATPe'; aCfg.i.sDesc = 'ICAT for OS/2 with PE support (test version)'; i = i + 1; 68 aCfg.i.sId = 'ida'; aCfg.i.sSet = 'IDA414'; aCfg.i.sDesc = 'Interactive DisAssembler (IDA) (latest)'; i = i + 1; 69 aCfg.i.sId = 'ida38'; aCfg.i.sSet = 'IDA38'; aCfg.i.sDesc = 'Interactive DisAssembler (IDA) v3.80 (historical)'; i = i + 1; 70 aCfg.i.sId = 'ida40'; aCfg.i.sSet = 'IDA40'; aCfg.i.sDesc = 'Interactive DisAssembler (IDA) v4.0 (historical)'; i = i + 1; 71 aCfg.i.sId = 'ida414'; aCfg.i.sSet = 'IDA414'; aCfg.i.sDesc = 'Interactive DisAssembler (IDA) v4.14'; i = i + 1; 72 aCfg.i.sId = 'idasdk'; aCfg.i.sSet = 'IDASDK'; aCfg.i.sDesc = 'Interactive DisAssembler (IDA) SDK'; i = i + 1; 73 aCfg.i.sId = 'mode12050'; aCfg.i.sSet = 'Mode,120,50'; aCfg.i.sDesc = 'mode 120,50'; i = i + 1; 74 aCfg.i.sId = 'mode8050'; aCfg.i.sSet = 'Mode,80,50'; aCfg.i.sDesc = 'mode 80,50'; i = i + 1; 75 /* obsolete id aCfg.i.sId = 'msc60'; aCfg.i.sSet = 'MSCV6_16'; aCfg.i.sDesc = 'MicroSoft C v6.0a 16-bit'; i = i + 1; */ 76 aCfg.i.sId = 'mscv6'; aCfg.i.sSet = 'MSCV6_32'; aCfg.i.sDesc = 'MicroSoft C v6.0 32-bit'; i = i + 1; 77 aCfg.i.sId = 'mscv6-16'; aCfg.i.sSet = 'MSCV6_16'; aCfg.i.sDesc = 'MicroSoft C v6.0a 16-bit'; i = i + 1; 78 aCfg.i.sId = 'mysql'; aCfg.i.sSet = 'mySQL'; aCfg.i.sDesc = 'MySql any version (latest from Yuri is recommended)'; i = i + 1; 79 aCfg.i.sId = 'netqos2'; aCfg.i.sSet = 'NetQOS2'; aCfg.i.sDesc = 'NetQOS2 - help system for VAC40,VAC365,DB2 and more.'; i = i + 1; 80 aCfg.i.sId = 'odin32testcase'; aCfg.i.sSet = 'Odin32Testcase'; aCfg.i.sDesc = 'Odin32 testcase setup'; i = i + 1; 81 aCfg.i.sId = 'perl'; aCfg.i.sSet = 'Perl'; aCfg.i.sDesc = 'Perl v5.0053'; i = i + 1; 82 aCfg.i.sId = 'python'; aCfg.i.sSet = 'Python'; aCfg.i.sDesc = 'Python v1.5'; i = i + 1; 83 aCfg.i.sId = 'toolkit40'; aCfg.i.sSet = 'Toolkit40'; aCfg.i.sDesc = 'Toolkit v4.0 CSD 4'; i = i + 1; 84 aCfg.i.sId = 'toolkit45'; aCfg.i.sSet = 'Toolkit45'; aCfg.i.sDesc = 'Toolkit v4.5'; i = i + 1; 85 aCfg.i.sId = 'toolkit451'; aCfg.i.sSet = 'Toolkit451'; aCfg.i.sDesc = 'Toolkit v4.5.1'; i = i + 1; 86 aCfg.i.sId = 'unix'; aCfg.i.sSet = 'Unix'; aCfg.i.sDesc = 'Misc unix stuff.'; i = i + 1; 87 /* obsolete id aCfg.i.sId = 'vac30'; aCfg.i.sSet = 'VAC308'; aCfg.i.sDesc = 'VisualAge for C++ v3.08'; i = i + 1; */ 88 aCfg.i.sId = 'vac308'; aCfg.i.sSet = 'VAC308'; aCfg.i.sDesc = 'VisualAge for C++ v3.08'; i = i + 1; 89 /* osbolete id aCfg.i.sId = 'vac36'; aCfg.i.sSet = 'VAC365'; aCfg.i.sDesc = ''; i = i + 1; */ 90 aCfg.i.sId = 'vac365'; aCfg.i.sSet = 'VAC365'; aCfg.i.sDesc = 'VisualAge for C++ v3.6.5 FP2 with latest optimizer fixes.'; i = i + 1; 91 aCfg.i.sId = 'vac40'; aCfg.i.sSet = 'VAC40'; aCfg.i.sDesc = 'VisualAge for C++ v4.0 FP2(??)'; i = i + 1; 92 aCfg.i.sId = 'warpin'; aCfg.i.sSet = 'WarpIn'; aCfg.i.sDesc = 'WarpIn 0.9.18+ (for Odin32 18 with fix is required)'; i = i + 1; 93 aCfg.i.sId = 'watcomc11'; aCfg.i.sSet = 'WatComC11,32,'; aCfg.i.sDesc = 'Watcom C/C++ v11.0 32-bit (no fixes)'; i = i + 1; 94 aCfg.i.sId = 'watcomc11-16'; aCfg.i.sSet = 'WatComC11,16'; aCfg.i.sDesc = 'Watcom C/C++ v11.0 16-bit (no fixes)'; i = i + 1; 95 aCfg.i.sId = 'watcomc11c'; aCfg.i.sSet = 'WatComC11c,32'; aCfg.i.sDesc = 'Watcom C/C++ v11.0c 32-bit (beta)'; i = i + 1; 96 aCfg.i.sId = 'watcomc11c-16'; aCfg.i.sSet = 'WatComC11c,16'; aCfg.i.sDesc = 'Watcom C/C++ v11.0c 16-bit (beta)'; i = i + 1; 59 /* Tool id The tool's group The function with args. Optional verify data. increment index */ 60 aCfg.i.sId = 'cvs'; aCfg.i.sGrp = 'version'; aCfg.i.sSet = 'CVS'; aCfg.i.sDesc = 'CVS v1.10 or later'; i = i + 1; 61 aCfg.i.sId = 'db2v52'; aCfg.i.sGrp = 'database'; aCfg.i.sSet = 'db2v52'; aCfg.i.sDesc = 'DB2 v5.2 Dev Edition'; i = i + 1; 62 aCfg.i.sId = 'ddkbase'; aCfg.i.sGrp = 'ddk'; aCfg.i.sSet = 'DDKBase'; aCfg.i.sDesc = 'DDK base (recent)'; i = i + 1; 63 aCfg.i.sId = 'emx'; aCfg.i.sGrp = 'comp32'; aCfg.i.sSet = 'EMX'; aCfg.i.sDesc = 'EMX v0.9d fixpack 04'; i = i + 1; 64 aCfg.i.sId = 'emxpgcc'; aCfg.i.sGrp = 'comp32'; aCfg.i.sSet = 'EMXPGCC'; aCfg.i.sDesc = 'Pentium Optimized GCC/EMX v1.1.1 r2 with binutils 2.9.1'; i = i + 1; 65 aCfg.i.sId = 'icatgam'; aCfg.i.sGrp = 'debugger'; aCfg.i.sSet = 'ICATGam'; aCfg.i.sDesc = 'ICAT for OS/2 latest'; i = i + 1; 66 aCfg.i.sId = 'icatgam406rc1'; aCfg.i.sGrp = 'debugger'; aCfg.i.sSet = 'ICATGam406RC1'; aCfg.i.sDesc = 'ICAT for OS/2 v4.0.6 release candidate 1'; i = i + 1; 67 aCfg.i.sId = 'icatpe'; aCfg.i.sGrp = 'debugger'; aCfg.i.sSet = 'ICATPe'; aCfg.i.sDesc = 'ICAT for OS/2 with PE support (test version)'; i = i + 1; 68 aCfg.i.sId = 'ida'; aCfg.i.sGrp = 'misc'; aCfg.i.sSet = 'IDA414'; aCfg.i.sDesc = 'Interactive DisAssembler (IDA) (latest)'; i = i + 1; 69 aCfg.i.sId = 'ida38'; aCfg.i.sGrp = 'misc'; aCfg.i.sSet = 'IDA38'; aCfg.i.sDesc = 'Interactive DisAssembler (IDA) v3.80 (historical)'; i = i + 1; 70 aCfg.i.sId = 'ida40'; aCfg.i.sGrp = 'misc'; aCfg.i.sSet = 'IDA40'; aCfg.i.sDesc = 'Interactive DisAssembler (IDA) v4.0 (historical)'; i = i + 1; 71 aCfg.i.sId = 'ida414'; aCfg.i.sGrp = 'misc'; aCfg.i.sSet = 'IDA414'; aCfg.i.sDesc = 'Interactive DisAssembler (IDA) v4.14'; i = i + 1; 72 aCfg.i.sId = 'idasdk'; aCfg.i.sGrp = 'misc'; aCfg.i.sSet = 'IDASDK'; aCfg.i.sDesc = 'Interactive DisAssembler (IDA) SDK'; i = i + 1; 73 aCfg.i.sId = 'mode12050'; aCfg.i.sGrp = 'misc'; aCfg.i.sSet = 'Mode,120,50'; aCfg.i.sDesc = 'mode 120,50'; i = i + 1; 74 aCfg.i.sId = 'mode8050'; aCfg.i.sGrp = 'misc'; aCfg.i.sSet = 'Mode,80,50'; aCfg.i.sDesc = 'mode 80,50'; i = i + 1; 75 aCfg.i.sId = 'mscv6'; aCfg.i.sGrp = 'comp32'; aCfg.i.sSet = 'MSCV6_32'; aCfg.i.sDesc = 'MicroSoft C v6.0 32-bit'; i = i + 1; 76 aCfg.i.sId = 'mscv6-16'; aCfg.i.sGrp = 'comp16'; aCfg.i.sSet = 'MSCV6_16'; aCfg.i.sDesc = 'MicroSoft C v6.0a 16-bit'; i = i + 1; 77 aCfg.i.sId = 'mysql'; aCfg.i.sGrp = 'database'; aCfg.i.sSet = 'mySQL'; aCfg.i.sDesc = 'MySql any version (latest from Yuri is recommended)'; i = i + 1; 78 aCfg.i.sId = 'netqos2'; aCfg.i.sGrp = 'misc'; aCfg.i.sSet = 'NetQOS2'; aCfg.i.sDesc = 'NetQOS2 - help system for VAC40,VAC365,DB2 and more.'; i = i + 1; 79 aCfg.i.sId = 'odin32testcase'; aCfg.i.sGrp = 'tests'; aCfg.i.sSet = 'Odin32Testcase'; aCfg.i.sDesc = 'Odin32 testcase setup'; i = i + 1; 80 aCfg.i.sId = 'perl'; aCfg.i.sGrp = 'script'; aCfg.i.sSet = 'Perl'; aCfg.i.sDesc = 'Perl v5.0053'; i = i + 1; 81 aCfg.i.sId = 'python'; aCfg.i.sGrp = 'script'; aCfg.i.sSet = 'Python'; aCfg.i.sDesc = 'Python v1.5'; i = i + 1; 82 aCfg.i.sId = 'toolkit40'; aCfg.i.sGrp = 'tlktos2'; aCfg.i.sSet = 'Toolkit40'; aCfg.i.sDesc = 'Toolkit v4.0 CSD 4'; i = i + 1; 83 aCfg.i.sId = 'toolkit45'; aCfg.i.sGrp = 'tlktos2'; aCfg.i.sSet = 'Toolkit45'; aCfg.i.sDesc = 'Toolkit v4.5'; i = i + 1; 84 aCfg.i.sId = 'toolkit451'; aCfg.i.sGrp = 'tlktos2'; aCfg.i.sSet = 'Toolkit451'; aCfg.i.sDesc = 'Toolkit v4.5.1'; i = i + 1; 85 aCfg.i.sId = 'unix'; aCfg.i.sGrp = 'misc'; aCfg.i.sSet = 'Unix'; aCfg.i.sDesc = 'Misc unix stuff.'; i = i + 1; 86 aCfg.i.sId = 'vac308'; aCfg.i.sGrp = 'comp32'; aCfg.i.sSet = 'VAC308'; aCfg.i.sDesc = 'VisualAge for C++ v3.08'; i = i + 1; 87 aCfg.i.sId = 'vac365'; aCfg.i.sGrp = 'comp32'; aCfg.i.sSet = 'VAC365'; aCfg.i.sDesc = 'VisualAge for C++ v3.6.5 FP2 with latest optimizer fixes.'; i = i + 1; 88 aCfg.i.sId = 'vac40'; aCfg.i.sGrp = 'comp32'; aCfg.i.sSet = 'VAC40'; aCfg.i.sDesc = 'VisualAge for C++ v4.0 FP2(??)'; i = i + 1; 89 aCfg.i.sId = 'warpin'; aCfg.i.sGrp = 'misc'; aCfg.i.sSet = 'WarpIn'; aCfg.i.sDesc = 'WarpIn 0.9.18+ (for Odin32 18 with fix is required)'; i = i + 1; 90 aCfg.i.sId = 'watcomc11'; aCfg.i.sGrp = 'comp32'; aCfg.i.sSet = 'WatComC11,32,'; aCfg.i.sDesc = 'Watcom C/C++ v11.0 32-bit (no fixes)'; i = i + 1; 91 aCfg.i.sId = 'watcomc11-16'; aCfg.i.sGrp = 'comp16'; aCfg.i.sSet = 'WatComC11,16'; aCfg.i.sDesc = 'Watcom C/C++ v11.0 16-bit (no fixes)'; i = i + 1; 92 aCfg.i.sId = 'watcomc11c'; aCfg.i.sGrp = 'comp32'; aCfg.i.sSet = 'WatComC11c,32'; aCfg.i.sDesc = 'Watcom C/C++ v11.0c 32-bit (beta)'; i = i + 1; 93 aCfg.i.sId = 'watcomc11c-16'; aCfg.i.sGrp = 'comp16'; aCfg.i.sSet = 'WatComC11c,16'; aCfg.i.sDesc = 'Watcom C/C++ v11.0c 16-bit (beta)'; i = i + 1; 97 94 aCfg.0 = i - 1; 98 95 … … 114 111 */ 115 112 ch = substr(sEnv.i, length(sEnv.i), 1); 116 if (ch = '-' | ch = '+' | ch = '*' ) then113 if (ch = '-' | ch = '+' | ch = '*' | ch = '!' | ch = '@') then 117 114 sEnv.i = substr(sEnv.i, 1, length(sEnv.i) - 1); 118 115 fRM = (ch = '-'); 119 116 fCfg = (ch = '*'); 117 fForcedCfg = (ch = '!'); 118 fVerify = (ch = '@') 120 119 121 120 /* … … 124 123 rc = 0; 125 124 select 125 126 /* 127 * Multi tool operations. 128 */ 129 when (sEnv.i = 'allconfig') then do 130 do j = 1 to aCfg.0 131 rc = CfgConfigure(j, 0); 132 if (rc >= 8) then 133 exit(rc); 134 end 135 end 136 137 when (sEnv.i = 'allconfig') then do 138 do j = 1 to aCfg.0 139 if (CfgVerify(j, 0, 1) <> 0) then 140 do 141 rc = CfgConfigure(j, 1); 142 if (rc >= 8) then 143 exit(rc); 144 end 145 end 146 end 147 148 when (sEnv.i = 'allreconfig') then do 149 do j = 1 to aCfg.0 150 rc = CfgConfigure(j, 1); 151 if (rc >= 8) then 152 exit(rc); 153 end 154 end 155 156 when (sEnv.i = 'allverify') then do 157 do j = 1 to aCfg.0 158 if (CfgIsConfigured(j)) then 159 call CfgVerify j, 0, 1; 160 end 161 end 162 163 when (sEnv.i = 'alluninstall') then do 164 do j = 1 to aCfg.0 165 if (CfgIsConfigured(j)) then 166 call CfgInstallUninstall j, 1; 167 end 168 end 169 170 when (sEnv.i = 'showall') then do 171 do j = 1 to aCfg.0 172 say left(aCfg.j.sId, 15) '-' left(aCfg.j.sGrp, 8) '-' aCfg.j.sDesc 173 end 174 end 175 when (sEnv.i = 'showconfigured') then do 176 do j = 1 to aCfg.0 177 if (CfgIsConfigured(j)) then 178 say left(aCfg.j.sId, 15) '-' left(aCfg.j.sGrp, 8) '-' aCfg.j.sDesc 179 end 180 end 181 182 when (sEnv.i = 'shownotconfigured') then do 183 do j = 1 to aCfg.0 184 if (\CfgIsConfigured(j)) then 185 say left(aCfg.j.sId, 15) '-' left(aCfg.j.sGrp, 8) '-' aCfg.j.sDesc 186 end 187 end 188 189 190 /* 191 * Special 'tools'. 192 */ 126 193 when (sEnv.i = 'debug') then do 127 rc = Env Var_Set(0, 'DEBUG','1');128 rc = Env Var_Set(0, 'RELEASE','');129 rc = Env Var_Set(0, 'BUILD_MODE','DEBUG');194 rc = EnvSet(0, 'DEBUG','1'); 195 rc = EnvSet(0, 'RELEASE',''); 196 rc = EnvSet(0, 'BUILD_MODE','DEBUG'); 130 197 end 131 198 when (sEnv.i = 'profile') then do 132 rc = Env Var_Set(0, 'DEBUG','1');133 rc = Env Var_Set(0, 'RELEASE','');134 rc = Env Var_Set(0, 'BUILD_MODE','PROFILE');199 rc = EnvSet(0, 'DEBUG','1'); 200 rc = EnvSet(0, 'RELEASE',''); 201 rc = EnvSet(0, 'BUILD_MODE','PROFILE'); 135 202 end 136 203 when (sEnv.i = 'release') then do 137 rc = Env Var_Set(0, 'DEBUG','');138 rc = Env Var_Set(0, 'RELEASE','1');139 rc = Env Var_Set(0, 'BUILD_MODE','RELEASE');204 rc = EnvSet(0, 'DEBUG',''); 205 rc = EnvSet(0, 'RELEASE','1'); 206 rc = EnvSet(0, 'BUILD_MODE','RELEASE'); 140 207 end 141 208 142 209 when (sEnv.i = 'buildsetup') then 143 rc = EnvVar_Set(0, 'BUILD_SETUP_MAK','make\setup.mak'); 144 210 rc = EnvSet(0, 'BUILD_SETUP_MAK','make\setup.mak'); 211 212 /* 213 * Generic 214 */ 145 215 otherwise 146 216 do … … 153 223 */ 154 224 fFound = 1; 155 if (fCfg) then; say 'Verify & Config of the 'sEnv.i' ('CfgDesc(sEnv.i)') environment...'; 156 if (pos(',', aCfg.j.sSet) > 0) then 157 sRexx = substr(aCfg.j.sSet, 1, pos(',', aCfg.j.sSet) - 1) || '(aCfg.j.sSet,fRM,fCfg', 158 || substr(aCfg.j.sSet, pos(',', aCfg.j.sSet)) || ')'; 225 226 /* 227 * Take requested action. 228 */ 229 rc = -16; 230 if (fCfg | fForcedCfg) then 231 rc = CfgConfigure(j, fForcedCfg); 232 else if (fVerify) then 233 rc = CfgVerify(j, 0, 1); 159 234 else 160 sRexx = aCfg.j.sSet || '(sEnv.i,fRM,fCfg)'; 161 interpret 'rc = '||sRexx; 162 163 /* 164 * Loop till rc=0 or leave. 165 */ 166 do while (rc <> 0) 167 select 168 when (rc = 1) then 169 do 170 if (fCfg = 0) then 171 do 172 say 'fatal error: One of the paths for environment '''sEnv.i''' wasn'' found.'; 173 say ' Please (re-)configure the environment.'; 174 call SysSleep 5; 175 exit(16); 176 end 177 say 'warning: The user refused to give a path, continuing.'; 178 end 179 180 when (rc = 2) then 181 say 'error: verify failed ''cause some vital file wasn''t found.'; 182 183 when (rc = 49) then 184 say 'error: verify failed ''cause some vital command didn''t return as expected.'; 185 186 when (rc = 99) then 187 say 'error: verify failed ''cause some vital command didn''t return the expected output.'; 188 189 otherwise 190 do 191 say 'internal error: bad return code from '''sRexx''' rc=' rc'.'; 192 call SysSleep 5; 193 exit(16); 194 end 195 end 196 197 /* 198 * Retry the config if the user wan't so. 199 */ 200 fCfg = 3; /* forced reconfig. */ 201 say '(Re)Try to config the environment' sEnv.i '('CfgDesc(sEnv.i)')? (y/N)'; 202 sAnswer = PullUser(1); 203 if (substr(strip(sAnswer),1,1) <> 'Y') then 204 leave; 205 interpret 'rc = '||sRexx; 206 end 207 rc = 0; 235 rc = CfgInstallUninstall(j, fRM); 208 236 leave; 209 237 end 210 end 238 end /* loop */ 211 239 212 240 if (\fFound) then 213 241 do 214 say 'error: unknown environment! - 'sEnv.i;215 call SysSleep 5;242 say 'error: unknown tool! - 'sEnv.i; 243 call SysSleep 2; 216 244 exit(16) 217 245 end … … 253 281 NoValueHandler: 254 282 say 'NoValueHandler: line 'SIGL; 255 return 283 return; 284 285 286 /** 287 * Get the description of an tool. 288 * @returns Description string. 289 * '' if not found. 290 * @param sToolId Tool id. 291 */ 292 CfgDesc: procedure expose aCfg. aPath. sPathFile 293 parse arg sToolId 294 do i = 1 to aCfg.0 295 if (aCfg.i.sId = sToolId) then 296 return aCfg.i.sDesc; 297 end 298 return sToolId; 299 300 301 /** 302 * Lookups up an env. config in the aCfg. array. 303 * @return Index of sToolId. 304 * aCfg.0+1 on error. 305 * @param sToolId Tool id. 306 */ 307 CfgLookup: procedure expose aCfg. aPath. sPathFile 308 parse arg sToolId 309 iTool = 1; 310 do while ((iTool <= aCfg.0) & (aCfg.iTool.sId <> sToolId)) 311 iTool = iTool + 1; 312 end 313 return iTool; 314 315 316 /** 317 * Verifies a configuration. 318 * @returns 0 on success. 319 * 4 on error/warnings which is continuable. 320 * 8 or higher or on fatal errors. 321 * @param iTool The tool index in aCfg. 322 * @param fRM If set we'll uninstall the tool from the environment. 323 */ 324 CfgInstallUninstall: procedure expose aCfg. aPath. sPathFile 325 parse arg iTool, fRM 326 327 /* make rexx expression */ 328 if (pos(',', aCfg.iTool.sSet) > 0) then 329 sRexx = substr(aCfg.iTool.sSet, 1, pos(',', aCfg.iTool.sSet) - 1) || '(aCfg.iTool.sSet,sOperation,fRM,fQuiet', 330 || substr(aCfg.iTool.sSet, pos(',', aCfg.iTool.sSet)) || ')'; 331 else 332 sRexx = aCfg.iTool.sSet || '(aCfg.iTool.sSet,sOperation,fRM,fQuiet)'; 333 fQuiet = 0; 334 if (\fRM) then sOperation = 'install'; 335 else sOperation = 'uninstall'; 336 337 /* call the tool procedure with a verify operation. */ 338 interpret 'iRc = '||sRexx; 339 340 /* On failure we'll complain and quietly uninstall the tool. */ 341 if (iRc <> 0) then 342 do 343 /* complain */ 344 if (\fQuiet) then 345 do 346 select 347 when (iRc = 1) then 348 say 'error - 'aCfg.iTool.sId': 'sOperation' not configured - ie. no path.'; 349 when (iRc = 2) then 350 say 'error - 'aCfg.iTool.sId': 'sOperation' failed ''cause some vital file/dir wasn''t found.'; 351 when (iRc = 49) then 352 say 'error - 'aCfg.iTool.sId': 'sOperation' failed ''cause some vital command didn''t return as expected.'; 353 when (iRc = 99) then 354 say 'error - 'aCfg.iTool.sId': 'sOperation' failed ''cause some vital command didn''t return the expected output.'; 355 otherwise 356 say 'internal error- 'aCfg.iTool.sId': bad return code from '''sRexx''' rc=' iRc'.'; 357 end 358 end 359 360 /* uninstall silently */ 361 fRM = 1; 362 fQuiet = 1; 363 sOperation = 'quietuninstall'; 364 interpret 'rcignore = '||sRexx; 365 end 366 return iRc; 367 368 369 370 371 /** 372 * Configures an tool. 373 * @returns 0 on success. 374 * 4 on error/warnings which is continuable. 375 * 8 or higher or on fatal errors. 376 * @param iTool The tool configuration to configure. 377 * @param fForced If set, we'll force a reconfiguration of the tool. 378 */ 379 CfgConfigure: procedure expose aCfg. aPath. sPathFile 380 parse arg iTool, fForced 381 382 /* 383 * First verfiy the configuration quietly, we don't have to do anything if it's ok. 384 */ 385 if (\fForced & (CfgVerify(iTool, 1, 1) = 0)) then 386 return 0; 387 388 /* 389 * We have to configure it! 390 */ 391 say 'Config of the 'aCfg.iTool.sId' ('CfgDesc(aCfg.iTool.sId)') tool.'; 392 393 /* make rexx expression */ 394 if (pos(',', aCfg.iTool.sSet) > 0) then 395 sRexx = substr(aCfg.iTool.sSet, 1, pos(',', aCfg.iTool.sSet) - 1) || '(aCfg.iTool.sSet,sOperation,fRM,fQuiet', 396 || substr(aCfg.iTool.sSet, pos(',', aCfg.iTool.sSet)) || ')'; 397 else 398 sRexx = aCfg.iTool.sSet || '(aCfg.iTool.sSet,sOperation,fRM,fQuiet)'; 399 if (fForced) then sOperation = 'forcedconfig'; 400 else sOperation = 'config'; 401 fRM = 0; 402 fQuiet = 0; 403 404 405 /* 406 * Loop till rc=0 or user gives up. 407 */ 408 rc = -1 409 do while (rc <> 0) 410 /* configure */ 411 interpret 'rc = '||sRexx; 412 413 if (rc <> 0) then do 414 say 'warning: The user refused to give a path, continuing.'; 415 return 4; 416 end 417 418 /* verifying */ 419 rc = CfgVerify(iTool, 0, 1); 420 sOperation = 'verify'; 421 if (rc = 0) then 422 leave; 423 424 /* Retry the config if the user wanna do so. */ 425 say '' 426 say 'Retry configuring the tool' aCfg.iTool.sId '('CfgDesc(aCfg.iTool.sId)')? (y/N)'; 427 sAnswer = PullUser(1); 428 if (substr(strip(sAnswer),1,1) <> 'Y') then 429 return 4; 430 sOperation = 'forcedconfig'; 431 end 432 433 /* 434 * Write path file and return successfully. 435 */ 436 call PathWrite; 437 return 0; 438 439 440 /** 441 * Verifies a configuration. 442 * @returns Return code from the environment procedure. 443 * @param iTool The tool index in aCfg. 444 * @param fQuiet If set we'll to a quiet verify. 445 * @param fCleanup If set we'll clean properly. 446 */ 447 CfgVerify: procedure expose aCfg. aPath. sPathFile 448 parse arg iTool, fQuiet, fCleanup 449 450 /* make rexx expression */ 451 if (pos(',', aCfg.iTool.sSet) > 0) then 452 sRexx = substr(aCfg.iTool.sSet, 1, pos(',', aCfg.iTool.sSet) - 1) || '(aCfg.iTool.sSet,sOperation,fRM,fQuiet', 453 || substr(aCfg.iTool.sSet, pos(',', aCfg.iTool.sSet)) || ')'; 454 else 455 sRexx = aCfg.iTool.sSet || '(aCfg.iTool.sSet,sOperation,fRM,fQuiet)'; 456 if (fQuiet) then sOperation = 'quietverify'; 457 else sOperation = 'verify'; 458 fRM = 0; 459 460 /* call the tool procedure with a verify operation. */ 461 interpret 'iRc = '||sRexx; 462 463 /* On failure we'll complain and quietly uninstall the tool. */ 464 if (iRc <> 0) then 465 do 466 /* complain */ 467 if (\fQuiet) then 468 do 469 select 470 when (iRc = 1) then 471 say 'warning - 'aCfg.iTool.sId': The user refused to give a path, continuing.'; 472 when (iRc = 2) then 473 say 'error - 'aCfg.iTool.sId': verify failed ''cause some vital file/dir wasn''t found.'; 474 when (iRc = 49) then 475 say 'error - 'aCfg.iTool.sId': verify failed ''cause some vital command didn''t return as expected.'; 476 when (iRc = 99) then 477 say 'error - 'aCfg.iTool.sId': verify failed ''cause some vital command didn''t return the expected output.'; 478 otherwise 479 say 'internal error- 'aCfg.iTool.sId': bad return code from '''sRexx''' iRc=' iRc'.'; 480 end 481 end 482 fCleanup = 1; 483 end 484 485 /* uninstall */ 486 if (fCleanup) then 487 do 488 fRM = 1; 489 fQuiet = 1; 490 sOperation = 'quietuninstall'; 491 interpret 'rcignore = '||sRexx; 492 end 493 return iRc; 494 495 496 /** 497 * Verifies a configuration. 498 * @returns Return code from the environment procedure. 499 * @param iTool The tool index in aCfg. 500 * @param fQuiet If set we'll to a quiet verify. 501 */ 502 CfgIsConfigured: procedure expose aCfg. aPath. sPathFile 503 parse arg iTool 504 505 /* make rexx expression */ 506 if (pos(',', aCfg.iTool.sSet) > 0) then 507 sRexx = substr(aCfg.iTool.sSet, 1, pos(',', aCfg.iTool.sSet) - 1) || '(aCfg.iTool.sSet,''quietisconfig'',0,1', 508 || substr(aCfg.iTool.sSet, pos(',', aCfg.iTool.sSet)) || ')'; 509 else 510 sRexx = aCfg.iTool.sSet || '(aCfg.iTool.sSet,''quietisconfig'',0,1)'; 511 interpret 'iRc = '||sRexx; 512 return (iRc = 0); 513 514 515 516 /** 517 * Checks if a file exists. 518 * @param sFile Name of the file to look for. 519 * @param fQuiet Flag which tells whether to be quiet or not. 520 * @returns TRUE if file exists. 521 * FALSE if file doesn't exists. 522 */ 523 CfgVerifyFile: procedure expose aCfg. aPath. sPathFile 524 parse arg sFile, fQuiet 525 rc = stream(sFile, 'c', 'query exist'); 526 if ((rc = '') & \fQuiet) then 527 say 'Verify existance of '''sFile''' failed.'; 528 return rc <> ''; 529 530 531 /** 532 * Checks if a directory exists. 533 * @param sDir Name of the dir to look for. 534 * @param fQuiet Flag which tells whether to be quiet or not. 535 * @returns TRUE if file exists. 536 * FALSE if file doesn't exists. 537 */ 538 CfgVerifyDir: procedure expose aCfg. aPath. sPathFile 539 parse arg sDir, fQuiet 540 rc = SysFileTree(sDir, 'sDirs', 'DO'); 541 if (rc = 0 & sDirs.0 = 1) then 542 return 1; 543 if (\fQuiet) then 544 say 'Verify existance of '''sDir''' failed.'; 545 return 0; 546 547 548 256 549 257 550 … … 261 554 * @returns Lower cased, absolute, backward slashed, path to program. 262 555 * @param sPathId Program identifier. (lowercase!) 263 *264 * @remark265 * Unless this causes a lot of trouble, we'll keep it in the script.266 * Having this externaly will slow down the script execution267 * somewhat I'm afraid. And the script is slow enought as it is.268 *269 556 */ 270 557 PathQuery: procedure expose aCfg. aPath. sPathFile 271 parse arg sPathId, s EnvId, fCfg, fOptional558 parse arg sPathId, sToolId, sOperation, fOptional 272 559 273 560 if (fOptional = '') then … … 281 568 282 569 /* 283 * If no data found fill in defaults .570 * If no data found fill in defaults (if known host). 284 571 */ 285 572 if (aPath.0 = 0) then 286 573 do 287 say 'Info: No or empty path file, using defaults.'; 288 i = 1; 289 aPath.i.sPId = 'cvs'; aPath.i.sPath = 'f:\cvs'; i = i + 1; 290 aPath.i.sPId = 'emx'; aPath.i.sPath = 'f:\emx'; i = i + 1; 291 aPath.i.sPId = 'emxpgcc'; aPath.i.sPath = 'f:\emxpgcc'; i = i + 1; 292 aPath.i.sPId = 'db2v52'; aPath.i.sPath = 'f:\sqllib52'; i = i + 1; 293 aPath.i.sPId = 'icatgam'; aPath.i.sPath = 'f:\icatos2'; i = i + 1; 294 aPath.i.sPId = 'icatgam406rc1'; aPath.i.sPath = 'f:\icatos2.4.0.6.rc1'; i = i + 1; 295 aPath.i.sPId = 'icatpe'; aPath.i.sPath = 'f:\icatpe'; i = i + 1; 296 aPath.i.sPId = 'ida38'; aPath.i.sPath = 'f:\ida38'; i = i + 1; 297 aPath.i.sPId = 'ida40'; aPath.i.sPath = 'f:\ida401'; i = i + 1; 298 aPath.i.sPId = 'ida414'; aPath.i.sPath = 'f:\ida414'; i = i + 1; 299 aPath.i.sPId = 'idasdk'; aPath.i.sPath = 'f:\idasdk'; i = i + 1; 300 aPath.i.sPId = 'ddkbase'; aPath.i.sPath = 'f:\ddk\base'; i = i + 1; 301 aPath.i.sPId = 'home'; aPath.i.sPath = 'e:\user\kso'; i = i + 1; 302 aPath.i.sPId = 'mscv6-16'; aPath.i.sPath = 'f:\ddktools\toolkits\msc60'; i = i + 1; 303 aPath.i.sPId = 'mysql'; aPath.i.sPath = 'f:\mysql2'; i = i + 1; 304 aPath.i.sPId = 'netqos2'; aPath.i.sPath = 'f:\netqos2'; i = i + 1; 305 aPath.i.sPId = 'perl'; aPath.i.sPath = 'f:\perllib'; i = i + 1; 306 aPath.i.sPId = 'python'; aPath.i.sPath = 'f:\python'; i = i + 1; 307 aPath.i.sPId = 'toolkit40'; aPath.i.sPath = 'f:\toolkit'; i = i + 1; 308 aPath.i.sPId = 'toolkit45'; aPath.i.sPath = 'f:\toolkit45'; i = i + 1; 309 aPath.i.sPId = 'toolkit451'; aPath.i.sPath = 'f:\toolkit451'; i = i + 1; 310 aPath.i.sPId = 'unixroot'; aPath.i.sPath = 'e:\unix'; i = i + 1; 311 aPath.i.sPId = 'xfree86'; aPath.i.sPath = 'e:\xfree86'; i = i + 1; 312 aPath.i.sPId = 'vac308'; aPath.i.sPath = 'f:\ibmcpp'; i = i + 1; 313 aPath.i.sPId = 'vac365'; aPath.i.sPath = 'f:\ibmcxxo'; i = i + 1; 314 aPath.i.sPId = 'vac40'; aPath.i.sPath = 'f:\ibmcpp40'; i = i + 1; 315 aPath.i.sPId = 'warpin'; aPath.i.sPath = 'f:\warpin'; i = i + 1; 316 aPath.i.sPId = 'watcom11'; aPath.i.sPath = 'f:\watcom'; i = i + 1; 317 aPath.i.sPId = 'watcom11c'; aPath.i.sPath = 'f:\watcom11c'; i = i + 1; 318 aPath.i.sPId = 'testcase_drive_unused'; aPath.i.sPath = 'l'; /* reqired */ i = i + 1; 319 aPath.i.sPId = 'testcase_drive_fixed'; aPath.i.sPath = 'c'; /* reqired */ i = i + 1; 320 aPath.i.sPId = 'testcase_drive_floppy'; aPath.i.sPath = 'a'; /* reqired */ i = i + 1; 321 aPath.i.sPId = 'testcase_drive_cdrom'; aPath.i.sPath = 'k'; /* optional */ i = i + 1; 322 aPath.i.sPId = 'testcase_drive_network'; aPath.i.sPath = 's'; /* optional */ i = i + 1; 323 /*aPath.i.sPId = 'testcase_drive_ramdisk'; aPath.i.sPath = ''; /* optional */ i = i + 1;*/ 324 /*aPath.i.sPId = ''; aPath.i.sPath = i = i + 1;*/ 325 aPath.0 = i - 1; 326 327 /* 328 * Write to file. 329 */ 574 call PathSetDefault; 330 575 call PathWrite; 331 576 end … … 335 580 * Check for forced config. 336 581 */ 337 if ( fCfg = 3) then582 if (sOperation = 'forcedconfig') then 338 583 call PathRemove sPathId; 339 584 else … … 352 597 353 598 /* 354 * Configure then we'll ask the user. 355 */ 356 if (fCfg > 0) then 357 return PathConfig(fCfg, sPathId, sEnvId); 358 359 /* 360 * Error 361 */ 599 * Path wasn't found! 600 */ 601 602 /* for quiet verify and configured test, fail sliently. */ 603 if ((sOperation = 'quietisconfig') | (sOperation = 'quietverify')) then 604 return ''; 605 606 /* if configure operation the configure it. */ 607 if (pos('config', sOperation) > 0) then 608 return PathConfig(sOperation, sPathId, sToolId); 609 610 /* elsewise this is an fatal error */ 362 611 if (\fOptional) then 363 612 do 364 say 'Fatal error: Path information for program'''sPathId''' was not found.';613 say 'Fatal error: Path information for '''sPathId''' was not found.'; 365 614 call SysSleep 5; 366 615 exit(16); … … 468 717 469 718 719 720 /** 721 * Fills 'aPath.' with default settings overwriting anything in the table. 722 */ 723 PathSetDefault: procedure expose aCfg. aPath. sPathFile 724 i = 1; 725 726 /* 727 * Bird: home boxes. 728 */ 729 if ((translate(EnvGet('HOSTNAME')) = 'UNIVAC') | (translate(EnvGet('HOSTNAME')) = 'ENIAC')) then 730 do 731 say 'Info: No or empty path file, using birds defaults.'; 732 aPath.i.sPId = 'cvs'; aPath.i.sPath = 'f:\cvs'; i = i + 1; 733 aPath.i.sPId = 'emx'; aPath.i.sPath = 'f:\emx'; i = i + 1; 734 aPath.i.sPId = 'emxpgcc'; aPath.i.sPath = 'f:\emxpgcc'; i = i + 1; 735 aPath.i.sPId = 'db2v52'; aPath.i.sPath = 'f:\sqllib52'; i = i + 1; 736 aPath.i.sPId = 'icatgam'; aPath.i.sPath = 'f:\icatos2'; i = i + 1; 737 aPath.i.sPId = 'icatgam406rc1'; aPath.i.sPath = 'f:\icatos2.4.0.6.rc1'; i = i + 1; 738 aPath.i.sPId = 'icatpe'; aPath.i.sPath = 'f:\icatpe'; i = i + 1; 739 aPath.i.sPId = 'ida38'; aPath.i.sPath = 'f:\ida38'; i = i + 1; 740 aPath.i.sPId = 'ida40'; aPath.i.sPath = 'f:\ida401'; i = i + 1; 741 aPath.i.sPId = 'ida414'; aPath.i.sPath = 'f:\ida414'; i = i + 1; 742 aPath.i.sPId = 'idasdk'; aPath.i.sPath = 'f:\idasdk'; i = i + 1; 743 aPath.i.sPId = 'ddkbase'; aPath.i.sPath = 'f:\ddk\base'; i = i + 1; 744 aPath.i.sPId = 'home'; aPath.i.sPath = 'e:\user\kso'; i = i + 1; 745 aPath.i.sPId = 'mscv6-16'; aPath.i.sPath = 'f:\ddktools\toolkits\msc60'; i = i + 1; 746 aPath.i.sPId = 'mysql'; aPath.i.sPath = 'f:\mysql2'; i = i + 1; 747 aPath.i.sPId = 'netqos2'; aPath.i.sPath = 'f:\netqos2'; i = i + 1; 748 aPath.i.sPId = 'perl'; aPath.i.sPath = 'f:\perllib'; i = i + 1; 749 aPath.i.sPId = 'python'; aPath.i.sPath = 'f:\python'; i = i + 1; 750 aPath.i.sPId = 'toolkit40'; aPath.i.sPath = 'f:\toolkit'; i = i + 1; 751 aPath.i.sPId = 'toolkit45'; aPath.i.sPath = 'f:\toolkit45'; i = i + 1; 752 aPath.i.sPId = 'toolkit451'; aPath.i.sPath = 'f:\toolkit451'; i = i + 1; 753 aPath.i.sPId = 'unixroot'; aPath.i.sPath = 'e:\unix'; i = i + 1; 754 aPath.i.sPId = 'xfree86'; aPath.i.sPath = 'e:\xfree86'; i = i + 1; 755 aPath.i.sPId = 'vac308'; aPath.i.sPath = 'f:\ibmcpp'; i = i + 1; 756 aPath.i.sPId = 'vac365'; aPath.i.sPath = 'f:\ibmcxxo'; i = i + 1; 757 aPath.i.sPId = 'vac40'; aPath.i.sPath = 'f:\ibmcpp40'; i = i + 1; 758 aPath.i.sPId = 'warpin'; aPath.i.sPath = 'f:\warpin'; i = i + 1; 759 aPath.i.sPId = 'watcom11'; aPath.i.sPath = 'f:\watcom'; i = i + 1; 760 aPath.i.sPId = 'watcom11c'; aPath.i.sPath = 'f:\watcom11c'; i = i + 1; 761 aPath.i.sPId = 'testcase_drive_unused'; aPath.i.sPath = 'l'; /* reqired */ i = i + 1; 762 aPath.i.sPId = 'testcase_drive_fixed'; aPath.i.sPath = 'c'; /* reqired */ i = i + 1; 763 aPath.i.sPId = 'testcase_drive_floppy'; aPath.i.sPath = 'a'; /* reqired */ i = i + 1; 764 aPath.i.sPId = 'testcase_drive_cdrom'; aPath.i.sPath = 'k'; /* optional */ i = i + 1; 765 aPath.i.sPId = 'testcase_drive_network'; aPath.i.sPath = 's'; /* optional */ i = i + 1; 766 /*aPath.i.sPId = 'testcase_drive_ramdisk'; aPath.i.sPath = ''; /* optional */ i = i + 1;*/ 767 /*aPath.i.sPId = ''; aPath.i.sPath = i = i + 1;*/ 768 end 769 770 771 /* 772 * Bird: work box. 773 */ 774 if (translate(EnvGet('HOSTNAME')) = 'BIRD') then 775 do 776 say 'Info: No or empty path file, using birds work defaults.'; 777 aPath.i.sPId = 'cvs'; aPath.i.sPath = 'e:\cvs'; i = i + 1; 778 aPath.i.sPId = 'emx'; aPath.i.sPath = 'e:\emx'; i = i + 1; 779 aPath.i.sPId = 'emxpgcc'; aPath.i.sPath = 'e:\emxpgcc'; i = i + 1; 780 aPath.i.sPId = 'db2v52'; aPath.i.sPath = 'e:\sqllib52'; i = i + 1; 781 aPath.i.sPId = 'icatgam'; aPath.i.sPath = 'e:\icatos2'; i = i + 1; 782 aPath.i.sPId = 'icatgam406rc1'; aPath.i.sPath = 'e:\icatos2.4.0.6.rc1'; i = i + 1; 783 aPath.i.sPId = 'icatpe'; aPath.i.sPath = 'e:\icatpe'; i = i + 1; 784 aPath.i.sPId = 'ida38'; aPath.i.sPath = 'e:\ida38'; i = i + 1; 785 aPath.i.sPId = 'ida40'; aPath.i.sPath = 'e:\ida401'; i = i + 1; 786 aPath.i.sPId = 'ida414'; aPath.i.sPath = 'e:\ida414'; i = i + 1; 787 aPath.i.sPId = 'idasdk'; aPath.i.sPath = 'e:\idasdk'; i = i + 1; 788 aPath.i.sPId = 'ddkbase'; aPath.i.sPath = 'e:\ddk\base'; i = i + 1; 789 aPath.i.sPId = 'home'; aPath.i.sPath = 'e:\user\kso'; i = i + 1; 790 aPath.i.sPId = 'mscv6-16'; aPath.i.sPath = 'e:\ddktools\toolkits\msc60'; i = i + 1; 791 aPath.i.sPId = 'mysql'; aPath.i.sPath = 'e:\mysql2'; i = i + 1; 792 aPath.i.sPId = 'netqos2'; aPath.i.sPath = 'e:\netqos2'; i = i + 1; 793 aPath.i.sPId = 'perl'; aPath.i.sPath = 'e:\perllib'; i = i + 1; 794 aPath.i.sPId = 'python'; aPath.i.sPath = 'e:\python'; i = i + 1; 795 aPath.i.sPId = 'toolkit40'; aPath.i.sPath = 'e:\toolkit'; i = i + 1; 796 aPath.i.sPId = 'toolkit45'; aPath.i.sPath = 'e:\toolkit45'; i = i + 1; 797 aPath.i.sPId = 'toolkit451'; aPath.i.sPath = 'e:\toolkit451'; i = i + 1; 798 aPath.i.sPId = 'unixroot'; aPath.i.sPath = 'e:\unix'; i = i + 1; 799 aPath.i.sPId = 'xfree86'; aPath.i.sPath = 'e:\xfree86'; i = i + 1; 800 aPath.i.sPId = 'vac308'; aPath.i.sPath = 'e:\ibmcpp'; i = i + 1; 801 aPath.i.sPId = 'vac365'; aPath.i.sPath = 'e:\ibmcxxo'; i = i + 1; 802 aPath.i.sPId = 'vac40'; aPath.i.sPath = 'e:\ibmcpp40'; i = i + 1; 803 aPath.i.sPId = 'warpin'; aPath.i.sPath = 'e:\warpin'; i = i + 1; 804 aPath.i.sPId = 'watcom11'; aPath.i.sPath = 'e:\watcom'; i = i + 1; 805 aPath.i.sPId = 'watcom11c'; aPath.i.sPath = 'e:\watcom11c'; i = i + 1; 806 aPath.i.sPId = 'testcase_drive_unused'; aPath.i.sPath = 't'; /* reqired */ i = i + 1; 807 aPath.i.sPId = 'testcase_drive_fixed'; aPath.i.sPath = 'd'; /* reqired */ i = i + 1; 808 aPath.i.sPId = 'testcase_drive_floppy'; aPath.i.sPath = 'a'; /* reqired */ i = i + 1; 809 aPath.i.sPId = 'testcase_drive_cdrom'; aPath.i.sPath = 'f'; /* optional */ i = i + 1; 810 aPath.i.sPId = 'testcase_drive_network'; aPath.i.sPath = 'x'; /* optional */ i = i + 1; 811 /*aPath.i.sPId = 'testcase_drive_ramdisk'; aPath.i.sPath = ''; /* optional */ i = i + 1;*/ 812 /*aPath.i.sPId = ''; aPath.i.sPath = i = i + 1;*/ 813 end 814 815 /* add your own stuff here.. */ 816 aPath.0 = i - 1; 817 return 0; 818 819 470 820 /** 471 821 * Configure a path. 472 822 * @returns Path on success. 473 823 * '' on failure. 474 * @param fCfg The config flags. 475 * 1 = configure if needed. 476 * 3 = force config. 824 * @param sOperation The operation - 'config' or 'forcedconfig' 477 825 * @param sPathId The path to configure. 478 * @param s EnvId The environmentId.826 * @param sToolId The tool Id. 479 827 */ 480 828 PathConfig: procedure expose aCfg. aPath. sPathFile 481 parse arg fCfg, sPathId, sEnvId482 483 /* 484 * Config loop.485 */ 486 if ( fCfg = 1) then829 parse arg sOperation, sPathId, sToolId 830 831 /* 832 * If not forced we'll ask first. 833 */ 834 if (sOperation <> 'forcedconfig') then 487 835 do 488 say 'Do you want to configure the path '''sPathId''' for the '''s EnvId'''('CfgDesc(sEnvId)') environment? (y/N)';836 say 'Do you want to configure the path '''sPathId''' for the '''sToolId'''('CfgDesc(sToolId)') tool? (y/N)'; 489 837 sAnswer = PullUser(1); 490 838 if (substr(strip(sAnswer),1,1) <> 'Y') then 491 839 return ''; 492 840 end 841 842 /* 843 * Config loop. 844 */ 493 845 do i = 1 to 128 494 846 495 say 'Give us the path then:'847 say 'Give us the path for '''sPathId'''('''sToolId'''/'CfgDesc(sToolId)'):' 496 848 sThePath = translate(strip(strip(strip(PullUser()), 'T','\'),'T','/'), '\', '/'); 497 849 /*say 'Debug: sThePath='sThePath;*/ … … 506 858 aPath.j.sPath = translate(strip(strip(strip(sThePath), 'T','\'),'T','/'), '\', '/'); 507 859 aPath.0 = j; 508 509 /*510 * Write to file and return successfully.511 */512 call PathWrite;513 860 return sThePath; 514 861 end 515 862 else 516 863 say 'error: invalid path name.'; 864 say 'Debug 9' 517 865 518 866 /* ask if retry */ 519 867 if (i >= 2) then 520 868 say 'You''re not trying hard, are you?'; 521 say 'Wanna try giving us an *valid* path for the path '''sPathId''' for the '''s EnvId'''('CfgDesc(sEnvId)') environment? (y/N)';869 say 'Wanna try giving us an *valid* path for the path '''sPathId''' for the '''sToolId'''('CfgDesc(sToolId)') tool? (y/N)'; 522 870 sAnswer = PullUser(1); 523 871 if (substr(strip(sAnswer),1,1) <> 'Y') then … … 527 875 say 'Giving up!'; 528 876 return ''; 529 530 531 /**532 * Get the description of an environment.533 * @returns Description string.534 * '' if not found.535 * @param sEnvId Environment id.536 */537 CfgDesc: procedure expose aCfg. aPath. sPathFile538 parse arg sEnvId539 do i = 1 to aCfg.0540 if (aCfg.i.sId = sEnvId) then541 return aCfg.i.sDesc;542 end543 return sEnvId;544 545 546 /**547 * Lookups up an env. config in the aCfg. array.548 * @return Index of sEnvId.549 * aCfg.0+1 on error.550 * @param sEnvId Environment id.551 */552 CfgLookup: procedure expose aCfg. aPath. sPathFile553 parse arg sEnvId554 iEnv = 1;555 do while ((iEnv <= aCfg.0) & (aCfg.iEnv.sId <> sEnvId))556 iEnv = iEnv + 1;557 end558 return iEnv;559 877 560 878 … … 607 925 if (rc = 0 & sDirs.0 = 1) then 608 926 return 1; 609 say sComplain ''''sDir'''.'; 927 if (sComplain <> '') then do 928 say sComplain ''''sDir'''.'; 610 929 return 0; 611 930 … … 622 941 */ 623 942 CheckCmdOutput: procedure 624 parse arg sCmd, rcCmdExpected, sOutputPartExpected943 parse arg sCmd, rcCmdExpected, fQuiet, sOutputPartExpected 625 944 626 945 /* … … 643 962 * If command 644 963 */ 645 rc = 0 964 rc = 0; 646 965 if (rcCmd = rcCmdExpected) then 647 966 do 648 967 if (pos(sOutputPartExpected, sOutput) <= 0) then 649 968 do 969 /* 650 970 say 'Debug - start' 651 971 say 'Debug:' sOutputPartExpected … … 653 973 say sOutput 654 974 say 'Debug - end' 975 */ 655 976 rc = 99 656 977 end … … 658 979 else 659 980 rc = 49 660 if (rc <> 0) then 661 say 'Debug:' sCmd 'rc='rc' rcCmd='rcCmd; 981 982 if (\fQuiet & rc <> 0) then 983 say 'Debug:' sCmd 'rc='rc' rcCmd='rcCmd 'rcCmdExpected='rcCmdExpected; 662 984 return rc; 663 985 664 665 /**666 * Environment procedures section667 * @returns 0 on success.668 * 1 if PathQuery() failed.669 * 2 if some vital file wasn't found in the config verify.670 * 49 if verify command rc mismatched.671 * 99 if verify command output mismatched.672 **/673 674 675 /*676 * Concurrent Versions System (CVS)677 */678 CVS: procedure expose aCfg. aPath. sPathFile679 parse arg sEnvId,fRM,fCfg680 681 682 /*683 * Concurrent Versions System (CVS) main directory.684 */685 sPathCVS = PathQuery('cvs', sEnvId, fCfg);686 if (sPathCVS = '') then687 return 1;688 sPathHome = PathQuery('home', sEnvId, fCfg);689 if (sPathHome = '') then690 return 1;691 692 call EnvVar_Set fRM, 'PATH_CVS', sPathCVS;693 call EnvVar_AddFront fRM, 'path', sPathCVS'\bin;'694 call EnvVar_AddFront fRM, 'bookshelf', sPathCVS'\book;'695 call EnvVar_AddFront fRM, 'bookshelf', sPathCVS'\book;'696 call EnvVar_Set fRM, 'home', translate(sPathHome, '/','\');697 698 /* verify */699 if (fCfg > 0) then700 do701 if (\FileExists(sPathCVS'\bin\cvs.exe', 'error: verify didn''t find')) then702 return 2;703 if (length(sPathHome) <= 2) then704 do705 say 'Error: The home directory is to short!';706 return 2;707 end708 if (\DirExists(sPathHome)) then709 do710 say 'Error: The home directory must exist!';711 return 2;712 end713 return CheckCmdOutput('cvs --version', 0, 'Concurrent Versions System (CVS) 1.1');714 end715 return 0;716 717 718 /*719 * EMX720 */721 EMX: procedure expose aCfg. aPath. sPathFile722 parse arg sEnvId,fRM,fCfg723 724 /*725 * EMX/GCC main directory.726 */727 sEMX = PathQuery('emx', sEnvId, fCfg);728 if (sEMX = '') then729 return 1;730 731 sEMXBack = translate(sEMX, '\', '/');732 sEMXForw = translate(sEMX, '/', '\');733 call EnvVar_Set fRM, 'PATH_EMX', sEMXBack;734 call EnvVar_Set fRM, 'CCENV', 'EMX'735 call EnvVar_Set fRM, 'BUILD_ENV', 'EMX'736 call EnvVar_Set fRM, 'BUILD_PLATFORM', 'OS2'737 738 call EnvVar_AddFront fRM, 'BEGINLIBPATH', sEMXBack'\dll;'739 call EnvVar_AddFront fRM, 'PATH', sEMXBack'\bin;'740 call EnvVar_AddFront fRM, 'DPATH', sEMXBack'\book;'741 call EnvVar_AddFront fRM, 'BOOKSHELF', sEMXBack'\book;'742 call EnvVar_AddFront fRM, 'HELP', sEMXBack'\help;'743 call EnvVar_AddFront fRM, 'C_INCLUDE_PATH', sEMXForw'/include'744 call EnvVar_AddFront fRM, 'LIBRARY_PATH', sEMXForw'/lib'745 call EnvVar_AddFront fRM, 'CPLUS_INCLUDE_PATH', sEMXForw'/include/cpp;'sEMXForw'/include'746 call EnvVar_Set fRM, 'PROTODIR', sEMXForw'/include/cpp/gen'747 call EnvVar_Set fRM, 'OBJC_INCLUDE_PATH', sEMXForw'/include'748 call EnvVar_Set fRM, 'GCCLOAD', '5'749 call EnvVar_Set fRM, 'GCCOPT', '-pipe'750 call EnvVar_AddFront fRM, 'INFOPATH', sEMXForw'/info'751 call EnvVar_Set fRM, 'EMXBOOK', 'emxdev.inf+emxlib.inf+emxgnu.inf+emxbsd.inf'752 call EnvVar_AddFront fRM, 'HELPNDX', 'emxbook.ndx', '+', 1753 call EnvVar_Set fRM, 'EMXOPT', '-c -n -h1024'754 if EnvVar_Get('TERM') = '' then do755 call EnvVar_Set fRM, 'TERM', 'ansi'756 call EnvVar_Set fRM, 'TERMCAP', sEMXForw'/etc/termcap.dat'757 end758 759 /* verify */760 if (fCfg > 0) then761 do762 if ( \FileExists(sEmxBack'\bin\gcc.exe', 'error: verify didn''t find'),763 | \FileExists(sEmxBack'\bin\emxomf.exe', 'error: verify didn''t find'),764 | \FileExists(sEmxBack'\bin\emxrev.cmd', 'error: verify didn''t find'),765 | \FileExists(sEmxBack'\lib\mt\c.a', 'error: verify didn''t find'),766 | \FileExists(sEmxBack'\lib\mt\c.lib', 'error: verify didn''t find'),767 | \FileExists(sEmxBack'\lib\mt\sys.lib', 'error: verify didn''t find'),768 | \FileExists(sEmxBack'\lib\mt\emx.a', 'error: verify didn''t find'),769 | \FileExists(sEmxBack'\lib\mt\emx.lib', 'error: verify didn''t find'),770 | \FileExists(sEmxBack'\lib\mt\c_import.a', 'error: verify didn''t find'),771 | \FileExists(sEmxBack'\lib\mt\c_import.lib', 'error: verify didn''t find'),772 | \FileExists(sEmxBack'\lib\c_alias.a', 'error: verify didn''t find'),773 | \FileExists(sEmxBack'\lib\c_alias.lib', 'error: verify didn''t find'),774 | \FileExists(sEmxBack'\lib\emx2.a', 'error: verify didn''t find'),775 | \FileExists(sEmxBack'\lib\emx2.lib', 'error: verify didn''t find'),776 ) then777 return 2;778 rc = CheckCmdOutput('gcc --version', 0, '2.8.1');779 if (rc = 0) then780 rc = CheckCmdOutput('emxrev.cmd', 0,,781 'EMX : revision = 61'||'0d0a'x ||,782 'EMXIO : revision = 60'||'0d0a'x||,783 'EMXLIBC : revision = 63'||'0d0a'x||,784 'EMXLIBCM : revision = 64'||'0d0a'x||,785 'EMXLIBCS : revision = 64'||'0d0a'x||,786 'EMXWRAP : revision = 60'||'0d0a'x);787 return rc;788 end789 return 0;790 791 792 /*793 * EMX PGCC - must be installed on to the ordinar EMX.794 */795 EMXPGCC: procedure expose aCfg. aPath. sPathFile796 parse arg sEnvId,fRM,fCfg797 798 /*799 * EMX/GCC main directory.800 */801 sEMXPGCC = PathQuery('emxpgcc', sEnvId, fCfg);802 if (sEMXPGCC = '') then803 return 1;804 sEMXBack = translate(sEMXPGCC, '\', '/');805 sEMXForw = translate(sEMXPGCC, '/', '\');806 call EnvVar_Set fRM, 'PATH_EMXPGCC', sEMXBack;807 call EnvVar_Set fRM, 'CCENV', 'EMX'808 call EnvVar_Set fRM, 'BUILD_ENV', 'EMX'809 call EnvVar_Set fRM, 'BUILD_PLATFORM', 'OS2'810 811 call EnvVar_AddFront fRM, 'BEGINLIBPATH', sEMXBack'\dll;'812 call EnvVar_AddFront fRM, 'PATH', sEMXBack'\bin;'813 call EnvVar_AddFront fRM, 'DPATH', sEMXBack'\book;'814 call EnvVar_AddFront fRM, 'BOOKSHELF', sEMXBack'\book;'815 call EnvVar_AddFront fRM, 'HELP', sEMXBack'\help;'816 call EnvVar_AddFront fRM, 'C_INCLUDE_PATH', sEMXForw'/include'817 call EnvVar_AddFront fRM, 'LIBRARY_PATH', sEMXForw'/lib'818 call EnvVar_AddFront fRM, 'CPLUS_INCLUDE_PATH', sEMXForw'/include/cpp;'sEMXForw'/include'819 call EnvVar_Set fRM, 'PROTODIR', sEMXForw'/include/cpp/gen'820 call EnvVar_Set fRM, 'OBJC_INCLUDE_PATH', sEMXForw'/include'821 call EnvVar_AddFront fRM, 'INFOPATH', sEMXForw'/info'822 call EnvVar_Set fRM, 'EMXBOOK', 'emxdev.inf+emxlib.inf+emxgnu.inf+emxbsd.inf'823 call EnvVar_AddFront fRM, 'HELPNDX', 'emxbook.ndx', '+', 1824 825 /* verify */826 if (fCfg > 0) then827 do828 if ( \FileExists(sEmxBack'\bin\gcc.exe', 'error: verify didn''t find'),829 | \FileExists(sEmxBack'\bin\g++.exe', 'error: verify didn''t find'),830 | \FileExists(sEmxBack'\bin\as.exe', 'error: verify didn''t find'),831 | \FileExists(sEmxBack'\bin\emxomf.exe', 'error: verify didn''t find'),832 | \FileExists(sEmxBack'\lib\gcc29160.a', 'error: verify didn''t find'),833 | \FileExists(sEmxBack'\lib\gcc29160.lib', 'error: verify didn''t find'),834 | \FileExists(sEmxBack'\lib\iberty.a', 'error: verify didn''t find'),835 | \FileExists(sEmxBack'\lib\iberty.lib', 'error: verify didn''t find'),836 | \FileExists(sEmxBack'\lib\iberty_s.a', 'error: verify didn''t find'),837 | \FileExists(sEmxBack'\lib\iberty_s.lib', 'error: verify didn''t find'),838 | \FileExists(sEmxBack'\lib\opcodes.a', 'error: verify didn''t find'),839 | \FileExists(sEmxBack'\lib\opcodes.lib', 'error: verify didn''t find'),840 | \FileExists(sEmxBack'\lib\opcodes_s.a', 'error: verify didn''t find'),841 | \FileExists(sEmxBack'\lib\opcodes_s.lib', 'error: verify didn''t find'),842 ) then843 return 2;844 rc = CheckCmdOutput('gcc --version', 0, 'pgcc-2.95.2');845 if (rc = 0) then846 rc = CheckCmdOutput('g++ --version', 0, 'pgcc-2.95.2');847 if (rc = 0) then848 rc = CheckCmdOutput('as --version', 0, 'GNU assembler 2.9.1');849 return rc;850 end851 return 0;852 853 /*854 * IBM DB2 v5.2855 */856 db2v52: procedure expose aCfg. aPath. sPathFile857 parse arg sEnvId,fRM,fCfg858 sPathDB2 = PathQuery('db2v52', sEnvId, fCfg);859 if (sPathDB2 = '') then860 return 1;861 call EnvVar_Set fRm, 'PATH_DB2', sPathDB2;862 call EnvVar_Set fRm, 'db2path', sPathDB2;863 call EnvVar_AddFront fRm, 'beginlibpath',sPathDB2'\dll;'sPathDB2'\alt;'864 call EnvVar_AddFront fRm, 'path', sPathDB2'\bin;'sPathDB2'\alt;'865 call EnvVar_AddFront fRm, 'dpath', sPathDB2'\bin;'sPathDB2';'866 call EnvVar_AddFront fRm, 'help', sPathDB2'\help;'867 call EnvVar_AddEnd fRm, 'classpath', '.;'sPathDB2'\JAVA\DB2JAVA.ZIP;'sPathDB2'\JAVA\RUNTIME.ZIP;'sPathDB2'\JAVA\SQLJ.ZIP;'868 call EnvVar_Set fRM, 'db2instace', 'DB2'869 /*call EnvVar_Set fRM, 'odbc_path', 'f:\odbc' -- huh? what's this? */870 call EnvVar_AddFront fRM, 'cobcpy', sPathDB2'\include\cobol_mf'871 call EnvVar_Set fRM, 'finclude', sPathDB2'\include'872 call EnvVar_AddFront fRM, 'include', sPathDB2'\include;'873 call EnvVar_AddFront fRM, 'lib', sPathDB2'\lib;'874 875 /* verify */876 if (fCfg > 0) then877 do878 if ( \FileExists(sPathDB2'\bin\db2.exe', 'error: verify didn''t find'),879 | \FileExists(sPathDB2'\bin\sqlbind.exe', 'error: verify didn''t find'),880 | \FileExists(sPathDB2'\bin\sqlprep.exe', 'error: verify didn''t find'),881 | \FileExists(sPathDB2'\lib\db2api.lib', 'error: verify didn''t find'),882 | \FileExists(sPathDB2'\lib\db2cli.lib', 'error: verify didn''t find'),883 | \FileExists(sPathDB2'\lib\db2gmf32.lib', 'error: verify didn''t find'),884 | \FileExists(sPathDB2'\include\sql.h', 'error: verify didn''t find'),885 | \FileExists(sPathDB2'\include\sqlcodes.h', 'error: verify didn''t find'),886 | \FileExists(sPathDB2'\include\sqlsystm.h', 'error: verify didn''t find'),887 | \FileExists(sPathDB2'\include\sqlcli.h', 'error: verify didn''t find'),888 ) then889 return 2;890 rc = CheckCmdOutput('echo quit | db2', 0, 'Command Line Processor for DB2 SDK 5.2.0');891 return rc;892 end893 return 0;894 895 896 /*897 * Device Driver Kit (DDK) base.898 */899 DDKBase: procedure expose aCfg. aPath. sPathFile900 parse arg sEnvId,fRM,fCfg901 902 /*903 * Device Driver Kit (DDK) (v4.0+) base (important not main) directory.904 */905 sPathDDKBase = PathQuery('ddkbase', sEnvId, fCfg);906 if (sPathDDKBase = '') then907 return 1;908 call EnvVar_Set fRM, 'PATH_DDKBASE',sPathDDKBase;909 call EnvVar_AddFront fRM, 'path', sPathDDKBase'\tools;'910 call EnvVar_AddFront fRM, 'include', sPathDDKBase'\h;'sPathDDKBase'\inc;'sPathDDKBase'\inc32;'911 call EnvVar_AddFront fRM, 'include16', sPathDDKBase'\h;'912 call EnvVar_AddFront fRM, 'lib', sPathDDKBase'\lib;'913 call EnvVar_AddFront fRM, 'bookshelf', sPathDDKBase'\..\docs;'914 915 /* verify */916 if (fCfg > 0) then917 do918 if ( \FileExists(sPathDDKBase'\tools\link.exe', 'error: verify didn''t find'),919 | \FileExists(sPathDDKBase'\tools\link386.exe', 'error: verify didn''t find'),920 | \FileExists(sPathDDKBase'\tools\cl386.exe', 'error: verify didn''t find'),921 | \FileExists(sPathDDKBase'\tools\masm.exe', 'error: verify didn''t find'),922 | \FileExists(sPathDDKBase'\tools\h2inc.exe', 'error: verify didn''t find'),923 | \FileExists(sPathDDKBase'\tools\lib.exe', 'error: verify didn''t find'),924 | \FileExists(sPathDDKBase'\lib\os2286.lib', 'error: verify didn''t find'),925 | \FileExists(sPathDDKBase'\lib\os2286p.lib', 'error: verify didn''t find'),926 | \FileExists(sPathDDKBase'\lib\os2386.lib', 'error: verify didn''t find'),927 | \FileExists(sPathDDKBase'\lib\os2386p.lib', 'error: verify didn''t find'),928 | \FileExists(sPathDDKBase'\lib\doscalls.lib', 'error: verify didn''t find'),929 | \FileExists(sPathDDKBase'\lib\dhcalls.lib', 'error: verify didn''t find'),930 | \FileExists(sPathDDKBase'\lib\addcalls.lib', 'error: verify didn''t find'),931 | \FileExists(sPathDDKBase'\lib\rmcalls.lib', 'error: verify didn''t find'),932 | \FileExists(sPathDDKBase'\lib\vdh.lib', 'error: verify didn''t find'),933 | \FileExists(sPathDDKBase'\h\infoseg.h', 'error: verify didn''t find'),934 | \FileExists(sPathDDKBase'\h\include.h', 'error: verify didn''t find'),935 | \FileExists(sPathDDKBase'\h386\pmddi.h', 'error: verify didn''t find'),936 | \FileExists(sPathDDKBase'\h386\pmddim.h', 'error: verify didn''t find'),937 | \FileExists(sPathDDKBase'\h386\limits.h', 'error: verify didn''t find'),938 | \FileExists(sPathDDKBase'\h386\string.h', 'error: verify didn''t find'),939 | \FileExists(sPathDDKBase'\inc\v8086.inc', 'error: verify didn''t find'),940 | \FileExists(sPathDDKBase'\inc\sas.inc', 'error: verify didn''t find'),941 | \FileExists(sPathDDKBase'\inc\pmwinx.inc', 'error: verify didn''t find'),942 | \FileExists(sPathDDKBase'\inc\infoseg.inc', 'error: verify didn''t find'),943 | \FileExists(sPathDDKBase'\inc\devhlp.inc', 'error: verify didn''t find'),944 | \FileExists(sPathDDKBase'\inc\devhlpp.inc', 'error: verify didn''t find'),945 ) then946 return 2;947 rc = CheckCmdOutput('cl386', 0, 'Microsoft (R) Microsoft 386 C Compiler. Version 6.00.054');948 if (rc = 0) then949 rc = CheckCmdOutput('masm nul,nul,nul,nul;', 2, 'Microsoft (R) Macro Assembler Version 5.10A.15 Jul 07 15:25:03 1989');950 if (rc = 0) then951 rc = CheckCmdOutput('h2inc -?', 0, 'h2inc - .H to .INC file translator (version 13.29)');952 if (rc = 0) then953 rc = CheckCmdOutput('type' sPathDDKBase'\inc\devhlp.inc', 0, 'DevHlp_ReadFileAt');954 return rc;955 end956 return 0;957 958 959 /*960 * ICAT Debugger961 */962 ICATGam: procedure expose aCfg. aPath. sPathFile963 parse arg sEnvId,fRM,fCfg964 sPathICAT = PathQuery('icatgam', sEnvId, fCfg);965 if (sPathICAT = '') then966 return 1;967 call EnvVar_Set fRm, 'PATH_ICATGAM', sPathICAT;968 call EnvVar_AddFront fRm, 'beginlibpath',sPathICAT'\dll;'969 call EnvVar_AddFront fRm, 'path', sPathICAT'\bin;'970 call EnvVar_AddFront fRm, 'dpath', sPathICAT'\help;'971 call EnvVar_AddFront fRm, 'help', sPathICAT'\help;'972 973 /* verify */974 if (fCfg > 0) then975 do976 if ( \FileExists(sPathICAT'\bin\icatgam.exe', 'error: verify didn''t find'),977 | \FileExists(sPathICAT'\dll\gamoou3.dll', 'error: verify didn''t find'),978 | \FileExists(sPathICAT'\dll\gam5lde.dll', 'error: verify didn''t find'),979 | \FileExists(sPathICAT'\dll\gam5cx.dll', 'error: verify didn''t find'),980 ) then981 return 2;982 return 0;983 end984 return 0;985 986 987 /*988 * ICAT Debugger989 */990 ICATGam406RC1: procedure expose aCfg. aPath. sPathFile991 parse arg sEnvId,fRM,fCfg992 sPathICAT = PathQuery('icatgam406rc1', sEnvId, fCfg);993 if (sPathICAT = '') then994 return 1;995 call EnvVar_Set fRm, 'PATH_ICATGAM', sPathICAT;996 call EnvVar_AddFront fRm, 'beginlibpath',sPathICAT'\dll;'997 call EnvVar_AddFront fRm, 'path', sPathICAT'\bin;'998 call EnvVar_AddFront fRm, 'dpath', sPathICAT'\help;'999 call EnvVar_AddFront fRm, 'help', sPathICAT'\help;'1000 1001 /* verify */1002 if (fCfg > 0) then1003 do1004 if ( \FileExists(sPathICAT'\bin\icatgam.exe', 'error: verify didn''t find'),1005 | \FileExists(sPathICAT'\dll\gamoou3.dll', 'error: verify didn''t find'),1006 | \FileExists(sPathICAT'\dll\gam5lde.dll', 'error: verify didn''t find'),1007 | \FileExists(sPathICAT'\dll\gam5cx.dll', 'error: verify didn''t find'),1008 ) then1009 return 2;1010 return 0;1011 end1012 return 0;1013 1014 1015 1016 /*1017 * ICAT Debugger for PE images.1018 */1019 ICATPe: procedure expose aCfg. aPath. sPathFile1020 parse arg sEnvId,fRM,fCfg1021 sPathICAT = PathQuery('icatgam', sEnvId, fCfg);1022 if (sPathICAT = '') then1023 return 1;1024 sPathICATPe = PathQuery('icatpe', sEnvId, fCfg);1025 if (sPathICATPe = '') then1026 return 1;1027 call EnvVar_Set fRm, 'PATH_ICATGAM',sPathICAT;1028 call EnvVar_Set fRm, 'PATH_ICATPE', sPathICATPe;1029 call EnvVar_AddFront fRm, 'beginlibpath',sPathICATPe'\bin;'sPathICAT'\dll;'1030 call EnvVar_AddFront fRm, 'path', sPathICATPe'\bin;'sPathICAT'\bin;'1031 call EnvVar_AddFront fRm, 'dpath', sPathICATPe'\bin;'sPathICAT'\help;'1032 call EnvVar_AddFront fRm, 'help', sPathICATPe'\bin;'sPathICAT'\help;'1033 1034 /* verify */1035 if (fCfg > 0) then1036 do1037 if ( \FileExists(sPathICAT'\bin\icatgam.exe', 'error: verify didn''t find'),1038 | \FileExists(sPathICAT'\dll\gamoou3.dll', 'error: verify didn''t find'),1039 | \FileExists(sPathICAT'\dll\gam5lde.dll', 'error: verify didn''t find'),1040 | \FileExists(sPathICAT'\dll\gam5cx.dll', 'error: verify didn''t find'),1041 | \FileExists(sPathICATPe'\bin\icatgam.exe', 'error: verify didn''t find'),1042 | \FileExists(sPathICATPe'\bin\gamoou3.dll', 'error: verify didn''t find'),1043 | \FileExists(sPathICATPe'\bin\gam5lde.dll', 'error: verify didn''t find'),1044 | \FileExists(sPathICATPe'\bin\gam5cx.dll', 'error: verify didn''t find'),1045 ) then1046 return 2;1047 return 0;1048 end1049 return 0;1050 1051 1052 1053 /*1054 * Interactive Disassembler (IDA) v3.80a1055 */1056 IDA38: procedure expose aCfg. aPath. sPathFile1057 parse arg sEnvId,fRM,fCfg1058 /*1059 * IDA main directory.1060 */1061 sPathIDA = PathQuery('ida38', sEnvId, fCfg);1062 if (sPathIDA = '') then1063 return 1;1064 call EnvVar_Set fRM, 'PATH_IDA', sPathIDA1065 call EnvVar_AddFront fRM, 'path', sPathIDA1066 call EnvVar_AddFront fRM, 'beginlibpath', sPathIDA1067 1068 /* verify */1069 if (fCfg > 0) then1070 do1071 if ( \FileExists(sPathIDA'\ida2.exe', 'error: verify didn''t find'),1072 | \FileExists(sPathIDA'\idaw.exe', 'error: verify didn''t find'),1073 | \FileExists(sPathIDA'\ida.dll', 'error: verify didn''t find'),1074 | \FileExists(sPathIDA'\pc.dll', 'error: verify didn''t find'),1075 ) then1076 return 2;1077 return 0;1078 end1079 return 0;1080 1081 1082 /*1083 * Interactive Disassembler (IDA) v4.011084 */1085 IDA40: procedure expose aCfg. aPath. sPathFile1086 parse arg sEnvId,fRM,fCfg1087 /*1088 * IDA main directory.1089 */1090 sPathIDA = PathQuery('ida40', sEnvId, fCfg);1091 if (sPathIDA = '') then1092 return 1;1093 call EnvVar_Set fRM, 'PATH_IDA', sPathIDA1094 call EnvVar_AddFront fRM, 'path', sPathIDA1095 call EnvVar_AddFront fRM, 'beginlibpath', sPathIDA1096 1097 /* verify */1098 if (fCfg > 0) then1099 do1100 if ( \FileExists(sPathIDA'\ida2.exe', 'error: verify didn''t find'),1101 | \FileExists(sPathIDA'\idaw.exe', 'error: verify didn''t find'),1102 | \FileExists(sPathIDA'\ida.dll', 'error: verify didn''t find'),1103 | \FileExists(sPathIDA'\pc.dll', 'error: verify didn''t find'),1104 ) then1105 return 2;1106 return 0;1107 end1108 return 0;1109 1110 1111 /*1112 * Interactive Disassembler (IDA) v4.141113 */1114 IDA414: procedure expose aCfg. aPath. sPathFile1115 parse arg sEnvId,fRM,fCfg1116 /*1117 * IDA main directory.1118 */1119 sPathIDA = PathQuery('ida414', sEnvId, fCfg);1120 if (sPathIDA = '') then1121 return 1;1122 call EnvVar_Set fRM, 'PATH_IDA', sPathIDA1123 call EnvVar_AddFront fRM, 'path', sPathIDA1124 call EnvVar_AddFront fRM, 'beginlibpath', sPathIDA1125 1126 /* verify */1127 if (fCfg > 0) then1128 do1129 if ( \FileExists(sPathIDA'\ida2.exe', 'error: verify didn''t find'),1130 | \FileExists(sPathIDA'\idaw.exe', 'error: verify didn''t find'),1131 | \FileExists(sPathIDA'\ida.dll', 'error: verify didn''t find'),1132 | \FileExists(sPathIDA'\pc.dll', 'error: verify didn''t find'),1133 ) then1134 return 2;1135 return 0;1136 end1137 return 0;1138 1139 1140 /*1141 * Interactive Disassembler (IDA) Plugin SDK (v5.0?)1142 */1143 IDASDK: procedure expose aCfg. aPath. sPathFile1144 parse arg sEnvId,fRM,fCfg1145 /*1146 * IDA main directory.1147 */1148 sPathIDASDK = PathQuery('idasdk', sEnvId, fCfg);1149 if (sPathIDASDK = '') then1150 return 1;1151 call EnvVar_Set fRM, 'PATH_IDASDK', sPathIDASDK1152 call EnvVar_AddFront fRM, 'include', sPathIDASDK'\include;'1153 call EnvVar_AddFront fRM, 'lib', sPathIDASDK'\libwat.os2;'1154 call EnvVar_AddFront fRM, 'path', sPathIDASDK'\bin\os2;'1155 call EnvVar_AddFront fRM, 'beginlibpath', sPathIDASDK'\bin\os2;'1156 1157 /* verify */1158 if (fCfg > 0) then1159 do1160 if ( \FileExists(sPathIDASDK'\os2wat.cfg', 'error: verify didn''t find'),1161 | \FileExists(sPathIDASDK'\d32wat.cfg', 'error: verify didn''t find'),1162 | \FileExists(sPathIDASDK'\include\exehdr.h', 'error: verify didn''t find'),1163 | \FileExists(sPathIDASDK'\include\ida.hpp', 'error: verify didn''t find'),1164 | \FileExists(sPathIDASDK'\include\vm.hpp', 'error: verify didn''t find'),1165 | \FileExists(sPathIDASDK'\libwat.os2\ida.lib', 'error: verify didn''t find'),1166 | \FileExists(sPathIDASDK'\libwat.d32\ida.lib', 'error: verify didn''t find'),1167 | \FileExists(sPathIDASDK'\libwat.d32\INIRT386.OBJ', 'error: verify didn''t find'),1168 | \FileExists(sPathIDASDK'\libbor.d32\ida.lib', 'error: verify didn''t find'),1169 ) then1170 return 2;1171 return 0;1172 end1173 return 0;1174 1175 1176 /*1177 * Mode commandline.1178 */1179 Mode: procedure expose aCfg. aPath. sPathFile1180 parse arg sEnvId,fRM,fCfg,cols,rows1181 if (fRM) then1182 do1183 cols = 80;1184 rows = 25;1185 end1186 Address CMD 'mode' cols','rows1187 return 0;1188 1189 1190 /*1191 * Microsoft C v6.0a 16-bit1192 */1193 MSCV6_16: procedure expose aCfg. aPath. sPathFile1194 parse arg sEnvId,fRM,fCfg1195 1196 /*1197 * Microsoft C v6.0a main directory.1198 */1199 sPathMSC = PathQuery('mscv6-16', sEnvId, fCfg);1200 if (sPathMSC = '') then1201 return 1;1202 call EnvVar_Set fRM, 'BUILD_ENV', 'MSCV6-16'1203 call EnvVar_Set fRM, 'BUILD_PLATFORM', 'OS2'1204 call EnvVar_Set fRM, 'PATH_MSC', sPathMSC;1205 call EnvVar_AddFront fRM, 'path', sPathMSC'\binp;'1206 call EnvVar_AddFront fRM, 'include', sPathMSC'\include;'1207 call EnvVar_AddFront fRM, 'include16', sPathMSC'\include;'1208 call EnvVar_AddFront fRM, 'lib', sPathMSC'\lib;'1209 1210 /* verify */1211 if (fCfg > 0) then1212 do1213 if ( \FileExists(sPathMSC'\binp\cl.exe', 'error: verify didn''t find'),1214 | \FileExists(sPathMSC'\lib\clibcep.lib', 'error: verify didn''t find'),1215 | \FileExists(sPathMSC'\lib\llibcep.lib', 'error: verify didn''t find'),1216 | \FileExists(sPathMSC'\lib\mlibcep.lib', 'error: verify didn''t find'),1217 | \FileExists(sPathMSC'\lib\slibcep.lib', 'error: verify didn''t find'),1218 | \FileExists(sPathMSC'\include\sysbits.h', 'error: verify didn''t find'),1219 | \FileExists(sPathMSC'\include\dos.h', 'error: verify didn''t find'),1220 | \FileExists(sPathMSC'\include\bios.h', 'error: verify didn''t find'),1221 | \FileExists(sPathMSC'\include\string.h', 'error: verify didn''t find'),1222 | \FileExists(sPathMSC'\include\stdio.h', 'error: verify didn''t find'),1223 ) then1224 return 2;1225 rc = CheckCmdOutput('cl', 0, 'Microsoft (R) C Optimizing Compiler Version 6.00A.04');1226 return rc;1227 end1228 return 0;1229 1230 1231 /*1232 * Microsoft C v6.0a 32-bit1233 */1234 MSCV6_32: procedure expose aCfg. aPath. sPathFile1235 parse arg sEnvId,fRM,fCfg1236 1237 /*1238 * This is where the compiler really is.1239 */1240 call DDKBase 'ddkbase',fRM,fCfg;1241 1242 /*1243 * Microsoft C v6.0a 32-bit main directory.1244 */1245 sPathDDKBase = PathQuery('ddkbase', sEnvId, fCfg);1246 if (sPathDDKBase = '') then1247 return 1;1248 call EnvVar_Set fRM, 'BUILD_ENV', 'MSCV6'1249 call EnvVar_Set fRM, 'BUILD_PLATFORM', 'OS2'1250 call EnvVar_Set fRM, 'PATH_MSC', sPathDDKBase;1251 call EnvVar_AddFront fRM, 'include', sPathDDKBase'\h386;'1252 call EnvVar_AddFront fRM, 'lib', sPathDDKBase'\lib;'1253 1254 /* verify */1255 if (fCfg > 0) then1256 do1257 if ( \FileExists(sPathDDKBase'\tools\cl386.exe', 'error: verify didn''t find'),1258 | \FileExists(sPathDDKBase'\h386\limits.h', 'error: verify didn''t find'),1259 | \FileExists(sPathDDKBase'\h386\string.h', 'error: verify didn''t find'),1260 ) then1261 return 2;1262 rc = CheckCmdOutput('cl386', 0, 'Microsoft (R) Microsoft 386 C Compiler. Version 6.00.054');1263 return rc;1264 end1265 return 0;1266 1267 1268 /*1269 * mySQL Database system1270 */1271 mySQL: procedure expose aCfg. aPath. sPathFile1272 parse arg sEnvId,fRM,fCfg1273 1274 /*1275 * mySQL Database system main directory.1276 */1277 sPathMySQL = PathQuery('mysql', sEnvId, fCfg);1278 if (sPathMySQL = '') then1279 return 1;1280 call EnvVar_Set fRM, 'PATH_MYSQL', sPathMySQL;1281 call EnvVar_AddFront fRM, 'path', sPathMySQL'\bin;'1282 call EnvVar_AddFront fRM, 'beginlibpath', sPathMySQL'\dll;'1283 call EnvVar_AddFront fRM, 'include', sPathMySQL'\include;'1284 call EnvVar_AddFront fRM, 'bookshelf', sPathMySQL'\doc;'sPathMySQL'\book';1285 /*call EnvVar_AddFront fRM, 'lib', sPathMySQL'\lib;'*/1286 1287 /* verify */1288 if (fCfg > 0) then1289 do1290 if ( \FileExists(sPathMySQL'\bin\mysql.exe', 'error: verify didn''t find'),1291 | \FileExists(sPathMySQL'\bin\mysqld.exe', 'error: verify didn''t find'),1292 | \FileExists(sPathMySQL'\bin\mysqladmin.exe', 'error: verify didn''t find'),1293 | \FileExists(sPathMySQL'\dll\mysql.dll', 'error: verify didn''t find'),1294 | \FileExists(sPathMySQL'\include\mysql.h', 'error: verify didn''t find'),1295 | \FileExists(sPathMySQL'\include\mysql_com.h', 'error: verify didn''t find'),1296 | \FileExists(sPathMySQL'\include\mysql_version.h', 'error: verify didn''t find'),1297 ) then1298 return 2;1299 rc = CheckCmdOutput('mysql --version', 0, ', for ');1300 return rc;1301 end1302 return 0;1303 1304 1305 1306 /*1307 * NetQOS2 - help subsystem++ for VAC 3.6.5 and VAC 4.01308 */1309 NetQOS2: procedure expose aCfg. aPath. sPathFile1310 parse arg sEnvId,fRM,fCfg1311 sPathNetQOS2 = PathQuery('netqos2', sEnvId, fCfg);1312 if (sPathNetQOS2 = '') then1313 return 1;1314 call EnvVar_Set fRM, 'PATH_NETQOS2', sPathNetQOS21315 call EnvVar_AddFront fRM, 'path', sPathNetQOS2';'1316 call EnvVar_AddFront fRM, 'dpath', sPathNetQOS2';'1317 call EnvVar_AddFront fRM, 'beginlibpath', sPathNetQOS2';'1318 call EnvVar_Set fRM, 'imndatasrv', sPathNetQOS2'\DATA'1319 call EnvVar_Set fRM, 'imndatacl', sPathNetQOS2'\DATA'1320 call EnvVar_Set fRM, 'imnworksrv', sPathNetQOS2'\WORK'1321 call EnvVar_Set fRM, 'imnworkcl', sPathNetQOS2'\WORK'1322 call EnvVar_Set fRM, 'imnnlpssrv', sPathNetQOS21323 call EnvVar_Set fRM, 'imnnlpscl', sPathNetQOS21324 call EnvVar_Set fRM, 'imncccfgfile', 'NETQ.CFG'1325 call EnvVar_Set fRM, 'imncscfgfile', 'NETQ.CFG'1326 call EnvVar_Set fRM, 'imqconfigsrv', sPathNetQOS2'\instance'1327 call EnvVar_Set fRM, 'imqconfigcl', sPathNetQOS2'\instance\dbcshelp'1328 1329 /* verify */1330 if (fCfg > 0) then1331 do1332 if ( \FileExists(sPathNetQOS2'\netq.exe', 'error: verify didn''t find'),1333 ) then1334 return 2;1335 rc = CheckCmdOutput('netq', 999, 'NETQ {START | STOP');1336 return rc;1337 end1338 return 0;1339 1340 1341 /*1342 * Odin32 testcase setup.1343 */1344 Odin32Testcase: procedure expose aCfg. aPath. sPathFile1345 parse arg sEnvId,fRM,fCfg1346 if ( PathQuery('testcase_drive_unused', sEnvId, fCfg) = '',1347 | PathQuery('testcase_drive_fixed', sEnvId, fCfg) = '',1348 | PathQuery('testcase_drive_floppy', sEnvId, fCfg) = '',1349 | PathQuery('testcase_drive_cdrom', sEnvId, fCfg) = '',1350 ) then1351 return 1;1352 1353 call EnvVar_Set fRM, 'odin32_testcase_drive_unused', PathQuery('testcase_drive_unused', sEnvId, fCfg);1354 call EnvVar_Set fRM, 'odin32_testcase_drive_fixed', PathQuery('testcase_drive_fixed', sEnvId, fCfg);1355 call EnvVar_Set fRM, 'odin32_testcase_drive_floppy', PathQuery('testcase_drive_floppy', sEnvId, fCfg);1356 call EnvVar_Set fRM, 'odin32_testcase_drive_cdrom', PathQuery('testcase_drive_cdrom', sEnvId, fCfg);1357 call EnvVar_Set fRM, 'odin32_testcase_drive_network', PathQuery('testcase_drive_network', sEnvId, fCfg, 1);1358 call EnvVar_Set fRM, 'odin32_testcase_drive_ramdisk', PathQuery('testcase_drive_ramdisk', sEnvId, fCfg, 1);1359 return 0;1360 1361 /*1362 * PERL 5005_531363 */1364 Perl: procedure expose aCfg. aPath. sPathFile1365 parse arg sEnvId,fRM,fCfg1366 1367 /*1368 * Perl main directory.1369 */1370 /* BAD1371 sPathPerl = PathQuery('perl', sEnvId, fCfg);1372 if (sPathPerl = '') then1373 return 1;1374 sPathPerlForw = translate(sPathPerl, '/', '\');1375 call EnvVar_Set fRM, 'PATH_PERL', sPathPerl;1376 call EnvVar_AddFront fRM, 'path', sPathPerl'\bin;'1377 call EnvVar_AddFront fRM, 'beginlibpath', sPathPerl'\dll;'1378 call EnvVar_AddEnd fRM, 'bookshelf', sPathPerl'\book;'1379 call EnvVar_Set fRM, 'perllib_prefix', sPathPerlForw'/lib;'sPathPerl'\lib'1380 call EnvVar_Set fRM, 'perl5lib', sPathPerlForw'/lib/site_perl/5.00553/os2;'sPathPerlForw'/lib/site_perl/5.00553'1381 call EnvVar_Set fRM, 'perl5load', '2'1382 call EnvVar_Set fRM, 'perl_sh_dir', sPathPerlForw'/bin_sh/sh.exe'1383 call EnvVar_Set fRM, 'manpath', sPathPerlForw'/man'1384 call EnvVar_Set fRM, 'perl_badlang', '0'1385 /* call EnvVar_Set fRM, 'LANG', 'en_US' /* dirty fix... */*/1386 */1387 /* seems ok */1388 sPathPerl = PathQuery('perl', sEnvId, fCfg);1389 if (sPathPerl = '') then1390 return 1;1391 sPathPerlForw = translate(sPathPerl, '/', '\');1392 call EnvVar_Set fRM, 'PATH_PERL', sPathPerl;1393 call EnvVar_AddFront fRM, 'path', sPathPerl'\bin;'1394 call EnvVar_AddFront fRM, 'beginlibpath', sPathPerl'\dll;'1395 call EnvVar_AddEnd fRM, 'bookshelf', sPathPerl'\book;'1396 call EnvVar_Set fRM, 'perllib_prefix', sPathPerlForw'/lib;'sPathPerlForw'/lib'1397 call EnvVar_Set fRM, 'perl_sh_dir', sPathPerlForw'/bin_sh'1398 call EnvVar_Set fRM, 'manpath', sPathPerlForw'/man'1399 call EnvVar_Set fRM, 'perl5lib', sPathPerlForw'/lib'1400 call EnvVar_Set fRM, 'perl_badlang', '0'1401 1402 /* verify */1403 if (fCfg > 0) then1404 do1405 if ( \FileExists(sPathPerl'\bin\perl.exe', 'error: verify didn''t find'),1406 | \FileExists(sPathPerl'\dll\perlE0AC.dll', 'error: verify didn''t find'),1407 ) then1408 return 2;1409 rc = CheckCmdOutput('perl --version', 0, 'This is perl, version 5.005_53 built for os2');1410 return rc;1411 end1412 return 0;1413 1414 1415 /*1416 * Python/2 v1.5.21417 */1418 Python: procedure expose aCfg. aPath. sPathFile1419 parse arg sEnvId,fRM,fCfg1420 1421 /*1422 * The Python Home directory1423 */1424 sPythonHome = PathQuery('python', sEnvId, fCfg);1425 if (sPythonHome = '') then1426 return 1;1427 call EnvVar_Set fRM, 'PATH_PYTHON', sPythonHome1428 call EnvVar_Set fRM, 'pythonhome', sPythonHome1429 call EnvVar_Set fRM, 'pythonpath', '.;'sPythonHome'\Lib;'sPythonHome'\Lib\plat-win;'sPythonHome'\Lib\lib-tk;'sPythonHome'\Lib\lib-dynload;'sPythonHome'\Lib\site-packages;'sPythonHome'\Lib\dos-8x3'1430 call EnvVar_AddFront fRM, 'beginlibpath', sPythonHome1431 call EnvVar_AddFront fRM, 'path', sPythonHome1432 1433 /* verify */1434 if (fCfg > 0) then1435 do1436 if ( \FileExists(sPythonHome'\Python.exe', 'error: verify didn''t find'),1437 | \FileExists(sPythonHome'\Python15.dll', 'error: verify didn''t find'),1438 ) then1439 return 2;1440 rc = CheckCmdOutput('echo print "hello world" | python', 0, 'hello world');1441 return rc;1442 end1443 return 0;1444 1445 1446 /*1447 * OS/2 Programmers Toolkit v4.0 (CSD1/4)1448 */1449 Toolkit40: procedure expose aCfg. aPath. sPathFile1450 parse arg sEnvId,fRM,fCfg1451 1452 /*1453 * Toolkit (4.0) main directory.1454 */1455 sPathTK = PathQuery('toolkit40', sEnvId, fCfg);1456 if (sPathTK = '') then1457 return 1;1458 call EnvVar_Set fRM, 'PATH_TOOLKIT', sPathTK;1459 1460 call EnvVar_AddFront fRM, 'beginlibpath', sPathTK'\BETA\DLL;'sPathTK'\SAMPLES\MM\DLL;'sPathTK'\SAMPLES\OPENDOC\PARTS\DLL;'sPathTK'\SOM\COMMON\DLL;'sPathTK'\SOM\LIB;'sPathTK'\OPENDOC\BASE\DLL;'sPathTK'\OPENDOC\BASE\LOCALE\EN_US;'sPathTK'\DLL;'1461 call EnvVar_AddFront fRM, 'path', sPathTK'\BETA\BIN;'sPathTK'\SOM\COMMON;'sPathTK'\SOM\BIN;.;'sPathTK'\OPENDOC\BASE\BIN;'sPathTK'\BIN;'1462 call EnvVar_AddFront fRM, 'dpath', sPathTK'\SOM\COMMON\SYSTEM;'sPathTK'\SOM\MSG;'sPathTK'\OPENDOC\BASE\MSG;'sPathTK'\BOOK;'sPathTK'\MSG;'1463 call EnvVar_AddFront fRM, 'help', sPathTK'\BETA\HELP;'sPathTK'\OPENDOC\BASE\LOCALE\EN_US;'sPathTK'\HELP;'1464 call EnvVar_AddFront fRM, 'bookshelf', sPathTK'\BETA\BOOK;'sPathTK'\BOOK;'sPathTK'\ARCHIVED;'1465 call EnvVar_AddFront fRM, 'somir', sPathTK'\SOM\COMMON\ETC\214\SOM.IR;'sPathTK'\OPENDOC\BASE\AVLSHELL.IR;'1466 call EnvVar_AddEnd fRM, 'somir', sPathTK'\OPENDOC\CUSTOM\OD.IR;'sPathTK'\SAMPLES\REXX\SOM\ANIMAL\ORXSMP.IR;'1467 call EnvVar_AddFront fRM, 'include', sPathTK'\SPEECH\H;'sPathTK'\BETA\H;'sPathTK'\SAMPLES\OPENDOC\PARTS\INCLUDE;'sPathTK'\SOM\INCLUDE;'sPathTK'\INC;'sPathTK'\H\GL;'sPathTK'\H;'1468 call EnvVar_AddEnd fRM, 'include', sPathTK'\H\LIBC;.;'1469 call EnvVar_AddFront fRM, 'lib', sPathTK'\SPEECH\LIB;'sPathTK'\SAMPLES\MM\LIB;'sPathTK'\LIB;'sPathTK'\SOM\LIB;'sPathTK'\OPENDOC\BASE\LIB;'1470 call EnvVar_AddFront fRM, 'nlspath', sPathTK'\OPENDOC\BASE\LOCALE\EN_US\%N;'sPathTK'\MSG\%N;C:\MPTN\MSG\NLS\%N;C:\TCPIP\msg\ENUS850\%N;'1471 call EnvVar_AddFront fRM, 'locpath', sPathTK'\OPENDOC\BASE\LOCALE;'1472 call EnvVar_AddFront fRM, 'ipfc', sPathTK'\IPFC;'1473 call EnvVar_Set fRM, 'odbase', sPathTK'\OPENDOC\BASE'1474 call EnvVar_Set fRM, 'odlang', 'en_US'1475 call EnvVar_AddFront fRM, 'odbasepaths', sPathTK'\OPENDOC\BASE;'1476 call EnvVar_Set fRM, 'odcfg', sPathTK'\OPENDOC\CUSTOM'1477 call EnvVar_Set fRM, 'odtmp', EnvVar_Get('tmp');1478 call EnvVar_Set fRM, 'sombase', sPathTK'\SOM'1479 call EnvVar_Set fRM, 'somruntime', sPathTK'\SOM\COMMON'1480 1481 call EnvVar_Set fRM, 'cpref', 'CP1.INF+CP2.INF+CP3.INF'1482 call EnvVar_Set fRM, 'gpiref', 'GPI1.INF+GPI2.INF+GPI3.INF+GPI4.INF'1483 call EnvVar_Set fRM, 'mmref', 'MMREF1.INF+MMREF2.INF+MMREF3.INF'1484 call EnvVar_Set fRM, 'pmref', 'PM1.INF+PM2.INF+PM3.INF+PM4.INF+PM5.INF'1485 call EnvVar_Set fRM, 'wpsref', 'WPS1.INF+WPS2.INF+WPS3.INF'1486 call EnvVar_AddFront fRM, 'sminclude', sPathTK'\H;'sPathTK'\IDL;'sPathTK'\SOM\INCLUDE;.;'sPathTK'\OPENDOC\BASE\INCLUDE;'sPathTK'\SAMPLES\OPENDOC\PARTS\INCLUDE;'1487 call EnvVar_Set fRM, 'smaddstar', '1'1488 call EnvVar_Set fRM, 'smemit', 'h;ih;c'1489 call EnvVar_Set fRM, 'smtmp', EnvVar_Get('tmp');1490 call EnvVar_Set fRM, 'smclasses', 'WPTYPES.IDL'1491 call EnvVar_Set fRM, 'odparts', sPathTK'\SAMPLES\OPENDOC\PARTS'1492 call EnvVar_Set fRM, 'odsrc', sPathTK'\SAMPLES\OPENDOC\PARTS'1493 call EnvVar_AddFront fRM, 'odpartspaths', sPathTK'\SAMPLES\OPENDOC\PARTS;'1494 call EnvVar_AddFront fRM, 'odsrcpaths', sPathTK'\SAMPLES\OPENDOC\PARTS;'1495 /*1496 call EnvVar_Set fRM, 'CAT_MACHINE=COM1:57600'1497 call EnvVar_Set fRM, 'CAT_HOST_BIN_PATH='sPathTK'\BIN'1498 call EnvVar_Set fRM, 'CAT_COMMUNICATION_TYPE=ASYNC_SIGBRK'1499 call EnvVar_AddFront fRM, 'CAT_HOST_SOURCE_PATH='sPathTK'\BIN;'1500 */1501 1502 /* verify */1503 if (fCfg > 0) then1504 do1505 if ( \FileExists(sPathTK'\bin\alp.exe', 'error: verify didn''t find'),1506 | \FileExists(sPathTK'\bin\rc.exe', 'error: verify didn''t find'),1507 | \FileExists(sPathTK'\bin\ipfc.exe', 'error: verify didn''t find'),1508 | \FileExists(sPathTK'\bin\implib.exe', 'error: verify didn''t find'),1509 | \FileExists(sPathTK'\bin\mkmsgf.exe', 'error: verify didn''t find'),1510 | \FileExists(sPathTK'\bin\mapsym.exe', 'error: verify didn''t find'),1511 | \FileExists(sPathTK'\lib\os2386.lib', 'error: verify didn''t find'),1512 | \FileExists(sPathTK'\lib\pmbidi.lib', 'error: verify didn''t find'),1513 | \FileExists(sPathTK'\lib\tcpip32.lib', 'error: verify didn''t find'),1514 | \FileExists(sPathTK'\h\os2.h', 'error: verify didn''t find'),1515 | \FileExists(sPathTK'\h\os2win.h', 'error: verify didn''t find'),1516 | \FileExists(sPathTK'\h\stack16\pmwsock.h', 'error: verify didn''t find'),1517 | \FileExists(sPathTK'\som\bin\sc.exe', 'error: verify didn''t find'),1518 ) then1519 return 2;1520 rc = CheckCmdOutput('syslevel '||sPathTK||'\bin', 0, 'IBM Developer''s Toolkit for OS/2 Warp Version 4'||'0d0a'x||'Version 4.00.');1521 if (rc = 0) then1522 rc = CheckCmdOutput('sc -V', -1, '", Version: 2.54.');1523 if (rc = 0) then1524 rc = CheckCmdOutput('rc', 0, 'IBM RC (Resource Compiler) Version 5.00.00');1525 if (rc = 0) then1526 rc = CheckCmdOutput('ipfc', 0, 'Version 4.00.00');1527 1528 return rc;1529 end1530 return 0;1531 1532 1533 1534 /*1535 * OS/2 Programmers Toolkit v4.51536 */1537 Toolkit45: procedure expose aCfg. aPath. sPathFile1538 parse arg sEnvId,fRM,fCfg1539 1540 /*1541 * Toolkit (4.5) main directory.1542 */1543 sPathTK = PathQuery('toolkit45', sEnvId, fCfg);1544 if (sPathTK = '') then1545 return 1;1546 call EnvVar_Set fRM, 'PATH_TOOLKIT', sPathTK;1547 1548 call EnvVar_AddFront fRM, 'path', sPathTK'\bin;'1549 call EnvVar_AddFront fRM, 'dpath', sPathTK'\book;'1550 call EnvVar_AddFront fRM, 'dpath', sPathTK'\msg;'1551 call EnvVar_AddFront fRM, 'beginlibpath', sPathTK'\dll;'1552 call EnvVar_AddFront fRM, 'help', sPathTK'\help;'1553 call EnvVar_AddFront fRM, 'bookshelf', sPathTK'\archived;'1554 call EnvVar_AddFront fRM, 'bookshelf', sPathTK'\book;'1555 call EnvVar_AddFront fRM, 'nlspath', sPathTK'\msg\%N;'1556 call EnvVar_AddEnd fRM, 'ulspath', sPathTK'\language;'1557 call EnvVar_AddFront fRM, 'include', sPathTK'\H;'1558 call EnvVar_AddFront fRM, 'include', sPathTK'\H\GL;'1559 call EnvVar_AddFront fRM, 'include', sPathTK'\SPEECH\H;'1560 call EnvVar_AddFront fRM, 'include', sPathTK'\H\RPC;'1561 call EnvVar_AddFront fRM, 'include', sPathTK'\H\NETNB;'1562 call EnvVar_AddFront fRM, 'include', sPathTK'\H\NETINET;'1563 call EnvVar_AddFront fRM, 'include', sPathTK'\H\NET;'1564 call EnvVar_AddFront fRM, 'include', sPathTK'\H\ARPA;'1565 call EnvVar_AddFront fRM, 'include', sPathTK'\INC;'1566 call EnvVar_AddEnd fRM, 'lib', sPathTK'\SAMPLES\MM\LIB;'1567 call EnvVar_AddEnd fRM, 'lib', sPathTK'\SPEECH\LIB;'1568 call EnvVar_AddFront fRM, 'lib', sPathTK'\lib;'1569 call EnvVar_AddFront fRM, 'helpndx', 'EPMKWHLP.NDX+', '+'1570 call EnvVar_AddFront fRM, 'ipfc', sPathTK'\ipfc;'1571 call EnvVar_Set fRM, 'LANG', 'en_us'1572 call EnvVar_Set fRM, 'CPREF', 'CP1.INF+CP2.INF+CP3.INF'1573 call EnvVar_Set fRM, 'GPIREF', 'GPI1.INF+GPI2.INF+GPI3.INF+GPI4.INF'1574 call EnvVar_Set fRM, 'MMREF', 'MMREF1.INF+MMREF2.INF+MMREF3.INF'1575 call EnvVar_Set fRM, 'PMREF', 'PM1.INF+PM2.INF+PM3.INF+PM4.INF+PM5.INF'1576 call EnvVar_Set fRM, 'WPSREF', 'WPS1.INF+WPS2.INF+WPS3.INF'1577 /*1578 call EnvVar_Set fRM, 'CAT_MACHINE', 'COM1:57600'1579 call EnvVar_Set fRM, 'CAT_HOST_BIN_PATH', TKMAIN'\BIN'1580 call EnvVar_Set fRM, 'CAT_COMMUNICATION_TYPE', 'ASYNC_SIGBRK'1581 call EnvVar_Set fRM, 'CAT_HOST_SOURCE_PATH',TKMAIN'\BIN;'1582 */1583 1584 /* verify */1585 if (fCfg > 0) then1586 do1587 if ( \FileExists(sPathTK'\bin\alp.exe', 'error: verify didn''t find'),1588 | \FileExists(sPathTK'\bin\rc.exe', 'error: verify didn''t find'),1589 | \FileExists(sPathTK'\bin\ipfc.exe', 'error: verify didn''t find'),1590 | \FileExists(sPathTK'\bin\implib.exe', 'error: verify didn''t find'),1591 | \FileExists(sPathTK'\bin\mkmsgf.exe', 'error: verify didn''t find'),1592 | \FileExists(sPathTK'\bin\mapsym.exe', 'error: verify didn''t find'),1593 | \FileExists(sPathTK'\lib\os2386.lib', 'error: verify didn''t find'),1594 | \FileExists(sPathTK'\lib\pmbidi.lib', 'error: verify didn''t find'),1595 | \FileExists(sPathTK'\lib\tcpip32.lib', 'error: verify didn''t find'),1596 | \FileExists(sPathTK'\h\os2.h', 'error: verify didn''t find'),1597 | \FileExists(sPathTK'\h\os2win.h', 'error: verify didn''t find'),1598 | \FileExists(sPathTK'\h\stack16\pmwsock.h', 'error: verify didn''t find'),1599 | FileExists(sPathTK'\som\bin\sc.exe'),1600 ) then1601 return 2;1602 rc = CheckCmdOutput('syslevel '||sPathTK||'\bin', 0, 'IBM OS/2 Developer''s Toolkit Version 4.5'||'0d0a'x||'Version 4.50 Component ID 5639F9300');1603 if (rc = 0) then1604 rc = CheckCmdOutput('rc', 0, 'IBM RC (Resource Compiler) Version 5.00.004');1605 if (rc = 0) then1606 rc = CheckCmdOutput('ipfc', 0, 'Version 4.00.006 July 21 1998');1607 return rc;1608 end1609 return 0;1610 1611 1612 /*1613 * OS/2 Programmers Toolkit v4.5.11614 */1615 Toolkit451: procedure expose aCfg. aPath. sPathFile1616 parse arg sEnvId,fRM,fCfg1617 1618 /*1619 * Toolkit (4.5.1) main directory.1620 */1621 sPathTK = PathQuery('toolkit451', sEnvId, fCfg);1622 if (sPathTK = '') then1623 return 1;1624 call EnvVar_Set fRM, 'PATH_TOOLKIT', sPathTK;1625 1626 call EnvVar_AddFront fRM, 'path', sPathTK'\bin;'sPathTK'\som\common;'sPathTK'\som\bin'1627 call EnvVar_AddFront fRM, 'dpath', sPathTK'\msg;'sPathTK'\book;'sPathTK'\SOM\COMMON\SYSTEM;'sPathTK'\SOM\MSG;'1628 call EnvVar_AddFront fRM, 'beginlibpath', sPathTK'\dll;'sPathTK'\som\common\dll;'sPathTK'\som\lib;'1629 call EnvVar_AddFront fRM, 'help', sPathTK'\help;'1630 call EnvVar_AddFront fRM, 'bookshelf', sPathTK'\book;'sPathTK'\archived;'1631 call EnvVar_AddFront fRM, 'somir', sPathTK'\SOM\COMMON\ETC\214\SOM.IR;'1632 call EnvVar_AddEnd fRM, 'somir', sPathTK'\SAMPLES\REXX\SOM\ANIMAL\ORXSMP.IR;'1633 call EnvVar_AddFront fRM, 'nlspath', sPathTK'\msg\%N;'1634 call EnvVar_AddEnd fRM, 'ulspath', sPathTK'\language;'1635 call EnvVar_AddFront fRM, 'include', sPathTK'\H\ARPA;'sPathTK'\H\NET;'sPathTK'\H\NETINET;'sPathTK'\H\NETNB;'sPathTK'\H\RPC;'sPathTK'\SPEECH\H;'sPathTK'\H\GL;'sPathTK'\H;'sPathTK'\SOM\INCLUDE;'sPathTK'\INC;'1636 call EnvVar_AddFront fRM, 'lib', sPathTK'\lib;'1637 call EnvVar_AddEnd fRM, 'lib', sPathTK'\SAMPLES\MM\LIB;'sPathTK'\SPEECH\LIB;'1638 call EnvVar_AddFront fRM, 'helpndx', 'EPMKWHLP.NDX+', '+'1639 call EnvVar_AddFront fRM, 'ipfc', sPathTK'\ipfc;'1640 call EnvVar_Set fRM, 'sombase', sPathTK'\SOM'1641 call EnvVar_Set fRM, 'somruntime', sPathTK'\SOM\COMMON'1642 call EnvVar_Set fRM, 'LANG', 'en_us'1643 1644 call EnvVar_Set fRM, 'CPREF', 'CP1.INF+CP2.INF+CP3.INF'1645 call EnvVar_Set fRM, 'GPIREF', 'GPI1.INF+GPI2.INF+GPI3.INF+GPI4.INF'1646 call EnvVar_Set fRM, 'MMREF', 'MMREF1.INF+MMREF2.INF+MMREF3.INF'1647 call EnvVar_Set fRM, 'PMREF', 'PM1.INF+PM2.INF+PM3.INF+PM4.INF+PM5.INF'1648 call EnvVar_Set fRM, 'WPSREF', 'WPS1.INF+WPS2.INF+WPS3.INF'1649 call EnvVar_AddFront fRM, 'sminclude', sPathTK'\H;'sPathTK'\IDL;'sPathTK'\SOM\INCLUDE;.;'1650 call EnvVar_Set fRM, 'smaddstar', '1'1651 call EnvVar_Set fRM, 'smemit', 'h;ih;c'1652 call EnvVar_Set fRM, 'smtmp', EnvVar_Get('tmp');1653 call EnvVar_Set fRM, 'smclasses', 'WPTYPES.IDL'1654 /*1655 call EnvVar_Set fRM, 'CAT_MACHINE', 'COM1:57600'1656 call EnvVar_Set fRM, 'CAT_HOST_BIN_PATH', TKMAIN'\BIN'1657 call EnvVar_Set fRM, 'CAT_COMMUNICATION_TYPE', 'ASYNC_SIGBRK'1658 call EnvVar_Set fRM, 'CAT_HOST_SOURCE_PATH',TKMAIN'\BIN;'1659 */1660 1661 /* verify */1662 if (fCfg > 0) then1663 do1664 if ( \FileExists(sPathTK'\bin\alp.exe', 'error: verify didn''t find'),1665 | \FileExists(sPathTK'\bin\rc.exe', 'error: verify didn''t find'),1666 | \FileExists(sPathTK'\bin\ipfc.exe', 'error: verify didn''t find'),1667 | \FileExists(sPathTK'\bin\implib.exe', 'error: verify didn''t find'),1668 | \FileExists(sPathTK'\bin\mkmsgf.exe', 'error: verify didn''t find'),1669 | \FileExists(sPathTK'\bin\mapsym.exe', 'error: verify didn''t find'),1670 | \FileExists(sPathTK'\bin\nmake.exe', 'error: verify didn''t find'),1671 | \FileExists(sPathTK'\bin\nmake32.exe', 'error: verify didn''t find'),1672 | \FileExists(sPathTK'\lib\os2386.lib', 'error: verify didn''t find'),1673 | \FileExists(sPathTK'\lib\pmbidi.lib', 'error: verify didn''t find'),1674 | \FileExists(sPathTK'\lib\tcpip32.lib', 'error: verify didn''t find'),1675 | \FileExists(sPathTK'\h\os2.h', 'error: verify didn''t find'),1676 | \FileExists(sPathTK'\h\os2win.h', 'error: verify didn''t find'),1677 | \FileExists(sPathTK'\h\stack16\pmwsock.h', 'error: verify didn''t find'),1678 | \FileExists(sPathTK'\som\bin\sc.exe', 'error: verify didn''t find'),1679 ) then1680 return 2;1681 rc = CheckCmdOutput('syslevel '||sPathTK||'\bin', 0, 'IBM OS/2 Developer''s Toolkit Version 4.5'||'0d0a'x||'Version 4.50.1 Component ID 5639F9300');1682 if (rc = 0) then1683 rc = CheckCmdOutput('sc -V', -1, '", Version: 2.54.');1684 if (rc = 0) then1685 rc = CheckCmdOutput('rc', 0, 'IBM RC (Resource Compiler) Version 5.00.006 Oct 20 2000');1686 if (rc = 0) then1687 rc = CheckCmdOutput('ipfc', 0, 'Version 4.00.007 Oct 02 2000');1688 if (rc = 0) then1689 rc = CheckCmdOutput('nmake', 2, 'Version 4.00.000 Oct 20 2000');1690 if (rc = 0) then1691 rc = CheckCmdOutput('nmake32', 0, 'Version 5.00.003 Oct 20 2000');1692 return rc;1693 end1694 return 0;1695 1696 1697 1698 /**1699 * This will envolve into an full UNIX like environment some day perhaps...1700 */1701 Unix: procedure expose aCfg. aPath. sPathFile1702 parse arg sEnvId,fRM,fCfg1703 1704 /*1705 * Unix root directory.1706 */1707 sUnixBack = PathQuery('unixroot', sEnvId, fCfg);1708 if (sUnixBack = '') then1709 return 1;1710 sUnixForw = translate(sUnixBack, '/', '\');1711 call EnvVar_Set fRM, 'PATH_UNIX', sUnixBack1712 call EnvVar_Set fRM, 'unixroot', sUnixBack1713 call EnvVar_AddFront fRM, 'path', sUnixBack'\bin;'sUnixBack'\usr\local\bin;'1714 call EnvVar_AddFront fRM, 'beginlibpath', sUnixBack'\dll;'1715 call EnvVar_Set fRM, 'groff_font_path', sUnixForw'/lib/groff/font'1716 call EnvVar_Set fRM, 'groff_tmac_path', sUnixForw'/lib/groff/tmac'1717 call EnvVar_Set fRM, 'refer', sUnixForw'/lib/groff/dict/papers/ind'1718 1719 call EnvVar_Set fRM, 'editor', 'e:/verkty/boxer/b2.exe -Vr25'1720 1721 /*1722 * XFree86 main directory.1723 */1724 sXF86Back = PathQuery('xfree86', sEnvId, fCfg);1725 if (sXF86Back = '') then1726 return 1;1727 sXF86Forw = translate(sXF86Back, '/', '\');1728 call EnvVar_Set fRM, 'PATH_XFREE86', sXF86Back1729 call EnvVar_AddFront fRM, 'C_INCLUDE_PATH', sXF86Forw'/include'1730 call EnvVar_AddFront fRM, 'CPLUS_INCLUDE_PATH', sXF86Forw'/include'1731 call EnvVar_Set fRM, 'OBJC_INCLUDE_PATH', sXF86Forw'/include'1732 call EnvVar_AddFront fRM, 'LIBRARY_PATH', sXF86Forw'/lib'1733 1734 /* verify */1735 if (fCfg > 0) then1736 do1737 if ( \FileExists(sUnixBack'\bin\bash.exe', 'error: verify didn''t find'),1738 | \FileExists(sUnixBack'\bin\sh.exe', 'error: verify didn''t find'),1739 | \FileExists(sUnixBack'\bin\yes.exe', 'error: verify didn''t find'),1740 | \FileExists(sUnixBack'\bin\rm.exe', 'error: verify didn''t find'),1741 | \FileExists(sUnixBack'\bin\cp.exe', 'error: verify didn''t find'),1742 | \FileExists(sUnixBack'\bin\mv.exe', 'error: verify didn''t find'),1743 | \FileExists(sXF86Back'\bin\xf86config.exe', 'error: verify didn''t find'),1744 ) then1745 return 2;1746 return rc;1747 end1748 return EMX(fRM);1749 1750 1751 1752 /*1753 * IBM Visual Age for C++ v3.08 for OS/21754 */1755 VAC308: procedure expose aCfg. aPath. sPathFile1756 parse arg sEnvId,fRM,fCfg1757 1758 /*1759 * IBM Visual Age for C++ Version 3.08 main directory.1760 */1761 sPathCPP = PathQuery('vac308', sEnvId, fCfg);1762 if (sPathCPP = '') then1763 return 1;1764 call EnvVar_Set fRM, 'PATH_VAC308', sPathCPP1765 call EnvVar_Set fRM, 'CCENV', 'VAC3'1766 call EnvVar_Set fRM, 'BUILD_ENV', 'VAC308'1767 call EnvVar_Set fRM, 'BUILD_PLATFORM', 'OS2'1768 1769 call EnvVar_AddFront fRM, 'beginlibpath', sPathCPP'\DLL;'sPathCPP'\SAMPLES\TOOLKIT\DLL;'1770 call EnvVar_AddFront fRM, 'path', sPathCPP'\BIN;'sPathCPP'\SMARTS\SCRIPTS;'sPathCPP'\HELP;'1771 call EnvVar_AddFront fRM, 'dpath', sPathCPP'\HELP;'sPathCPP';'sPathCPP'\LOCALE;'sPathCPP'\MACROS;'sPathCPP'\BND;'1772 call EnvVar_AddFront fRM, 'help', sPathCPP'\HELP;'sPathCPP'\SAMPLES\TOOLKIT\HELP;'1773 call EnvVar_AddFront fRM, 'bookshelf', sPathCPP'\HELP;'1774 call EnvVar_AddFront fRM, 'somir', sPathCPP'\ETC\SOM.IR;'1775 call EnvVar_AddFront fRM, 'cpphelp_ini', 'C:\OS2\SYSTEM'1776 call EnvVar_AddFront fRM, 'locpath', sPathCPP'\LOCALE;%LOCPATH%;'1777 call EnvVar_AddFront fRM, 'include', sPathCPP'\INCLUDE;'sPathCPP'\INCLUDE\OS2;'sPathCPP'\INC;'sPathCPP'\INCLUDE\SOM;'1778 call EnvVar_AddFront fRM, 'sminclude', sPathCPP'\INCLUDE\OS2;'sPathCPP'\INCLUDE;'sPathCPP'\INCLUDE\SOM;'1779 1780 call EnvVar_AddFront fRM, 'vbpath', '.;'sPathCPP'\DDE4VB;'1781 call EnvVar_Set fRM, 'tmpdir', EnvVar_Get('tmp')1782 call EnvVar_Set fRM, 'lxevfref', 'EVFELREF.INF+LPXCREF.INF'1783 call EnvVar_Set fRM, 'lxevfhdi', 'EVFELHDI.INF+LPEXHDI.INF'1784 call EnvVar_AddFront fRM, 'lpath', sPathCPP'\MACROS;'1785 call EnvVar_AddFront fRM, 'codelpath', sPathCPP'\CODE\MACROS;'sPathCPP'\MACROS;'1786 call EnvVar_Set fRM, 'clref', 'CPPCLRF.INF+CPPDAT.INF+CPPAPP.INF+CPPWIN.INF+CPPCTL.INF+CPPADV.INF+CPP2DG.INF+CPPDDE.INF+CPPDM.INF+CPPMM.INF+CPPCLRB.INF'1787 call EnvVar_AddFront fRM, 'ipfc', sPathCPP'\IPFC'1788 call EnvVar_AddFront fRM, 'lib', sPathCPP'\LIB;'sPathCPP'\DLL;'1789 call EnvVar_Set fRM, 'cpplocal', sPathCPP1790 call EnvVar_Set fRM, 'cppmain', sPathCPP1791 call EnvVar_Set fRM, 'cppwork', sPathCPP1792 call EnvVar_Set fRM, 'iwf.default_prj','CPPDFTPRJ'1793 1794 call EnvVar_Set fRM, 'iwf.solution_lang_support', 'CPPIBS30;ENG'1795 call EnvVar_Set fRM, 'vacpp_shared' 'FALSE'1796 call EnvVar_Set fRM, 'iwfhelp', 'IWFHDI.INF'1797 call EnvVar_Set fRM, 'iwfopt', sPathCPP1798 1799 call EnvVar_Set fRM, 'somruntime', sPathCPP'\DLL'1800 call EnvVar_Set fRM, 'smaddstar', '1'1801 call EnvVar_Set fRM, 'smemit', 'h;ih;c'1802 call EnvVar_Set fRM, 'sombase', sPathCPP1803 call EnvVar_Set fRM, 'smtmp', EnvVar_Get('tmp')1804 call EnvVar_Set fRM, 'smclasses', 'WPTYPES.IDL'1805 1806 call EnvVar_AddFront fRM, 'helpndx', 'EPMKWHLP.NDX+CPP.NDX+CPPBRS.NDX', '+'1807 call EnvVar_AddFront fRM, 'ipf_keys', 'SHOWNAV'1808 1809 /* verify */1810 if (fCfg > 0) then1811 do1812 if ( \FileExists(sPathCPP'\bin\icc.exe', 'error: verify didn''t find'),1813 | \FileExists(sPathCPP'\bin\ilib.exe', 'error: verify didn''t find'),1814 | \FileExists(sPathCPP'\bin\ilink.exe', 'error: verify didn''t find'),1815 | \FileExists(sPathCPP'\bin\icsperf.exe', 'error: verify didn''t find'),1816 | \FileExists(sPathCPP'\bin\icsdebug.exe', 'error: verify didn''t find'),1817 | \FileExists(sPathCPP'\bin\cppfilt.exe', 'error: verify didn''t find'),1818 | \FileExists(sPathCPP'\bin\dllrname.exe', 'error: verify didn''t find'),1819 | \FileExists(sPathCPP'\lib\demangl.lib', 'error: verify didn''t find'),1820 | \FileExists(sPathCPP'\lib\cppom30.lib', 'error: verify didn''t find'),1821 | \FileExists(sPathCPP'\lib\cppom30i.lib', 'error: verify didn''t find'),1822 | \FileExists(sPathCPP'\lib\cppom30o.lib', 'error: verify didn''t find'),1823 | \FileExists(sPathCPP'\lib\cppon30i.lib', 'error: verify didn''t find'),1824 | \FileExists(sPathCPP'\lib\cppon30o.lib', 'error: verify didn''t find'),1825 | \FileExists(sPathCPP'\lib\_doscall.lib', 'error: verify didn''t find'),1826 | \FileExists(sPathCPP'\lib\_pmwin.lib', 'error: verify didn''t find'),1827 | \FileExists(sPathCPP'\include\builtin.h', 'error: verify didn''t find'),1828 | \FileExists(sPathCPP'\include\conio.h', 'error: verify didn''t find'),1829 | \FileExists(sPathCPP'\include\ismkss.h', 'error: verify didn''t find'),1830 | FileExists(sPathCPP'\include\os2.h'),1831 | FileExists(sPathCPP'\include\os2win.h'),1832 | FileExists(sPathCPP'\include\pm.h'),1833 | \FileExists(sPathCPP'\include\sys\utime.h', 'error: verify didn''t find'),1834 | \FileExists(sPathCPP'\help\cpplib.inf', 'error: verify didn''t find'),1835 ) then1836 return 2;1837 rc = CheckCmdOutput('syslevel '||sPathCPP||'\syslevel', 0, 'Version 3.00 Component ID 562201703'||'0d0a'x||'Current CSD level: CTC308');1838 if (rc = 0) then1839 rc = CheckCmdOutput('syslevel '||sPathCPP||'\syslevel', 0, 'Version 3.00 Component ID 562201704'||'0d0a'x||'Current CSD level: CTU308');1840 if (rc = 0) then1841 rc = CheckCmdOutput('syslevel '||sPathCPP||'\syslevel', 0, 'Version 3.00 Component ID 562201707'||'0d0a'x||'Current CSD level: CTV308');1842 if (rc = 0) then1843 rc = CheckCmdOutput('syslevel '||sPathCPP||'\syslevel', 0, 'Version 3.00 Component ID 562201708'||'0d0a'x||'Current CSD level: CTD308');1844 if (rc = 0) then1845 rc = CheckCmdOutput('syslevel '||sPathCPP||'\syslevel', 0, 'Version 3.00 Component ID 562201605'||'0d0a'x||'Current CSD level: CTC308');1846 if (rc = 0) then1847 rc = CheckCmdOutput('syslevel '||sPathCPP||'\syslevel', 0, 'Version 3.00 Component ID 562201602'||'0d0a'x||'Current CSD level: CTO308');1848 if (rc = 0) then1849 rc = CheckCmdOutput('icc', 0, 'IBM VisualAge C++ for OS/2, Version 3');1850 if (rc = 0) then1851 rc = CheckCmdOutput('ilink', 16, 'IBM(R) Linker for OS/2(R), Version 01.08.r1a_CTC308c');1852 if (rc = 0) then1853 rc = CheckCmdOutput('ilib /?', 8, 'IBM(R) Library Manager for OS/2(R), Version 01.00.03 cc_CTC308c');1854 return rc;1855 end1856 return 0;1857 1858 1859 1860 /*1861 * Visual Age / C and C++ tools v3.6.5 for OS/21862 */1863 VAC365: procedure expose aCfg. aPath. sPathFile1864 parse arg sEnvId,fRM,fCfg1865 1866 /*1867 * IBM C/C++ Compiler and Tools Version 3.6.5 main directory.1868 */1869 sPathCxx = PathQuery('vac365', sEnvId, fCfg);1870 if (sPathCxx = '') then1871 return 1;1872 call EnvVar_Set fRM, 'PATH_VAC365', sPathCxx;1873 call EnvVar_Set fRM, 'CCENV', 'VAC36'1874 call EnvVar_Set fRM, 'BUILD_ENV', 'VAC365'1875 call EnvVar_Set fRM, 'BUILD_PLATFORM', 'OS2'1876 1877 call EnvVar_Set fRM, 'cxxmain', sPathCxx;1878 call EnvVar_AddFront fRM, 'path', sPathCxx'\bin;'1879 call EnvVar_AddFront fRM, 'dpath', sPathCxx'\local;'sPathCxx'\help;'1880 call EnvVar_AddFront fRM, 'beginlibpath',sPathCxx'\dll;'sPathCxx'\runtime;'1881 call EnvVar_AddFront fRM, 'nlspath', sPathCxx'\msg\%N;'1882 call EnvVar_AddFront fRM, 'include', sPathCxx'\include;'1883 call EnvVar_AddFront fRM, 'lib', sPathCxx'\lib;'1884 call EnvVar_AddFront fRM, 'ipfc', sPathCxx'\ipfc;'1885 call EnvVar_Set fRM, 'LANG', 'en_us'1886 call EnvVar_Set fRM, 'CPP_DBG_LANG', 'CPP'1887 1888 /* verify */1889 if (fCfg > 0) then1890 do1891 if ( \FileExists(sPathCxx'\bin\icc.exe', 'error: verify didn''t find'),1892 | \FileExists(sPathCxx'\bin\ilib.exe', 'error: verify didn''t find'),1893 | \FileExists(sPathCxx'\bin\ilink.exe', 'error: verify didn''t find'),1894 | \FileExists(sPathCxx'\bin\idebug.exe', 'error: verify didn''t find'),1895 | \FileExists(sPathCxx'\bin\cppfilt.exe', 'error: verify didn''t find'),1896 | \FileExists(sPathCxx'\bin\dllrname.exe', 'error: verify didn''t find'),1897 | \FileExists(sPathCxx'\bin\cppcbe36.exe', 'error: verify didn''t find'),1898 | \FileExists(sPathCxx'\lib\cpprms36.lib', 'error: verify didn''t find'),1899 | \FileExists(sPathCxx'\lib\cpprmi36.lib', 'error: verify didn''t find'),1900 | \FileExists(sPathCxx'\lib\cpprmo36.lib', 'error: verify didn''t find'),1901 | \FileExists(sPathCxx'\lib\cpprni36.lib', 'error: verify didn''t find'),1902 | \FileExists(sPathCxx'\lib\cpprds36.lib', 'error: verify didn''t find'),1903 | \FileExists(sPathCxx'\include\builtin.h', 'error: verify didn''t find'),1904 | \FileExists(sPathCxx'\include\conio.h', 'error: verify didn''t find'),1905 | \FileExists(sPathCxx'\include\ismavl.h', 'error: verify didn''t find'),1906 | FileExists(sPathCxx'\include\os2.h'),1907 | FileExists(sPathCxx'\include\os2win.h'),1908 | FileExists(sPathCxx'\include\pm.h'),1909 | \FileExists(sPathCxx'\include\sys\utime.h', 'error: verify didn''t find'),1910 | \FileExists(sPathCxx'\help\cpplbm36.msg', 'error: verify didn''t find'),1911 ) then1912 return 2;1913 rc = CheckCmdOutput('icc', 0, 'IBM* C and C++ Compilers for OS/2*, AIX* and for Windows NT**, Version 3.6');1914 if (rc = 0) then1915 rc = CheckCmdOutput('ilink', 16, 'IBM(R) Linker for OS/2(R), Version 03.06.PPK1990125');1916 if (rc = 0) then1917 rc = CheckCmdOutput('ilib /?', 0, 'IBM Librarian for OS/2(R) Version 03.99.PPK1990310');1918 if (stream(sPathCxx'\bin\cppcbe36.exe', 'c', 'query size') <> 603122) then1919 do1920 say 'Error!!! Get latest vac365 optimizer fixes from the OS2 Mozilla project.';1921 say ' http://www.mozilla.org/ports/os2/setup.html';1922 rc = 99;1923 end1924 return rc;1925 end1926 return 0;1927 1928 1929 /*1930 * Visual Age for C++ v4.0 for OS/21931 */1932 VAC40: procedure expose aCfg. aPath. sPathFile1933 parse arg sEnvId,fRM,fCfg1934 1935 /*1936 * IBM VisualAge for C++ v4.0 main directory.1937 */1938 sPathCPP = PathQuery('vac40', sEnvId, fCfg);1939 if (sPathCPP = '') then1940 return 1;1941 call EnvVar_Set fRM, 'PATH_VAC40', sPathCPP;1942 call EnvVar_Set fRM, 'CCENV', 'VAC40'1943 call EnvVar_Set fRM, 'BUILD_ENV', 'VAC40'1944 call EnvVar_Set fRM, 'BUILD_PLATFORM', 'OS2'1945 1946 call EnvVar_AddFront fRM, 'path', sPathCPP'\bin;'1947 call EnvVar_AddFront fRM, 'dpath', sPathCPP'\etc;'sPathCPP'\help;'1948 call EnvVar_AddFront fRM, 'beginlibpath',sPathCPP'\dll;'sPathCPP'\runtime;'1949 call EnvVar_AddFront fRM, 'help', sPathCPP'\help;'1950 call EnvVar_AddFront fRM, 'nlspath', sPathCPP'\msg\%N;'1951 call EnvVar_AddFront fRM, 'locpath', sPathCPP'\locale;'sPathCPP'\runtime\locale;'1952 call EnvVar_AddFront fRM, 'include', sPathCPP'\ivb;'sPathCPP'\include;'1953 call EnvVar_AddFront fRM, 'lib', sPathCPP'\lib;'1954 call EnvVar_AddFront fRM, 'ipfc', sPathCPP'\bin;'1955 call EnvVar_AddFront fRM, 'cpplpath4', sPathCPP'\macros;'1956 call EnvVar_Set fRM, 'system_ice', sPathCPP'\etc\system.ice'1957 call EnvVar_Set fRM, 'vbpath', sPathCPP'\ivb'1958 call EnvVar_Set fRM, 'vacppmain', sPathCPP;1959 call EnvVar_Set fRM, 'os2', '1'1960 1961 /* verify */1962 if (fCfg > 0) then1963 do1964 if ( \FileExists(sPathCPP'\bin\iccv4.exe', 'error: verify didn''t find'),1965 | \FileExists(sPathCPP'\bin\ilib.exe', 'error: verify didn''t find'),1966 | \FileExists(sPathCPP'\bin\ire.exe', 'error: verify didn''t find'),1967 | \FileExists(sPathCPP'\bin\vacide.exe', 'error: verify didn''t find'),1968 | \FileExists(sPathCPP'\bin\cppfilt.exe', 'error: verify didn''t find'),1969 | \FileExists(sPathCPP'\bin\dllrname.exe', 'error: verify didn''t find'),1970 | \FileExists(sPathCPP'\bin\patrace.exe', 'error: verify didn''t find'),1971 | \FileExists(sPathCPP'\lib\cpprms40.lib', 'error: verify didn''t find'),1972 | \FileExists(sPathCPP'\lib\cpprmi40.lib', 'error: verify didn''t find'),1973 | \FileExists(sPathCPP'\lib\cpprmo40.lib', 'error: verify didn''t find'),1974 | \FileExists(sPathCPP'\lib\cpprni40.lib', 'error: verify didn''t find'),1975 | \FileExists(sPathCPP'\lib\cpprds40.lib', 'error: verify didn''t find'),1976 | \FileExists(sPathCPP'\include\builtin.h', 'error: verify didn''t find'),1977 | \FileExists(sPathCPP'\include\conio.h', 'error: verify didn''t find'),1978 | \FileExists(sPathCPP'\include\ismavl.h', 'error: verify didn''t find'),1979 | FileExists(sPathCPP'\include\os2.h'),1980 | FileExists(sPathCPP'\include\os2win.h'),1981 | FileExists(sPathCPP'\include\pm.h'),1982 | \FileExists(sPathCPP'\include\sys\utime.h', 'error: verify didn''t find'),1983 | \FileExists(sPathCPP'\help\cpplbm40.msg', 'error: verify didn''t find'),1984 ) then1985 return 2;1986 rc = CheckCmdOutput('iccv4', 0, 'IBM VisualAge for C++ Version 4.0 C Compiler');1987 if (rc = 0) then1988 rc = CheckCmdOutput('ilib /?', 0, 'IBM Librarian for OS/2(R) Version 03.99.cc_981110'); /* is this really FP2?????? */1989 if (rc = 0) then1990 rc = CheckCmdOutput('vacbld -?', 0, 'IBM(R) VisualAge(R) C++ Professional, Version 4.0 (981117)'); /* is this really FP2?????? */1991 return rc;1992 end1993 return 0;1994 1995 1996 1997 1998 /*1999 * WarpIn2000 */2001 WarpIn: procedure expose aCfg. aPath. sPathFile2002 parse arg sEnvId,fRM,fCfg2003 2004 /*2005 * WarpIn main directory.2006 */2007 sPathWarpIn = PathQuery('warpin', sEnvId, fCfg);2008 if (sPathWarpIn = '') then2009 return 1;2010 call EnvVar_Set fRM, 'PATH_WARPIN', sPathWarpIn;2011 call EnvVar_AddFront fRM, 'path', sPathWarpIn';'2012 call EnvVar_AddFront fRM, 'beginlibpath',sPathWarpIn';'2013 call EnvVar_AddFront fRM, 'bookshelf', sPathWarpIn';'2014 2015 /* verify */2016 if (fCfg > 0) then2017 do2018 if ( \FileExists(sPathWarpIn'\wic.exe', 'error: verify didn''t find'),2019 | \FileExists(sPathWarpIn'\wpirtl.dll', 'error: verify didn''t find'),2020 | \FileExists(sPathWarpIn'\warpin.exe', 'error: verify didn''t find'),2021 ) then2022 return 2;2023 rc = CheckCmdOutput('wic', 1, '2002 - WarpIn archive creation and maintenance');2024 return rc;2025 end2026 return 0;2027 2028 2029 2030 /*2031 * WatCom C/C++ v11.02032 */2033 WatComC11: procedure expose aCfg. aPath. sPathFile2034 parse arg sEnvId,fRM,fCfg, iBits2035 2036 /*2037 * Watcom C/C++ v11.0 main directory2038 */2039 sPathWatcom = PathQuery('watcom11', sEnvId, fCfg);2040 if (sPathWatcom = '') then2041 return 1;2042 call EnvVar_Set fRM, 'PATH_WATCOM', sPathWatcom2043 call EnvVar_Set fRM, 'CCENV', 'WAT'2044 call EnvVar_Set fRM, 'BUILD_ENV', 'WAT11'2045 if (iBits == 16) then2046 call EnvVar_Set fRM, 'BUILD_ENV', 'WAT11-16'2047 call EnvVar_Set fRM, 'BUILD_PLATFORM', 'OS2'2048 2049 call EnvVar_Set fRM, 'watcom', sPathWatcom2050 call EnvVar_AddFront fRM, 'path', sPathWatcom'\binp;'sPathWatcom'\binw;'2051 call EnvVar_AddFront fRM, 'beginlibpath',sPathWatcom'\binp\dll;'2052 call EnvVar_AddFront fRM, 'help', sPathWatcom'\binp\help;'2053 call EnvVar_AddEnd fRM, 'bookshelf', sPathWatcom'\binp\help;'2054 call EnvVar_AddFront fRM, 'include', sPathWatcom'\h;'sPathWatcom'\h\os2;'sPathWatcom'\h\nt;'2055 call EnvVar_AddFront fRM, 'lib', sPathWatcom'\lib386;'sPathWatcom'\lib386\os2;'sPathWatcom'\lib286;'sPathWatcom'\lib286\os2;'2056 call EnvVar_Set fRM, 'edpath', sPathWatcom'EDDAT;'2057 /*2058 rem detach %watcom%\BINP\BATSERV.EXE2059 rem detach %watcom%\BINP\NMPBIND.EXE2060 */2061 2062 /* verify */2063 if (fCfg > 0) then2064 do2065 if ( \FileExists(sPathWatcom'\binp\wpp.exe', 'error: verify didn''t find'),2066 | \FileExists(sPathWatcom'\binp\wcc.exe', 'error: verify didn''t find'),2067 | \FileExists(sPathWatcom'\binp\wcc386.exe', 'error: verify didn''t find'),2068 | \FileExists(sPathWatcom'\binp\wpp386.exe', 'error: verify didn''t find'),2069 | \FileExists(sPathWatcom'\binp\wlink.exe', 'error: verify didn''t find'),2070 | \FileExists(sPathWatcom'\lib286\os2\os2.lib', 'error: verify didn''t find'),2071 | \FileExists(sPathWatcom'\lib386\os2\clbrdll.lib', 'error: verify didn''t find'),2072 | \FileExists(sPathWatcom'\lib386\os2\clib3r.lib', 'error: verify didn''t find'),2073 | \FileExists(sPathWatcom'\lib386\nt\kernel32.lib', 'error: verify didn''t find'),2074 | \FileExists(sPathWatcom'\lib386\nt\clbrdll.lib', 'error: verify didn''t find'),2075 | \FileExists(sPathWatcom'\lib386\nt\clib3r.lib', 'error: verify didn''t find'),2076 ) then2077 return 2;2078 rc = CheckCmdOutput('wcc', 8, 'Watcom C16 Optimizing Compiler Version 11.0 '||'0d0a'x);2079 if (rc = 0) then2080 rc = CheckCmdOutput('wpp', 8, 'Watcom C++16 Optimizing Compiler Version 11.0 '||'0d0a'x);2081 if (rc = 0) then2082 rc = CheckCmdOutput('wcc386', 8, 'Watcom C32 Optimizing Compiler Version 11.0 '||'0d0a'x);2083 if (rc = 0) then2084 rc = CheckCmdOutput('wpp386', 8, 'Watcom C++32 Optimizing Compiler Version 11.0 '||'0d0a'x);2085 if (rc = 0) then2086 rc = CheckCmdOutput('wlink form ELF', 1, 'WATCOM Linker Version 11.0'||'0d0a'x);2087 return rc;2088 end2089 return 0;2090 2091 /*2092 * WatCom C/C++ v11.0c2093 */2094 WatComC11c: procedure expose aCfg. aPath. sPathFile2095 parse arg sEnvId,fRM,fCfg, iBits2096 2097 /*2098 * Watcom C/C++ v11.0c main directory2099 */2100 sPathWatcom = PathQuery('watcom11c', sEnvId, fCfg);2101 if (sPathWatcom = '') then2102 return 1;2103 2104 call EnvVar_Set fRM, 'PATH_WATCOM', sPathWatcom2105 call EnvVar_Set fRM, 'CCENV', 'WAT'2106 call EnvVar_Set fRM, 'BUILD_ENV', 'WAT11C'2107 if (iBits = 16) then2108 call EnvVar_Set fRM, 'BUILD_ENV', 'WAT11C-16'2109 call EnvVar_Set fRM, 'BUILD_PLATFORM', 'OS2'2110 2111 call EnvVar_Set fRM, 'watcom', sPathWatcom2112 call EnvVar_AddFront fRM, 'path', sPathWatcom'\binp;'sPathWatcom'\binw;'2113 call EnvVar_AddFront fRM, 'beginlibpath',sPathWatcom'\binp\dll;'2114 call EnvVar_AddFront fRM, 'help', sPathWatcom'\binp\help;'2115 call EnvVar_AddEnd fRM, 'bookshelf', sPathWatcom'\binp\help;'2116 if (iBits = 16) then2117 call EnvVar_AddFront fRM, 'include', sPathWatcom'\h;'sPathWatcom'\h\os21x;'2118 else2119 call EnvVar_AddFront fRM, 'include', sPathWatcom'\h;'sPathWatcom'\h\os2;'sPathWatcom'\h\nt;'2120 call EnvVar_AddFront fRM, 'lib', sPathWatcom'\lib386;'sPathWatcom'\lib386\os2;'sPathWatcom'\lib286;'sPathWatcom'\lib286\os2;'2121 call EnvVar_Set fRM, 'edpath', sPathWatcom'EDDAT;'2122 /*2123 rem detach %watcom%\BINP\BATSERV.EXE2124 rem detach %watcom%\BINP\NMPBIND.EXE2125 */2126 2127 /* verify */2128 if (fCfg > 0) then2129 do2130 if ( \FileExists(sPathWatcom'\binp\wpp.exe', 'error: verify didn''t find'),2131 | \FileExists(sPathWatcom'\binp\wcc.exe', 'error: verify didn''t find'),2132 | \FileExists(sPathWatcom'\binp\wcc386.exe', 'error: verify didn''t find'),2133 | \FileExists(sPathWatcom'\binp\wpp386.exe', 'error: verify didn''t find'),2134 | \FileExists(sPathWatcom'\binp\wlink.exe', 'error: verify didn''t find'),2135 | \FileExists(sPathWatcom'\lib286\os2\os2.lib', 'error: verify didn''t find'),2136 | \FileExists(sPathWatcom'\lib386\os2\clbrdll.lib', 'error: verify didn''t find'),2137 | \FileExists(sPathWatcom'\lib386\os2\clib3r.lib', 'error: verify didn''t find'),2138 | \FileExists(sPathWatcom'\lib386\nt\kernel32.lib', 'error: verify didn''t find'),2139 | \FileExists(sPathWatcom'\lib386\nt\clbrdll.lib', 'error: verify didn''t find'),2140 | \FileExists(sPathWatcom'\lib386\nt\clib3r.lib', 'error: verify didn''t find'),2141 ) then2142 return 2;2143 rc = CheckCmdOutput('wcc', 8, 'Watcom C16 Optimizing Compiler Version 11.0c');2144 if (rc = 0) then2145 rc = CheckCmdOutput('wpp', 8, 'Watcom C++16 Optimizing Compiler Version 11.0c');2146 if (rc = 0) then2147 rc = CheckCmdOutput('wcc386', 8, 'Watcom C32 Optimizing Compiler Version 11.0c');2148 if (rc = 0) then2149 rc = CheckCmdOutput('wpp386', 8, 'Watcom C++32 Optimizing Compiler Version 11.0c');2150 if (rc = 0) then2151 rc = CheckCmdOutput('wlink form ELF', 1, 'WATCOM Linker Version 11.0c');2152 return rc;2153 end2154 return 0;2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 /**2169 * Helper Procedure section2170 **/2171 986 2172 987 … … 2178 993 * is at the end and don't end with a ';'. 2179 994 */ 2180 Env Var_addFront: procedure995 EnvAddFront: procedure 2181 996 parse arg fRM, sEnvVar, sToAdd, sSeparator 2182 997 … … 2197 1012 do while i > 1 & rc = 0 2198 1013 j = lastpos(sSeparator, sToAdd, i-1); 2199 rc = Env Var_AddFront2(fRM, sEnvVar, substr(sToAdd, j+1, i - j), sSeparator);1014 rc = EnvAddFront2(fRM, sEnvVar, substr(sToAdd, j+1, i - j), sSeparator); 2200 1015 i = j; 2201 1016 end … … 2209 1024 * is at the end and don't end with a ';'. 2210 1025 */ 2211 Env Var_AddFront2: procedure1026 EnvAddFront2: procedure 2212 1027 parse arg fRM, sEnvVar, sToAdd, sSeparator 2213 1028 … … 2224 1039 2225 1040 /* Get original variable value */ 2226 sOrgEnvVar = Env Var_Get(sEnvVar);1041 sOrgEnvVar = EnvGet(sEnvVar); 2227 1042 2228 1043 /* Remove previously sToAdd if exists. (Changing sOrgEnvVar). */ … … 2233 1048 /* set environment */ 2234 1049 if (fRM) then 2235 return Env Var_Set(0, sEnvVar, sOrgEnvVar);2236 return Env Var_Set(0, sEnvVar, sToAdd||sOrgEnvVar);1050 return EnvSet(0, sEnvVar, sOrgEnvVar); 1051 return EnvSet(0, sEnvVar, sToAdd||sOrgEnvVar); 2237 1052 2238 1053 … … 2244 1059 * is at the end and don't end with a ';'. 2245 1060 */ 2246 Env Var_addEnd: procedure1061 EnvAddEnd: procedure 2247 1062 parse arg fRM, sEnvVar, sToAdd, sSeparator 2248 1063 … … 2263 1078 do while i > 1 & rc = 0 2264 1079 j = lastpos(sSeparator, sToAdd, i-1); 2265 rc = Env Var_AddEnd2(fRM, sEnvVar, substr(sToAdd, j+1, i - j), sSeparator);1080 rc = EnvAddEnd2(fRM, sEnvVar, substr(sToAdd, j+1, i - j), sSeparator); 2266 1081 i = j; 2267 1082 end … … 2275 1090 * is at the end and don't end with a ';'. 2276 1091 */ 2277 Env Var_AddEnd2: procedure1092 EnvAddEnd2: procedure 2278 1093 parse arg fRM, sEnvVar, sToAdd, sSeparator 2279 1094 … … 2290 1105 2291 1106 /* Get original variable value */ 2292 sOrgEnvVar = Env Var_Get(sEnvVar);1107 sOrgEnvVar = EnvGet(sEnvVar); 2293 1108 2294 1109 /* Remove previously sToAdd if exists. (Changing sOrgEnvVar). */ … … 2302 1117 2303 1118 /* set environment */ 2304 if (fRM) then return Env Var_Set(0, sEnvVar, sOrgEnvVar);2305 return Env Var_Set(0, sEnvVar, sOrgEnvVar||sToAdd);1119 if (fRM) then return EnvSet(0, sEnvVar, sOrgEnvVar); 1120 return EnvSet(0, sEnvVar, sOrgEnvVar||sToAdd); 2306 1121 2307 1122 … … 2309 1124 * Sets sEnvVar to sValue. 2310 1125 */ 2311 Env Var_Set: procedure1126 EnvSet: procedure 2312 1127 parse arg fRM, sEnvVar, sValue 2313 1128 … … 2321 1136 * We'll have to set internal these using both commandline 'SET' 2322 1137 * and internal VALUE in order to export it and to be able to 2323 * get it (with Env Var_Get) again.1138 * get it (with EnvGet) again. 2324 1139 */ 2325 1140 if ((sEnvVar = 'BEGINLIBPATH') | (sEnvVar = 'ENDLIBPATH')) then … … 2341 1156 * Gets the value of sEnvVar. 2342 1157 */ 2343 Env Var_Get: procedure1158 EnvGet: procedure 2344 1159 parse arg sEnvVar 2345 1160 if ((translate(sEnvVar) = 'BEGINLIBPATH') | (translate(sEnvVar) = 'ENDLIBPATH')) then … … 2367 1182 return 0; 2368 1183 1184 1185 1186 1187 1188 1189 1190 /** 1191 * Tool procedures section 1192 * @returns 0 on success. 1193 * 1 if PathQuery() failed. 1194 * 2 if some vital file/dir wasn't found in the config verify. 1195 * 49 if verify command rc mismatched. 1196 * 99 if verify command output mismatched. 1197 **/ 1198 1199 1200 /* 1201 * Concurrent Versions System (CVS) 1202 */ 1203 CVS: procedure expose aCfg. aPath. sPathFile 1204 parse arg sToolId,sOperation,fRM,fQuiet 1205 1206 1207 /* 1208 * The directories. 1209 */ 1210 sPathCVS = PathQuery('cvs', sToolId, sOperation); 1211 if (sPathCVS = '') then 1212 return 1; 1213 sPathHome = PathQuery('home', sToolId, sOperation); 1214 if (sPathHome = '') then 1215 return 1; 1216 /* If config operation we're done now. */ 1217 if (pos('config', sOperation) > 0) then 1218 return 0; 1219 1220 /* 1221 * Installing the environment variables. 1222 */ 1223 call EnvSet fRM, 'PATH_CVS', sPathCVS; 1224 call EnvAddFront fRM, 'path', sPathCVS'\bin;' 1225 call EnvAddFront fRM, 'bookshelf', sPathCVS'\book;' 1226 call EnvAddFront fRM, 'bookshelf', sPathCVS'\book;' 1227 call EnvSet fRM, 'home', translate(sPathHome, '/','\'); 1228 1229 /* 1230 * Verify. 1231 */ 1232 if (pos('verify', sOperation) <= 0) then 1233 return 0; 1234 1235 if (\CfgVerifyFile(sPathCVS'\bin\cvs.exe',fQuiet)) then 1236 return 2; 1237 if (length(sPathHome) <= 2) then 1238 do 1239 if (\fQuiet) then 1240 say 'Error: The home directory is to short!'; 1241 return 2; 1242 end 1243 if (\CfgVerifyDir(sPathHome, fQuiet)) then 1244 return 2; 1245 return CheckCmdOutput('cvs --version', 0, fQuiet, 'Concurrent Versions System (CVS) 1.1'); 1246 1247 1248 /* 1249 * EMX 1250 */ 1251 EMX: procedure expose aCfg. aPath. sPathFile 1252 parse arg sToolId,sOperation,fRM,fQuiet 1253 1254 /* 1255 * EMX/GCC main directory. 1256 */ 1257 sEMX = PathQuery('emx', sToolId, sOperation); 1258 if (sEMX = '') then 1259 return 1; 1260 /* If config operation we're done now. */ 1261 if (pos('config', sOperation) > 0) then 1262 return 0; 1263 1264 sEMXBack = translate(sEMX, '\', '/'); 1265 sEMXForw = translate(sEMX, '/', '\'); 1266 call EnvSet fRM, 'PATH_EMX', sEMXBack; 1267 call EnvSet fRM, 'CCENV', 'EMX' 1268 call EnvSet fRM, 'BUILD_ENV', 'EMX' 1269 call EnvSet fRM, 'BUILD_PLATFORM', 'OS2' 1270 1271 call EnvAddFront fRM, 'BEGINLIBPATH', sEMXBack'\dll;' 1272 call EnvAddFront fRM, 'PATH', sEMXBack'\bin;' 1273 call EnvAddFront fRM, 'DPATH', sEMXBack'\book;' 1274 call EnvAddFront fRM, 'BOOKSHELF', sEMXBack'\book;' 1275 call EnvAddFront fRM, 'HELP', sEMXBack'\help;' 1276 call EnvAddFront fRM, 'C_INCLUDE_PATH', sEMXForw'/include' 1277 call EnvAddFront fRM, 'LIBRARY_PATH', sEMXForw'/lib' 1278 call EnvAddFront fRM, 'CPLUS_INCLUDE_PATH', sEMXForw'/include/cpp;'sEMXForw'/include' 1279 call EnvSet fRM, 'PROTODIR', sEMXForw'/include/cpp/gen' 1280 call EnvSet fRM, 'OBJC_INCLUDE_PATH', sEMXForw'/include' 1281 call EnvSet fRM, 'GCCLOAD', '5' 1282 call EnvSet fRM, 'GCCOPT', '-pipe' 1283 call EnvAddFront fRM, 'INFOPATH', sEMXForw'/info' 1284 call EnvSet fRM, 'EMXBOOK', 'emxdev.inf+emxlib.inf+emxgnu.inf+emxbsd.inf' 1285 call EnvAddFront fRM, 'HELPNDX', 'emxbook.ndx', '+', 1 1286 call EnvSet fRM, 'EMXOPT', '-c -n -h1024' 1287 if EnvGet('TERM') = '' then do 1288 call EnvSet fRM, 'TERM', 'ansi' 1289 call EnvSet fRM, 'TERMCAP', sEMXForw'/etc/termcap.dat' 1290 end 1291 1292 /* 1293 * Verify. 1294 */ 1295 if (pos('verify', sOperation) <= 0) then 1296 return 0; 1297 if ( \CfgVerifyFile(sEmxBack'\bin\gcc.exe', fQuiet), 1298 | \CfgVerifyFile(sEmxBack'\bin\emxomf.exe', fQuiet), 1299 | \CfgVerifyFile(sEmxBack'\bin\emxrev.cmd', fQuiet), 1300 | \CfgVerifyFile(sEmxBack'\lib\mt\c.a', fQuiet), 1301 | \CfgVerifyFile(sEmxBack'\lib\mt\c.lib', fQuiet), 1302 | \CfgVerifyFile(sEmxBack'\lib\mt\sys.lib', fQuiet), 1303 | \CfgVerifyFile(sEmxBack'\lib\mt\emx.a', fQuiet), 1304 | \CfgVerifyFile(sEmxBack'\lib\mt\emx.lib', fQuiet), 1305 | \CfgVerifyFile(sEmxBack'\lib\mt\c_import.a', fQuiet), 1306 | \CfgVerifyFile(sEmxBack'\lib\mt\c_import.lib', fQuiet), 1307 | \CfgVerifyFile(sEmxBack'\lib\c_alias.a', fQuiet), 1308 | \CfgVerifyFile(sEmxBack'\lib\c_alias.lib', fQuiet), 1309 | \CfgVerifyFile(sEmxBack'\lib\emx2.a', fQuiet), 1310 | \CfgVerifyFile(sEmxBack'\lib\emx2.lib', fQuiet), 1311 ) then 1312 return 2; 1313 rc = CheckCmdOutput('gcc --version', 0, fQuiet, '2.8.1'); 1314 if (rc = 0) then 1315 rc = CheckCmdOutput('emxrev.cmd', 0, fQuiet,, 1316 'EMX : revision = 61'||'0d0a'x ||, 1317 'EMXIO : revision = 60'||'0d0a'x||, 1318 'EMXLIBC : revision = 63'||'0d0a'x||, 1319 'EMXLIBCM : revision = 64'||'0d0a'x||, 1320 'EMXLIBCS : revision = 64'||'0d0a'x||, 1321 'EMXWRAP : revision = 60'||'0d0a'x); 1322 return rc; 1323 return 0; 1324 1325 1326 /* 1327 * EMX PGCC - must be installed on to the ordinar EMX. 1328 */ 1329 EMXPGCC: procedure expose aCfg. aPath. sPathFile 1330 parse arg sToolId,sOperation,fRM,fQuiet 1331 1332 /* 1333 * EMX/GCC main directory. 1334 */ 1335 sEMXPGCC = PathQuery('emxpgcc', sToolId, sOperation); 1336 if (sEMXPGCC = '') then 1337 return 1; 1338 /* If config operation we're done now. */ 1339 if (pos('config', sOperation) > 0) then 1340 return 0; 1341 1342 sEMXBack = translate(sEMXPGCC, '\', '/'); 1343 sEMXForw = translate(sEMXPGCC, '/', '\'); 1344 call EnvSet fRM, 'PATH_EMXPGCC', sEMXBack; 1345 call EnvSet fRM, 'CCENV', 'EMX' 1346 call EnvSet fRM, 'BUILD_ENV', 'EMX' 1347 call EnvSet fRM, 'BUILD_PLATFORM', 'OS2' 1348 1349 call EnvAddFront fRM, 'BEGINLIBPATH', sEMXBack'\dll;' 1350 call EnvAddFront fRM, 'PATH', sEMXBack'\bin;' 1351 call EnvAddFront fRM, 'DPATH', sEMXBack'\book;' 1352 call EnvAddFront fRM, 'BOOKSHELF', sEMXBack'\book;' 1353 call EnvAddFront fRM, 'HELP', sEMXBack'\help;' 1354 call EnvAddFront fRM, 'C_INCLUDE_PATH', sEMXForw'/include' 1355 call EnvAddFront fRM, 'LIBRARY_PATH', sEMXForw'/lib' 1356 call EnvAddFront fRM, 'CPLUS_INCLUDE_PATH', sEMXForw'/include/cpp;'sEMXForw'/include' 1357 call EnvSet fRM, 'PROTODIR', sEMXForw'/include/cpp/gen' 1358 call EnvSet fRM, 'OBJC_INCLUDE_PATH', sEMXForw'/include' 1359 call EnvAddFront fRM, 'INFOPATH', sEMXForw'/info' 1360 call EnvSet fRM, 'EMXBOOK', 'emxdev.inf+emxlib.inf+emxgnu.inf+emxbsd.inf' 1361 call EnvAddFront fRM, 'HELPNDX', 'emxbook.ndx', '+', 1 1362 1363 /* 1364 * Verify. 1365 */ 1366 if (pos('verify', sOperation) <= 0) then 1367 return 0; 1368 if ( \CfgVerifyFile(sEmxBack'\bin\gcc.exe', fQuiet), 1369 | \CfgVerifyFile(sEmxBack'\bin\g++.exe', fQuiet), 1370 | \CfgVerifyFile(sEmxBack'\bin\as.exe', fQuiet), 1371 | \CfgVerifyFile(sEmxBack'\bin\emxomf.exe', fQuiet), 1372 | \CfgVerifyFile(sEmxBack'\lib\gcc29160.a', fQuiet), 1373 | \CfgVerifyFile(sEmxBack'\lib\gcc29160.lib', fQuiet), 1374 | \CfgVerifyFile(sEmxBack'\lib\iberty.a', fQuiet), 1375 | \CfgVerifyFile(sEmxBack'\lib\iberty.lib', fQuiet), 1376 | \CfgVerifyFile(sEmxBack'\lib\iberty_s.a', fQuiet), 1377 | \CfgVerifyFile(sEmxBack'\lib\iberty_s.lib', fQuiet), 1378 | \CfgVerifyFile(sEmxBack'\lib\opcodes.a', fQuiet), 1379 | \CfgVerifyFile(sEmxBack'\lib\opcodes.lib', fQuiet), 1380 | \CfgVerifyFile(sEmxBack'\lib\opcodes_s.a', fQuiet), 1381 | \CfgVerifyFile(sEmxBack'\lib\opcodes_s.lib', fQuiet), 1382 ) then 1383 return 2; 1384 rc = CheckCmdOutput('gcc --version', 0, fQuiet, 'pgcc-2.95.2'); 1385 if (rc = 0) then 1386 rc = CheckCmdOutput('g++ --version', 0, fQuiet, 'pgcc-2.95.2'); 1387 if (rc = 0) then 1388 rc = CheckCmdOutput('as --version', 0, fQuiet, 'GNU assembler 2.9.1'); 1389 return rc; 1390 1391 /* 1392 * IBM DB2 v5.2 1393 */ 1394 db2v52: procedure expose aCfg. aPath. sPathFile 1395 parse arg sToolId,sOperation,fRM,fQuiet 1396 sPathDB2 = PathQuery('db2v52', sToolId, sOperation); 1397 if (sPathDB2 = '') then 1398 return 1; 1399 /* If config operation we're done now. */ 1400 if (pos('config', sOperation) > 0) then 1401 return 0; 1402 call EnvSet fRm, 'PATH_DB2', sPathDB2; 1403 call EnvSet fRm, 'db2path', sPathDB2; 1404 call EnvAddFront fRm, 'beginlibpath',sPathDB2'\dll;'sPathDB2'\alt;' 1405 call EnvAddFront fRm, 'path', sPathDB2'\bin;'sPathDB2'\alt;' 1406 call EnvAddFront fRm, 'dpath', sPathDB2'\bin;'sPathDB2';' 1407 call EnvAddFront fRm, 'help', sPathDB2'\help;' 1408 call EnvAddEnd fRm, 'classpath', '.;'sPathDB2'\JAVA\DB2JAVA.ZIP;'sPathDB2'\JAVA\RUNTIME.ZIP;'sPathDB2'\JAVA\SQLJ.ZIP;' 1409 call EnvSet fRM, 'db2instace', 'DB2' 1410 /*call EnvSet fRM, 'odbc_path', 'f:\odbc' -- huh? what's this? */ 1411 call EnvAddFront fRM, 'cobcpy', sPathDB2'\include\cobol_mf' 1412 call EnvSet fRM, 'finclude', sPathDB2'\include' 1413 call EnvAddFront fRM, 'include', sPathDB2'\include;' 1414 call EnvAddFront fRM, 'lib', sPathDB2'\lib;' 1415 1416 /* 1417 * Verify. 1418 */ 1419 if (pos('verify', sOperation) <= 0) then 1420 return 0; 1421 1422 if ( \CfgVerifyFile(sPathDB2'\bin\db2.exe', fQuiet), 1423 | \CfgVerifyFile(sPathDB2'\bin\sqlbind.exe', fQuiet), 1424 | \CfgVerifyFile(sPathDB2'\bin\sqlprep.exe', fQuiet), 1425 | \CfgVerifyFile(sPathDB2'\lib\db2api.lib', fQuiet), 1426 | \CfgVerifyFile(sPathDB2'\lib\db2cli.lib', fQuiet), 1427 | \CfgVerifyFile(sPathDB2'\lib\db2gmf32.lib', fQuiet), 1428 | \CfgVerifyFile(sPathDB2'\include\sql.h', fQuiet), 1429 | \CfgVerifyFile(sPathDB2'\include\sqlcodes.h', fQuiet), 1430 | \CfgVerifyFile(sPathDB2'\include\sqlsystm.h', fQuiet), 1431 | \CfgVerifyFile(sPathDB2'\include\sqlcli.h', fQuiet), 1432 ) then 1433 return 2; 1434 rc = CheckCmdOutput('echo quit | db2', 0, fQuiet, 'Command Line Processor for DB2 SDK 5.2.0'); 1435 return rc; 1436 1437 1438 /* 1439 * Device Driver Kit (DDK) base. 1440 */ 1441 DDKBase: procedure expose aCfg. aPath. sPathFile 1442 parse arg sToolId,sOperation,fRM,fQuiet 1443 1444 /* 1445 * Device Driver Kit (DDK) (v4.0+) base (important not main) directory. 1446 */ 1447 sPathDDKBase = PathQuery('ddkbase', sToolId, sOperation); 1448 if (sPathDDKBase = '') then 1449 return 1; 1450 /* If config operation we're done now. */ 1451 if (pos('config', sOperation) > 0) then 1452 return 0; 1453 call EnvSet fRM, 'PATH_DDKBASE',sPathDDKBase; 1454 call EnvAddFront fRM, 'path', sPathDDKBase'\tools;' 1455 call EnvAddFront fRM, 'include', sPathDDKBase'\h;'sPathDDKBase'\inc;'sPathDDKBase'\inc32;' 1456 call EnvAddFront fRM, 'include16', sPathDDKBase'\h;' 1457 call EnvAddFront fRM, 'lib', sPathDDKBase'\lib;' 1458 call EnvAddFront fRM, 'bookshelf', sPathDDKBase'\..\docs;' 1459 1460 /* 1461 * Verify. 1462 */ 1463 if (pos('verify', sOperation) <= 0) then 1464 return 0; 1465 if ( \CfgVerifyFile(sPathDDKBase'\tools\link.exe', fQuiet), 1466 | \CfgVerifyFile(sPathDDKBase'\tools\link386.exe', fQuiet), 1467 | \CfgVerifyFile(sPathDDKBase'\tools\cl386.exe', fQuiet), 1468 | \CfgVerifyFile(sPathDDKBase'\tools\masm.exe', fQuiet), 1469 | \CfgVerifyFile(sPathDDKBase'\tools\h2inc.exe', fQuiet), 1470 | \CfgVerifyFile(sPathDDKBase'\tools\lib.exe', fQuiet), 1471 | \CfgVerifyFile(sPathDDKBase'\lib\os2286.lib', fQuiet), 1472 | \CfgVerifyFile(sPathDDKBase'\lib\os2286p.lib', fQuiet), 1473 | \CfgVerifyFile(sPathDDKBase'\lib\os2386.lib', fQuiet), 1474 | \CfgVerifyFile(sPathDDKBase'\lib\os2386p.lib', fQuiet), 1475 | \CfgVerifyFile(sPathDDKBase'\lib\doscalls.lib', fQuiet), 1476 | \CfgVerifyFile(sPathDDKBase'\lib\dhcalls.lib', fQuiet), 1477 | \CfgVerifyFile(sPathDDKBase'\lib\addcalls.lib', fQuiet), 1478 | \CfgVerifyFile(sPathDDKBase'\lib\rmcalls.lib', fQuiet), 1479 | \CfgVerifyFile(sPathDDKBase'\lib\vdh.lib', fQuiet), 1480 | \CfgVerifyFile(sPathDDKBase'\h\infoseg.h', fQuiet), 1481 | \CfgVerifyFile(sPathDDKBase'\h\include.h', fQuiet), 1482 | \CfgVerifyFile(sPathDDKBase'\h386\pmddi.h', fQuiet), 1483 | \CfgVerifyFile(sPathDDKBase'\h386\pmddim.h', fQuiet), 1484 | \CfgVerifyFile(sPathDDKBase'\h386\limits.h', fQuiet), 1485 | \CfgVerifyFile(sPathDDKBase'\h386\string.h', fQuiet), 1486 | \CfgVerifyFile(sPathDDKBase'\inc\v8086.inc', fQuiet), 1487 | \CfgVerifyFile(sPathDDKBase'\inc\sas.inc', fQuiet), 1488 | \CfgVerifyFile(sPathDDKBase'\inc\pmwinx.inc', fQuiet), 1489 | \CfgVerifyFile(sPathDDKBase'\inc\infoseg.inc', fQuiet), 1490 | \CfgVerifyFile(sPathDDKBase'\inc\devhlp.inc', fQuiet), 1491 | \CfgVerifyFile(sPathDDKBase'\inc\devhlpp.inc', fQuiet), 1492 ) then 1493 return 2; 1494 rc = CheckCmdOutput('cl386', 0, fQuiet, 'Microsoft (R) Microsoft 386 C Compiler. Version 6.00.054'); 1495 if (rc = 0) then 1496 rc = CheckCmdOutput('masm nul,nul,nul,nul;', 2, fQuiet, 'Microsoft (R) Macro Assembler Version 5.10A.15 Jul 07 15:25:03 1989'); 1497 if (rc = 0) then 1498 rc = CheckCmdOutput('h2inc -?', 0, fQuiet, 'h2inc - .H to .INC file translator (version 13.29)'); 1499 if (rc = 0) then 1500 rc = CheckCmdOutput('type' sPathDDKBase'\inc\devhlp.inc', 0, fQuiet, 'DevHlp_ReadFileAt'); 1501 return rc; 1502 1503 1504 /* 1505 * ICAT Debugger 1506 */ 1507 ICATGam: procedure expose aCfg. aPath. sPathFile 1508 parse arg sToolId,sOperation,fRM,fQuiet 1509 sPathICAT = PathQuery('icatgam', sToolId, sOperation); 1510 if (sPathICAT = '') then 1511 return 1; 1512 /* If config operation we're done now. */ 1513 if (pos('config', sOperation) > 0) then 1514 return 0; 1515 1516 /* 1517 * Installing the environment variables. 1518 */ 1519 call EnvSet fRm, 'PATH_ICATGAM', sPathICAT; 1520 call EnvAddFront fRm, 'beginlibpath',sPathICAT'\dll;' 1521 call EnvAddFront fRm, 'path', sPathICAT'\bin;' 1522 call EnvAddFront fRm, 'dpath', sPathICAT'\help;' 1523 call EnvAddFront fRm, 'help', sPathICAT'\help;' 1524 1525 /* 1526 * Verify. 1527 */ 1528 if (pos('verify', sOperation) <= 0) then 1529 return 0; 1530 if ( \CfgVerifyFile(sPathICAT'\bin\icatgam.exe', fQuiet), 1531 | \CfgVerifyFile(sPathICAT'\dll\gamoou3.dll', fQuiet), 1532 | \CfgVerifyFile(sPathICAT'\dll\gam5lde.dll', fQuiet), 1533 | \CfgVerifyFile(sPathICAT'\dll\gam5cx.dll', fQuiet), 1534 ) then 1535 return 2; 1536 return 0; 1537 1538 1539 /* 1540 * ICAT Debugger 1541 */ 1542 ICATGam406RC1: procedure expose aCfg. aPath. sPathFile 1543 parse arg sToolId,sOperation,fRM,fQuiet 1544 sPathICAT = PathQuery('icatgam406rc1', sToolId, sOperation); 1545 if (sPathICAT = '') then 1546 return 1; 1547 /* If config operation we're done now. */ 1548 if (pos('config', sOperation) > 0) then 1549 return 0; 1550 1551 /* 1552 * Installing the environment variables. 1553 */ 1554 call EnvSet fRm, 'PATH_ICATGAM', sPathICAT; 1555 call EnvAddFront fRm, 'beginlibpath',sPathICAT'\dll;' 1556 call EnvAddFront fRm, 'path', sPathICAT'\bin;' 1557 call EnvAddFront fRm, 'dpath', sPathICAT'\help;' 1558 call EnvAddFront fRm, 'help', sPathICAT'\help;' 1559 1560 /* 1561 * Verify. 1562 */ 1563 if (pos('verify', sOperation) <= 0) then 1564 return 0; 1565 if ( \CfgVerifyFile(sPathICAT'\bin\icatgam.exe', fQuiet), 1566 | \CfgVerifyFile(sPathICAT'\dll\gamoou3.dll', fQuiet), 1567 | \CfgVerifyFile(sPathICAT'\dll\gam5lde.dll', fQuiet), 1568 | \CfgVerifyFile(sPathICAT'\dll\gam5cx.dll', fQuiet), 1569 ) then 1570 return 2; 1571 return 0; 1572 1573 1574 1575 /* 1576 * ICAT Debugger for PE images. 1577 */ 1578 ICATPe: procedure expose aCfg. aPath. sPathFile 1579 parse arg sToolId,sOperation,fRM,fQuiet 1580 sPathICAT = PathQuery('icatgam', sToolId, sOperation); 1581 if (sPathICAT = '') then 1582 return 1; 1583 sPathICATPe = PathQuery('icatpe', sToolId, sOperation); 1584 if (sPathICATPe = '') then 1585 return 1; 1586 /* If config operation we're done now. */ 1587 if (pos('config', sOperation) > 0) then 1588 return 0; 1589 1590 /* 1591 * Installing the environment variables. 1592 */ 1593 call EnvSet fRm, 'PATH_ICATGAM',sPathICAT; 1594 call EnvSet fRm, 'PATH_ICATPE', sPathICATPe; 1595 call EnvAddFront fRm, 'beginlibpath',sPathICATPe'\bin;'sPathICAT'\dll;' 1596 call EnvAddFront fRm, 'path', sPathICATPe'\bin;'sPathICAT'\bin;' 1597 call EnvAddFront fRm, 'dpath', sPathICATPe'\bin;'sPathICAT'\help;' 1598 call EnvAddFront fRm, 'help', sPathICATPe'\bin;'sPathICAT'\help;' 1599 1600 /* 1601 * Verify. 1602 */ 1603 if (pos('verify', sOperation) <= 0) then 1604 return 0; 1605 if ( \CfgVerifyFile(sPathICAT'\bin\icatgam.exe', fQuiet), 1606 | \CfgVerifyFile(sPathICAT'\dll\gamoou3.dll', fQuiet), 1607 | \CfgVerifyFile(sPathICAT'\dll\gam5lde.dll', fQuiet), 1608 | \CfgVerifyFile(sPathICAT'\dll\gam5cx.dll', fQuiet), 1609 | \CfgVerifyFile(sPathICATPe'\bin\icatgam.exe', fQuiet), 1610 | \CfgVerifyFile(sPathICATPe'\bin\gamoou3.dll', fQuiet), 1611 | \CfgVerifyFile(sPathICATPe'\bin\gam5lde.dll', fQuiet), 1612 | \CfgVerifyFile(sPathICATPe'\bin\gam5cx.dll', fQuiet), 1613 ) then 1614 return 2; 1615 return 0; 1616 1617 1618 1619 /* 1620 * Interactive Disassembler (IDA) v3.80a 1621 */ 1622 IDA38: procedure expose aCfg. aPath. sPathFile 1623 parse arg sToolId,sOperation,fRM,fQuiet 1624 /* 1625 * IDA main directory. 1626 */ 1627 sPathIDA = PathQuery('ida38', sToolId, sOperation); 1628 if (sPathIDA = '') then 1629 return 1; 1630 /* If config operation we're done now. */ 1631 if (pos('config', sOperation) > 0) then 1632 return 0; 1633 1634 /* 1635 * Installing the environment variables. 1636 */ 1637 call EnvSet fRM, 'PATH_IDA', sPathIDA 1638 call EnvAddFront fRM, 'path', sPathIDA 1639 call EnvAddFront fRM, 'beginlibpath', sPathIDA 1640 1641 /* 1642 * Verify. 1643 */ 1644 if (pos('verify', sOperation) <= 0) then 1645 return 0; 1646 if ( \CfgVerifyFile(sPathIDA'\ida2.exe', fQuiet), 1647 | \CfgVerifyFile(sPathIDA'\idaw.exe', fQuiet), 1648 | \CfgVerifyFile(sPathIDA'\ida.dll', fQuiet), 1649 | \CfgVerifyFile(sPathIDA'\pc.dll', fQuiet), 1650 ) then 1651 return 2; 1652 return 0; 1653 1654 1655 /* 1656 * Interactive Disassembler (IDA) v4.01 1657 */ 1658 IDA40: procedure expose aCfg. aPath. sPathFile 1659 parse arg sToolId,sOperation,fRM,fQuiet 1660 /* 1661 * IDA main directory. 1662 */ 1663 sPathIDA = PathQuery('ida40', sToolId, sOperation); 1664 if (sPathIDA = '') then 1665 return 1; 1666 /* If config operation we're done now. */ 1667 if (pos('config', sOperation) > 0) then 1668 return 0; 1669 1670 /* 1671 * Installing the environment variables. 1672 */ 1673 call EnvSet fRM, 'PATH_IDA', sPathIDA 1674 call EnvAddFront fRM, 'path', sPathIDA 1675 call EnvAddFront fRM, 'beginlibpath', sPathIDA 1676 1677 /* 1678 * Verify. 1679 */ 1680 if (pos('verify', sOperation) <= 0) then 1681 return 0; 1682 if ( \CfgVerifyFile(sPathIDA'\ida2.exe', fQuiet), 1683 | \CfgVerifyFile(sPathIDA'\idaw.exe', fQuiet), 1684 | \CfgVerifyFile(sPathIDA'\ida.dll', fQuiet), 1685 | \CfgVerifyFile(sPathIDA'\pc.dll', fQuiet), 1686 ) then 1687 return 2; 1688 return 0; 1689 1690 1691 /* 1692 * Interactive Disassembler (IDA) v4.14 1693 */ 1694 IDA414: procedure expose aCfg. aPath. sPathFile 1695 parse arg sToolId,sOperation,fRM,fQuiet 1696 /* 1697 * IDA main directory. 1698 */ 1699 sPathIDA = PathQuery('ida414', sToolId, sOperation); 1700 if (sPathIDA = '') then 1701 return 1; 1702 /* If config operation we're done now. */ 1703 if (pos('config', sOperation) > 0) then 1704 return 0; 1705 1706 /* 1707 * Installing the environment variables. 1708 */ 1709 call EnvSet fRM, 'PATH_IDA', sPathIDA 1710 call EnvAddFront fRM, 'path', sPathIDA 1711 call EnvAddFront fRM, 'beginlibpath', sPathIDA 1712 1713 /* 1714 * Verify. 1715 */ 1716 if (pos('verify', sOperation) <= 0) then 1717 return 0; 1718 if ( \CfgVerifyFile(sPathIDA'\ida2.exe', fQuiet), 1719 | \CfgVerifyFile(sPathIDA'\idaw.exe', fQuiet), 1720 | \CfgVerifyFile(sPathIDA'\ida.dll', fQuiet), 1721 | \CfgVerifyFile(sPathIDA'\pc.dll', fQuiet), 1722 ) then 1723 return 2; 1724 return 0; 1725 1726 1727 /* 1728 * Interactive Disassembler (IDA) Plugin SDK (v5.0?) 1729 */ 1730 IDASDK: procedure expose aCfg. aPath. sPathFile 1731 parse arg sToolId,sOperation,fRM,fQuiet 1732 /* 1733 * IDA main directory. 1734 */ 1735 sPathIDASDK = PathQuery('idasdk', sToolId, sOperation); 1736 if (sPathIDASDK = '') then 1737 return 1; 1738 /* If config operation we're done now. */ 1739 if (pos('config', sOperation) > 0) then 1740 return 0; 1741 1742 /* 1743 * Installing the environment variables. 1744 */ 1745 call EnvSet fRM, 'PATH_IDASDK', sPathIDASDK 1746 call EnvAddFront fRM, 'include', sPathIDASDK'\include;' 1747 call EnvAddFront fRM, 'lib', sPathIDASDK'\libwat.os2;' 1748 call EnvAddFront fRM, 'path', sPathIDASDK'\bin\os2;' 1749 call EnvAddFront fRM, 'beginlibpath', sPathIDASDK'\bin\os2;' 1750 1751 /* 1752 * Verify. 1753 */ 1754 if (pos('verify', sOperation) <= 0) then 1755 return 0; 1756 if ( \CfgVerifyFile(sPathIDASDK'\os2wat.cfg', fQuiet), 1757 | \CfgVerifyFile(sPathIDASDK'\d32wat.cfg', fQuiet), 1758 | \CfgVerifyFile(sPathIDASDK'\include\exehdr.h', fQuiet), 1759 | \CfgVerifyFile(sPathIDASDK'\include\ida.hpp', fQuiet), 1760 | \CfgVerifyFile(sPathIDASDK'\include\vm.hpp', fQuiet), 1761 | \CfgVerifyFile(sPathIDASDK'\libwat.os2\ida.lib', fQuiet), 1762 | \CfgVerifyFile(sPathIDASDK'\libwat.d32\ida.lib', fQuiet), 1763 | \CfgVerifyFile(sPathIDASDK'\libwat.d32\INIRT386.OBJ', fQuiet), 1764 /* | \CfgVerifyFile(sPathIDASDK'\libbor.d32\ida.lib', fQuiet)*/, 1765 ) then 1766 return 2; 1767 return 0; 1768 1769 1770 /* 1771 * Mode commandline. 1772 */ 1773 Mode: procedure expose aCfg. aPath. sPathFile 1774 parse arg sToolId,sOperation,fRM,fQuiet,cols,rows 1775 if ((pos('uninstall', sOperation) > 0) | \fRM) then 1776 do 1777 cols = 80; 1778 rows = 25; 1779 end 1780 else if (pos('install', sOperation) > 0) then 1781 Address CMD 'mode' cols','rows 1782 return 0; 1783 1784 1785 /* 1786 * Microsoft C v6.0a 16-bit 1787 */ 1788 MSCV6_16: procedure expose aCfg. aPath. sPathFile 1789 parse arg sToolId,sOperation,fRM,fQuiet 1790 1791 /* 1792 * Microsoft C v6.0a main directory. 1793 */ 1794 sPathMSC = PathQuery('mscv6-16', sToolId, sOperation); 1795 if (sPathMSC = '') then 1796 return 1; 1797 /* If config operation we're done now. */ 1798 if (pos('config', sOperation) > 0) then 1799 return 0; 1800 1801 /* 1802 * Installing the environment variables. 1803 */ 1804 call EnvSet fRM, 'BUILD_ENV', 'MSCV6-16' 1805 call EnvSet fRM, 'BUILD_PLATFORM', 'OS2' 1806 call EnvSet fRM, 'PATH_MSC', sPathMSC; 1807 call EnvAddFront fRM, 'path', sPathMSC'\binp;' 1808 call EnvAddFront fRM, 'include', sPathMSC'\include;' 1809 call EnvAddFront fRM, 'include16', sPathMSC'\include;' 1810 call EnvAddFront fRM, 'lib', sPathMSC'\lib;' 1811 1812 /* 1813 * Verify. 1814 */ 1815 if (pos('verify', sOperation) <= 0) then 1816 return 0; 1817 if ( \CfgVerifyFile(sPathMSC'\binp\cl.exe', fQuiet), 1818 | \CfgVerifyFile(sPathMSC'\lib\clibcep.lib', fQuiet), 1819 | \CfgVerifyFile(sPathMSC'\lib\llibcep.lib', fQuiet), 1820 | \CfgVerifyFile(sPathMSC'\lib\mlibcep.lib', fQuiet), 1821 | \CfgVerifyFile(sPathMSC'\lib\slibcep.lib', fQuiet), 1822 | \CfgVerifyFile(sPathMSC'\include\sysbits.h', fQuiet), 1823 | \CfgVerifyFile(sPathMSC'\include\dos.h', fQuiet), 1824 | \CfgVerifyFile(sPathMSC'\include\bios.h', fQuiet), 1825 | \CfgVerifyFile(sPathMSC'\include\string.h', fQuiet), 1826 | \CfgVerifyFile(sPathMSC'\include\stdio.h', fQuiet), 1827 ) then 1828 return 2; 1829 rc = CheckCmdOutput('cl', 0, fQuiet, 'Microsoft (R) C Optimizing Compiler Version 6.00A.04'); 1830 return rc; 1831 1832 1833 /* 1834 * Microsoft C v6.0a 32-bit 1835 */ 1836 MSCV6_32: procedure expose aCfg. aPath. sPathFile 1837 parse arg sToolId,sOperation,fRM,fQuiet 1838 1839 /* 1840 * Microsoft C v6.0a 32-bit main directory. 1841 */ 1842 sPathDDKBase = PathQuery('ddkbase', sToolId, sOperation); 1843 if (sPathDDKBase = '') then 1844 return 1; 1845 /* If config operation we're done now. */ 1846 if (pos('config', sOperation) > 0) then 1847 return 0; 1848 1849 /* 1850 * This is where the compiler really is. 1851 */ 1852 call DDKBase 'ddkbase',sOperation,fRM,fQuiet; 1853 1854 /* 1855 * Installing the environment variables. 1856 */ 1857 call EnvSet fRM, 'BUILD_ENV', 'MSCV6' 1858 call EnvSet fRM, 'BUILD_PLATFORM', 'OS2' 1859 call EnvSet fRM, 'PATH_MSC', sPathDDKBase; 1860 call EnvAddFront fRM, 'include', sPathDDKBase'\h386;' 1861 call EnvAddFront fRM, 'lib', sPathDDKBase'\lib;' 1862 1863 /* 1864 * Verify. 1865 */ 1866 if (pos('verify', sOperation) <= 0) then 1867 return 0; 1868 if ( \CfgVerifyFile(sPathDDKBase'\tools\cl386.exe', fQuiet), 1869 | \CfgVerifyFile(sPathDDKBase'\h386\limits.h', fQuiet), 1870 | \CfgVerifyFile(sPathDDKBase'\h386\string.h', fQuiet), 1871 ) then 1872 return 2; 1873 rc = CheckCmdOutput('cl386', 0, fQuiet, 'Microsoft (R) Microsoft 386 C Compiler. Version 6.00.054'); 1874 return rc; 1875 1876 1877 /* 1878 * mySQL Database system 1879 */ 1880 mySQL: procedure expose aCfg. aPath. sPathFile 1881 parse arg sToolId,sOperation,fRM,fQuiet 1882 1883 /* 1884 * mySQL Database system main directory. 1885 */ 1886 sPathMySQL = PathQuery('mysql', sToolId, sOperation); 1887 if (sPathMySQL = '') then 1888 return 1; 1889 /* If config operation we're done now. */ 1890 if (pos('config', sOperation) > 0) then 1891 return 0; 1892 1893 /* 1894 * Installing the environment variables. 1895 */ 1896 call EnvSet fRM, 'PATH_MYSQL', sPathMySQL; 1897 call EnvAddFront fRM, 'path', sPathMySQL'\bin;' 1898 call EnvAddFront fRM, 'beginlibpath', sPathMySQL'\dll;' 1899 call EnvAddFront fRM, 'include', sPathMySQL'\include;' 1900 call EnvAddFront fRM, 'bookshelf', sPathMySQL'\doc;'sPathMySQL'\book'; 1901 /*call EnvAddFront fRM, 'lib', sPathMySQL'\lib;'*/ 1902 1903 /* 1904 * Verify. 1905 */ 1906 if (pos('verify', sOperation) <= 0) then 1907 return 0; 1908 if ( \CfgVerifyFile(sPathMySQL'\bin\mysql.exe', fQuiet), 1909 | \CfgVerifyFile(sPathMySQL'\bin\mysqld.exe', fQuiet), 1910 | \CfgVerifyFile(sPathMySQL'\bin\mysqladmin.exe', fQuiet), 1911 | \CfgVerifyFile(sPathMySQL'\dll\mysql.dll', fQuiet), 1912 | \CfgVerifyFile(sPathMySQL'\include\mysql.h', fQuiet), 1913 | \CfgVerifyFile(sPathMySQL'\include\mysql_com.h', fQuiet), 1914 | \CfgVerifyFile(sPathMySQL'\include\mysql_version.h', fQuiet), 1915 ) then 1916 return 2; 1917 rc = CheckCmdOutput('mysql --version', 0, fQuiet, ', for '); 1918 return rc; 1919 1920 1921 1922 /* 1923 * NetQOS2 - help subsystem++ for VAC 3.6.5 and VAC 4.0 1924 */ 1925 NetQOS2: procedure expose aCfg. aPath. sPathFile 1926 parse arg sToolId,sOperation,fRM,fQuiet 1927 sPathNetQOS2 = PathQuery('netqos2', sToolId, sOperation); 1928 if (sPathNetQOS2 = '') then 1929 return 1; 1930 /* If config operation we're done now. */ 1931 if (pos('config', sOperation) > 0) then 1932 return 0; 1933 1934 /* 1935 * Installing the environment variables. 1936 */ 1937 call EnvSet fRM, 'PATH_NETQOS2', sPathNetQOS2 1938 call EnvAddFront fRM, 'path', sPathNetQOS2';' 1939 call EnvAddFront fRM, 'dpath', sPathNetQOS2';' 1940 call EnvAddFront fRM, 'beginlibpath', sPathNetQOS2';' 1941 call EnvSet fRM, 'imndatasrv', sPathNetQOS2'\DATA' 1942 call EnvSet fRM, 'imndatacl', sPathNetQOS2'\DATA' 1943 call EnvSet fRM, 'imnworksrv', sPathNetQOS2'\WORK' 1944 call EnvSet fRM, 'imnworkcl', sPathNetQOS2'\WORK' 1945 call EnvSet fRM, 'imnnlpssrv', sPathNetQOS2 1946 call EnvSet fRM, 'imnnlpscl', sPathNetQOS2 1947 call EnvSet fRM, 'imncccfgfile', 'NETQ.CFG' 1948 call EnvSet fRM, 'imncscfgfile', 'NETQ.CFG' 1949 call EnvSet fRM, 'imqconfigsrv', sPathNetQOS2'\instance' 1950 call EnvSet fRM, 'imqconfigcl', sPathNetQOS2'\instance\dbcshelp' 1951 1952 /* 1953 * Verify. 1954 */ 1955 if (pos('verify', sOperation) <= 0) then 1956 return 0; 1957 if ( \CfgVerifyFile(sPathNetQOS2'\netq.exe', fQuiet), 1958 ) then 1959 return 2; 1960 rc = CheckCmdOutput('netq', 999, fQuiet, 'NETQ {START | STOP'); 1961 return rc; 1962 1963 1964 /* 1965 * Odin32 testcase setup. 1966 */ 1967 Odin32Testcase: procedure expose aCfg. aPath. sPathFile 1968 parse arg sToolId,sOperation,fRM,fQuiet 1969 if ( PathQuery('testcase_drive_unused', sToolId, sOperation) = '', 1970 | PathQuery('testcase_drive_fixed', sToolId, sOperation) = '', 1971 | PathQuery('testcase_drive_floppy', sToolId, sOperation) = '', 1972 | PathQuery('testcase_drive_cdrom', sToolId, sOperation) = '', 1973 ) then 1974 return 1; 1975 /* If config operation we're done now. */ 1976 if (pos('config', sOperation) > 0) then 1977 return 0; 1978 1979 /* 1980 * Installing the environment variables. 1981 */ 1982 call EnvSet fRM, 'odin32_testcase_drive_unused', PathQuery('testcase_drive_unused', sToolId, sOperation); 1983 call EnvSet fRM, 'odin32_testcase_drive_fixed', PathQuery('testcase_drive_fixed', sToolId, sOperation); 1984 call EnvSet fRM, 'odin32_testcase_drive_floppy', PathQuery('testcase_drive_floppy', sToolId, sOperation); 1985 call EnvSet fRM, 'odin32_testcase_drive_cdrom', PathQuery('testcase_drive_cdrom', sToolId, sOperation); 1986 call EnvSet fRM, 'odin32_testcase_drive_network', PathQuery('testcase_drive_network', sToolId, sOperation, 1); 1987 call EnvSet fRM, 'odin32_testcase_drive_ramdisk', PathQuery('testcase_drive_ramdisk', sToolId, sOperation, 1); 1988 1989 /* 1990 * Verify. 1991 */ 1992 if (pos('verify', sOperation) <= 0) then 1993 return 0; 1994 return 0; 1995 1996 /* 1997 * PERL 5005_53 1998 */ 1999 Perl: procedure expose aCfg. aPath. sPathFile 2000 parse arg sToolId,sOperation,fRM,fQuiet 2001 2002 /* 2003 * Perl main directory. 2004 */ 2005 /* BAD 2006 sPathPerl = PathQuery('perl', sToolId, sOperation); 2007 if (sPathPerl = '') then 2008 return 1; 2009 /* If config operation we're done now. */ 2010 if (pos('config', sOperation) > 0) then 2011 return 0; 2012 2013 /* 2014 * Installing the environment variables. 2015 */ 2016 sPathPerlForw = translate(sPathPerl, '/', '\'); 2017 call EnvSet fRM, 'PATH_PERL', sPathPerl; 2018 call EnvAddFront fRM, 'path', sPathPerl'\bin;' 2019 call EnvAddFront fRM, 'beginlibpath', sPathPerl'\dll;' 2020 call EnvAddEnd fRM, 'bookshelf', sPathPerl'\book;' 2021 call EnvSet fRM, 'perllib_prefix', sPathPerlForw'/lib;'sPathPerl'\lib' 2022 call EnvSet fRM, 'perl5lib', sPathPerlForw'/lib/site_perl/5.00553/os2;'sPathPerlForw'/lib/site_perl/5.00553' 2023 call EnvSet fRM, 'perl5load', '2' 2024 call EnvSet fRM, 'perl_sh_dir', sPathPerlForw'/bin_sh/sh.exe' 2025 call EnvSet fRM, 'manpath', sPathPerlForw'/man' 2026 call EnvSet fRM, 'perl_badlang', '0' 2027 /* call EnvSet fRM, 'LANG', 'en_US' /* dirty fix... */*/ 2028 */ 2029 /* seems ok */ 2030 sPathPerl = PathQuery('perl', sToolId, sOperation); 2031 if (sPathPerl = '') then 2032 return 1; 2033 /* If config operation we're done now. */ 2034 if (pos('config', sOperation) > 0) then 2035 return 0; 2036 2037 /* 2038 * Installing the environment variables. 2039 */ 2040 sPathPerlForw = translate(sPathPerl, '/', '\'); 2041 call EnvSet fRM, 'PATH_PERL', sPathPerl; 2042 call EnvAddFront fRM, 'path', sPathPerl'\bin;' 2043 call EnvAddFront fRM, 'beginlibpath', sPathPerl'\dll;' 2044 call EnvAddEnd fRM, 'bookshelf', sPathPerl'\book;' 2045 call EnvSet fRM, 'perllib_prefix', sPathPerlForw'/lib;'sPathPerlForw'/lib' 2046 call EnvSet fRM, 'perl_sh_dir', sPathPerlForw'/bin_sh' 2047 call EnvSet fRM, 'manpath', sPathPerlForw'/man' 2048 call EnvSet fRM, 'perl5lib', sPathPerlForw'/lib' 2049 call EnvSet fRM, 'perl_badlang', '0' 2050 2051 /* 2052 * Verify. 2053 */ 2054 if (pos('verify', sOperation) <= 0) then 2055 return 0; 2056 if ( \CfgVerifyFile(sPathPerl'\bin\perl.exe', fQuiet), 2057 | \CfgVerifyFile(sPathPerl'\dll\perlE0AC.dll', fQuiet), 2058 ) then 2059 return 2; 2060 rc = CheckCmdOutput('perl --version', 0, fQuiet, 'This is perl, version 5.005_53 built for os2'); 2061 return rc; 2062 2063 2064 /* 2065 * Python/2 v1.5.2 2066 */ 2067 Python: procedure expose aCfg. aPath. sPathFile 2068 parse arg sToolId,sOperation,fRM,fQuiet 2069 2070 /* 2071 * The Python Home directory 2072 */ 2073 sPythonHome = PathQuery('python', sToolId, sOperation); 2074 if (sPythonHome = '') then 2075 return 1; 2076 /* If config operation we're done now. */ 2077 if (pos('config', sOperation) > 0) then 2078 return 0; 2079 2080 /* 2081 * Installing the environment variables. 2082 */ 2083 call EnvSet fRM, 'PATH_PYTHON', sPythonHome 2084 call EnvSet fRM, 'pythonhome', sPythonHome 2085 call EnvSet fRM, 'pythonpath', '.;'sPythonHome'\Lib;'sPythonHome'\Lib\plat-win;'sPythonHome'\Lib\lib-tk;'sPythonHome'\Lib\lib-dynload;'sPythonHome'\Lib\site-packages;'sPythonHome'\Lib\dos-8x3' 2086 call EnvAddFront fRM, 'beginlibpath', sPythonHome 2087 call EnvAddFront fRM, 'path', sPythonHome 2088 2089 /* 2090 * Verify. 2091 */ 2092 if (pos('verify', sOperation) <= 0) then 2093 return 0; 2094 if ( \CfgVerifyFile(sPythonHome'\Python.exe', fQuiet), 2095 | \CfgVerifyFile(sPythonHome'\Python15.dll', fQuiet), 2096 ) then 2097 return 2; 2098 rc = CheckCmdOutput('echo print "hello world" | python', 0, fQuiet, 'hello world'); 2099 return rc; 2100 2101 2102 /* 2103 * OS/2 Programmers Toolkit v4.0 (CSD1/4) 2104 */ 2105 Toolkit40: procedure expose aCfg. aPath. sPathFile 2106 parse arg sToolId,sOperation,fRM,fQuiet 2107 2108 /* 2109 * Toolkit (4.0) main directory. 2110 */ 2111 sPathTK = PathQuery('toolkit40', sToolId, sOperation); 2112 if (sPathTK = '') then 2113 return 1; 2114 /* If config operation we're done now. */ 2115 if (pos('config', sOperation) > 0) then 2116 return 0; 2117 2118 /* 2119 * Installing the environment variables. 2120 */ 2121 call EnvSet fRM, 'PATH_TOOLKIT', sPathTK; 2122 call EnvAddFront fRM, 'beginlibpath', sPathTK'\BETA\DLL;'sPathTK'\SAMPLES\MM\DLL;'sPathTK'\SAMPLES\OPENDOC\PARTS\DLL;'sPathTK'\SOM\COMMON\DLL;'sPathTK'\SOM\LIB;'sPathTK'\OPENDOC\BASE\DLL;'sPathTK'\OPENDOC\BASE\LOCALE\EN_US;'sPathTK'\DLL;' 2123 call EnvAddFront fRM, 'path', sPathTK'\BETA\BIN;'sPathTK'\SOM\COMMON;'sPathTK'\SOM\BIN;.;'sPathTK'\OPENDOC\BASE\BIN;'sPathTK'\BIN;' 2124 call EnvAddFront fRM, 'dpath', sPathTK'\SOM\COMMON\SYSTEM;'sPathTK'\SOM\MSG;'sPathTK'\OPENDOC\BASE\MSG;'sPathTK'\BOOK;'sPathTK'\MSG;' 2125 call EnvAddFront fRM, 'help', sPathTK'\BETA\HELP;'sPathTK'\OPENDOC\BASE\LOCALE\EN_US;'sPathTK'\HELP;' 2126 call EnvAddFront fRM, 'bookshelf', sPathTK'\BETA\BOOK;'sPathTK'\BOOK;'sPathTK'\ARCHIVED;' 2127 call EnvAddFront fRM, 'somir', sPathTK'\SOM\COMMON\ETC\214\SOM.IR;'sPathTK'\OPENDOC\BASE\AVLSHELL.IR;' 2128 call EnvAddEnd fRM, 'somir', sPathTK'\OPENDOC\CUSTOM\OD.IR;'sPathTK'\SAMPLES\REXX\SOM\ANIMAL\ORXSMP.IR;' 2129 call EnvAddFront fRM, 'include', sPathTK'\SPEECH\H;'sPathTK'\BETA\H;'sPathTK'\SAMPLES\OPENDOC\PARTS\INCLUDE;'sPathTK'\SOM\INCLUDE;'sPathTK'\INC;'sPathTK'\H\GL;'sPathTK'\H;' 2130 call EnvAddEnd fRM, 'include', sPathTK'\H\LIBC;.;' 2131 call EnvAddFront fRM, 'lib', sPathTK'\SPEECH\LIB;'sPathTK'\SAMPLES\MM\LIB;'sPathTK'\LIB;'sPathTK'\SOM\LIB;'sPathTK'\OPENDOC\BASE\LIB;' 2132 call EnvAddFront fRM, 'nlspath', sPathTK'\OPENDOC\BASE\LOCALE\EN_US\%N;'sPathTK'\MSG\%N;C:\MPTN\MSG\NLS\%N;C:\TCPIP\msg\ENUS850\%N;' 2133 call EnvAddFront fRM, 'locpath', sPathTK'\OPENDOC\BASE\LOCALE;' 2134 call EnvAddFront fRM, 'ipfc', sPathTK'\IPFC;' 2135 call EnvSet fRM, 'odbase', sPathTK'\OPENDOC\BASE' 2136 call EnvSet fRM, 'odlang', 'en_US' 2137 call EnvAddFront fRM, 'odbasepaths', sPathTK'\OPENDOC\BASE;' 2138 call EnvSet fRM, 'odcfg', sPathTK'\OPENDOC\CUSTOM' 2139 call EnvSet fRM, 'odtmp', EnvGet('tmp'); 2140 call EnvSet fRM, 'sombase', sPathTK'\SOM' 2141 call EnvSet fRM, 'somruntime', sPathTK'\SOM\COMMON' 2142 2143 call EnvSet fRM, 'cpref', 'CP1.INF+CP2.INF+CP3.INF' 2144 call EnvSet fRM, 'gpiref', 'GPI1.INF+GPI2.INF+GPI3.INF+GPI4.INF' 2145 call EnvSet fRM, 'mmref', 'MMREF1.INF+MMREF2.INF+MMREF3.INF' 2146 call EnvSet fRM, 'pmref', 'PM1.INF+PM2.INF+PM3.INF+PM4.INF+PM5.INF' 2147 call EnvSet fRM, 'wpsref', 'WPS1.INF+WPS2.INF+WPS3.INF' 2148 call EnvAddFront fRM, 'sminclude', sPathTK'\H;'sPathTK'\IDL;'sPathTK'\SOM\INCLUDE;.;'sPathTK'\OPENDOC\BASE\INCLUDE;'sPathTK'\SAMPLES\OPENDOC\PARTS\INCLUDE;' 2149 call EnvSet fRM, 'smaddstar', '1' 2150 call EnvSet fRM, 'smemit', 'h;ih;c' 2151 call EnvSet fRM, 'smtmp', EnvGet('tmp'); 2152 call EnvSet fRM, 'smclasses', 'WPTYPES.IDL' 2153 call EnvSet fRM, 'odparts', sPathTK'\SAMPLES\OPENDOC\PARTS' 2154 call EnvSet fRM, 'odsrc', sPathTK'\SAMPLES\OPENDOC\PARTS' 2155 call EnvAddFront fRM, 'odpartspaths', sPathTK'\SAMPLES\OPENDOC\PARTS;' 2156 call EnvAddFront fRM, 'odsrcpaths', sPathTK'\SAMPLES\OPENDOC\PARTS;' 2157 /* 2158 call EnvSet fRM, 'CAT_MACHINE=COM1:57600' 2159 call EnvSet fRM, 'CAT_HOST_BIN_PATH='sPathTK'\BIN' 2160 call EnvSet fRM, 'CAT_COMMUNICATION_TYPE=ASYNC_SIGBRK' 2161 call EnvAddFront fRM, 'CAT_HOST_SOURCE_PATH='sPathTK'\BIN;' 2162 */ 2163 2164 /* 2165 * Verify. 2166 */ 2167 if (pos('verify', sOperation) <= 0) then 2168 return 0; 2169 if ( \CfgVerifyFile(sPathTK'\bin\alp.exe', fQuiet), 2170 | \CfgVerifyFile(sPathTK'\bin\rc.exe', fQuiet), 2171 | \CfgVerifyFile(sPathTK'\bin\ipfc.exe', fQuiet), 2172 | \CfgVerifyFile(sPathTK'\bin\implib.exe', fQuiet), 2173 | \CfgVerifyFile(sPathTK'\bin\mkmsgf.exe', fQuiet), 2174 | \CfgVerifyFile(sPathTK'\bin\mapsym.exe', fQuiet), 2175 | \CfgVerifyFile(sPathTK'\lib\os2386.lib', fQuiet), 2176 | \CfgVerifyFile(sPathTK'\lib\pmbidi.lib', fQuiet), 2177 | \CfgVerifyFile(sPathTK'\lib\tcpip32.lib', fQuiet), 2178 | \CfgVerifyFile(sPathTK'\h\os2.h', fQuiet), 2179 | \CfgVerifyFile(sPathTK'\h\os2win.h', fQuiet), 2180 | \CfgVerifyFile(sPathTK'\h\stack16\pmwsock.h', fQuiet), 2181 | \CfgVerifyFile(sPathTK'\som\bin\sc.exe', fQuiet), 2182 ) then 2183 return 2; 2184 rc = CheckCmdOutput('syslevel '||sPathTK||'\bin', 0, fQuiet, 'IBM Developer''s Toolkit for OS/2 Warp Version 4'||'0d0a'x||'Version 4.00.'); 2185 if (rc = 0) then 2186 rc = CheckCmdOutput('sc -V', -1, fQuiet, '", Version: 2.54.'); 2187 if (rc = 0) then 2188 rc = CheckCmdOutput('rc', 0, fQuiet, 'IBM RC (Resource Compiler) Version 5.00.00'); 2189 if (rc = 0) then 2190 rc = CheckCmdOutput('ipfc', 0, fQuiet, 'Version 4.00.00'); 2191 2192 return rc; 2193 2194 2195 2196 /* 2197 * OS/2 Programmers Toolkit v4.5 2198 */ 2199 Toolkit45: procedure expose aCfg. aPath. sPathFile 2200 parse arg sToolId,sOperation,fRM,fQuiet 2201 2202 /* 2203 * Toolkit (4.5) main directory. 2204 */ 2205 sPathTK = PathQuery('toolkit45', sToolId, sOperation); 2206 if (sPathTK = '') then 2207 return 1; 2208 /* If config operation we're done now. */ 2209 if (pos('config', sOperation) > 0) then 2210 return 0; 2211 2212 /* 2213 * Installing the environment variables. 2214 */ 2215 call EnvSet fRM, 'PATH_TOOLKIT', sPathTK; 2216 call EnvAddFront fRM, 'path', sPathTK'\bin;' 2217 call EnvAddFront fRM, 'dpath', sPathTK'\book;' 2218 call EnvAddFront fRM, 'dpath', sPathTK'\msg;' 2219 call EnvAddFront fRM, 'beginlibpath', sPathTK'\dll;' 2220 call EnvAddFront fRM, 'help', sPathTK'\help;' 2221 call EnvAddFront fRM, 'bookshelf', sPathTK'\archived;' 2222 call EnvAddFront fRM, 'bookshelf', sPathTK'\book;' 2223 call EnvAddFront fRM, 'nlspath', sPathTK'\msg\%N;' 2224 call EnvAddEnd fRM, 'ulspath', sPathTK'\language;' 2225 call EnvAddFront fRM, 'include', sPathTK'\H;' 2226 call EnvAddFront fRM, 'include', sPathTK'\H\GL;' 2227 call EnvAddFront fRM, 'include', sPathTK'\SPEECH\H;' 2228 call EnvAddFront fRM, 'include', sPathTK'\H\RPC;' 2229 call EnvAddFront fRM, 'include', sPathTK'\H\NETNB;' 2230 call EnvAddFront fRM, 'include', sPathTK'\H\NETINET;' 2231 call EnvAddFront fRM, 'include', sPathTK'\H\NET;' 2232 call EnvAddFront fRM, 'include', sPathTK'\H\ARPA;' 2233 call EnvAddFront fRM, 'include', sPathTK'\INC;' 2234 call EnvAddEnd fRM, 'lib', sPathTK'\SAMPLES\MM\LIB;' 2235 call EnvAddEnd fRM, 'lib', sPathTK'\SPEECH\LIB;' 2236 call EnvAddFront fRM, 'lib', sPathTK'\lib;' 2237 call EnvAddFront fRM, 'helpndx', 'EPMKWHLP.NDX+', '+' 2238 call EnvAddFront fRM, 'ipfc', sPathTK'\ipfc;' 2239 call EnvSet fRM, 'LANG', 'en_us' 2240 call EnvSet fRM, 'CPREF', 'CP1.INF+CP2.INF+CP3.INF' 2241 call EnvSet fRM, 'GPIREF', 'GPI1.INF+GPI2.INF+GPI3.INF+GPI4.INF' 2242 call EnvSet fRM, 'MMREF', 'MMREF1.INF+MMREF2.INF+MMREF3.INF' 2243 call EnvSet fRM, 'PMREF', 'PM1.INF+PM2.INF+PM3.INF+PM4.INF+PM5.INF' 2244 call EnvSet fRM, 'WPSREF', 'WPS1.INF+WPS2.INF+WPS3.INF' 2245 /* 2246 call EnvSet fRM, 'CAT_MACHINE', 'COM1:57600' 2247 call EnvSet fRM, 'CAT_HOST_BIN_PATH', TKMAIN'\BIN' 2248 call EnvSet fRM, 'CAT_COMMUNICATION_TYPE', 'ASYNC_SIGBRK' 2249 call EnvSet fRM, 'CAT_HOST_SOURCE_PATH',TKMAIN'\BIN;' 2250 */ 2251 2252 /* 2253 * Verify. 2254 */ 2255 if (pos('verify', sOperation) <= 0) then 2256 return 0; 2257 if ( \CfgVerifyFile(sPathTK'\bin\alp.exe', fQuiet), 2258 | \CfgVerifyFile(sPathTK'\bin\rc.exe', fQuiet), 2259 | \CfgVerifyFile(sPathTK'\bin\ipfc.exe', fQuiet), 2260 | \CfgVerifyFile(sPathTK'\bin\implib.exe', fQuiet), 2261 | \CfgVerifyFile(sPathTK'\bin\mkmsgf.exe', fQuiet), 2262 | \CfgVerifyFile(sPathTK'\bin\mapsym.exe', fQuiet), 2263 | \CfgVerifyFile(sPathTK'\lib\os2386.lib', fQuiet), 2264 | \CfgVerifyFile(sPathTK'\lib\pmbidi.lib', fQuiet), 2265 | \CfgVerifyFile(sPathTK'\lib\tcpip32.lib', fQuiet), 2266 | \CfgVerifyFile(sPathTK'\h\os2.h', fQuiet), 2267 | \CfgVerifyFile(sPathTK'\h\os2win.h', fQuiet), 2268 | \CfgVerifyFile(sPathTK'\h\stack16\pmwsock.h', fQuiet), 2269 | FileExists(sPathTK'\som\bin\sc.exe'), 2270 ) then 2271 return 2; 2272 rc = CheckCmdOutput('syslevel '||sPathTK||'\bin', 0, fQuiet, 'IBM OS/2 Developer''s Toolkit Version 4.5'||'0d0a'x||'Version 4.50 Component ID 5639F9300'); 2273 if (rc = 0) then 2274 rc = CheckCmdOutput('rc', 0, fQuiet, 'IBM RC (Resource Compiler) Version 5.00.004'); 2275 if (rc = 0) then 2276 rc = CheckCmdOutput('ipfc', 0, fQuiet, 'Version 4.00.006 July 21 1998'); 2277 return rc; 2278 2279 2280 /* 2281 * OS/2 Programmers Toolkit v4.5.1 2282 */ 2283 Toolkit451: procedure expose aCfg. aPath. sPathFile 2284 parse arg sToolId,sOperation,fRM,fQuiet 2285 2286 /* 2287 * Toolkit (4.5.1) main directory. 2288 */ 2289 sPathTK = PathQuery('toolkit451', sToolId, sOperation); 2290 if (sPathTK = '') then 2291 return 1; 2292 /* If config operation we're done now. */ 2293 if (pos('config', sOperation) > 0) then 2294 return 0; 2295 2296 /* 2297 * Installing the environment variables. 2298 */ 2299 call EnvSet fRM, 'PATH_TOOLKIT', sPathTK; 2300 call EnvAddFront fRM, 'path', sPathTK'\bin;'sPathTK'\som\common;'sPathTK'\som\bin' 2301 call EnvAddFront fRM, 'dpath', sPathTK'\msg;'sPathTK'\book;'sPathTK'\SOM\COMMON\SYSTEM;'sPathTK'\SOM\MSG;' 2302 call EnvAddFront fRM, 'beginlibpath', sPathTK'\dll;'sPathTK'\som\common\dll;'sPathTK'\som\lib;' 2303 call EnvAddFront fRM, 'help', sPathTK'\help;' 2304 call EnvAddFront fRM, 'bookshelf', sPathTK'\book;'sPathTK'\archived;' 2305 call EnvAddFront fRM, 'somir', sPathTK'\SOM\COMMON\ETC\214\SOM.IR;' 2306 call EnvAddEnd fRM, 'somir', sPathTK'\SAMPLES\REXX\SOM\ANIMAL\ORXSMP.IR;' 2307 call EnvAddFront fRM, 'nlspath', sPathTK'\msg\%N;' 2308 call EnvAddEnd fRM, 'ulspath', sPathTK'\language;' 2309 call EnvAddFront fRM, 'include', sPathTK'\H\ARPA;'sPathTK'\H\NET;'sPathTK'\H\NETINET;'sPathTK'\H\NETNB;'sPathTK'\H\RPC;'sPathTK'\SPEECH\H;'sPathTK'\H\GL;'sPathTK'\H;'sPathTK'\SOM\INCLUDE;'sPathTK'\INC;' 2310 call EnvAddFront fRM, 'lib', sPathTK'\lib;' 2311 call EnvAddEnd fRM, 'lib', sPathTK'\SAMPLES\MM\LIB;'sPathTK'\SPEECH\LIB;' 2312 call EnvAddFront fRM, 'helpndx', 'EPMKWHLP.NDX+', '+' 2313 call EnvAddFront fRM, 'ipfc', sPathTK'\ipfc;' 2314 call EnvSet fRM, 'sombase', sPathTK'\SOM' 2315 call EnvSet fRM, 'somruntime', sPathTK'\SOM\COMMON' 2316 call EnvSet fRM, 'LANG', 'en_us' 2317 2318 call EnvSet fRM, 'CPREF', 'CP1.INF+CP2.INF+CP3.INF' 2319 call EnvSet fRM, 'GPIREF', 'GPI1.INF+GPI2.INF+GPI3.INF+GPI4.INF' 2320 call EnvSet fRM, 'MMREF', 'MMREF1.INF+MMREF2.INF+MMREF3.INF' 2321 call EnvSet fRM, 'PMREF', 'PM1.INF+PM2.INF+PM3.INF+PM4.INF+PM5.INF' 2322 call EnvSet fRM, 'WPSREF', 'WPS1.INF+WPS2.INF+WPS3.INF' 2323 call EnvAddFront fRM, 'sminclude', sPathTK'\H;'sPathTK'\IDL;'sPathTK'\SOM\INCLUDE;.;' 2324 call EnvSet fRM, 'smaddstar', '1' 2325 call EnvSet fRM, 'smemit', 'h;ih;c' 2326 call EnvSet fRM, 'smtmp', EnvGet('tmp'); 2327 call EnvSet fRM, 'smclasses', 'WPTYPES.IDL' 2328 /* 2329 call EnvSet fRM, 'CAT_MACHINE', 'COM1:57600' 2330 call EnvSet fRM, 'CAT_HOST_BIN_PATH', TKMAIN'\BIN' 2331 call EnvSet fRM, 'CAT_COMMUNICATION_TYPE', 'ASYNC_SIGBRK' 2332 call EnvSet fRM, 'CAT_HOST_SOURCE_PATH',TKMAIN'\BIN;' 2333 */ 2334 2335 /* 2336 * Verify. 2337 */ 2338 if (pos('verify', sOperation) <= 0) then 2339 return 0; 2340 if ( \CfgVerifyFile(sPathTK'\bin\alp.exe', fQuiet), 2341 | \CfgVerifyFile(sPathTK'\bin\rc.exe', fQuiet), 2342 | \CfgVerifyFile(sPathTK'\bin\ipfc.exe', fQuiet), 2343 | \CfgVerifyFile(sPathTK'\bin\implib.exe', fQuiet), 2344 | \CfgVerifyFile(sPathTK'\bin\mkmsgf.exe', fQuiet), 2345 | \CfgVerifyFile(sPathTK'\bin\mapsym.exe', fQuiet), 2346 | \CfgVerifyFile(sPathTK'\bin\nmake.exe', fQuiet), 2347 | \CfgVerifyFile(sPathTK'\bin\nmake32.exe', fQuiet), 2348 | \CfgVerifyFile(sPathTK'\lib\os2386.lib', fQuiet), 2349 | \CfgVerifyFile(sPathTK'\lib\pmbidi.lib', fQuiet), 2350 | \CfgVerifyFile(sPathTK'\lib\tcpip32.lib', fQuiet), 2351 | \CfgVerifyFile(sPathTK'\h\os2.h', fQuiet), 2352 | \CfgVerifyFile(sPathTK'\h\os2win.h', fQuiet), 2353 | \CfgVerifyFile(sPathTK'\h\stack16\pmwsock.h', fQuiet), 2354 | \CfgVerifyFile(sPathTK'\som\bin\sc.exe', fQuiet), 2355 ) then 2356 return 2; 2357 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'); 2358 if (rc = 0) then 2359 rc = CheckCmdOutput('sc -V', -1, fQuiet, '", Version: 2.54.'); 2360 if (rc = 0) then 2361 rc = CheckCmdOutput('rc', 0, fQuiet, 'IBM RC (Resource Compiler) Version 5.00.006 Oct 20 2000'); 2362 if (rc = 0) then 2363 rc = CheckCmdOutput('ipfc', 0, fQuiet, 'Version 4.00.007 Oct 02 2000'); 2364 if (rc = 0) then 2365 rc = CheckCmdOutput('nmake', 2, fQuiet, 'Version 4.00.000 Oct 20 2000'); 2366 if (rc = 0) then 2367 rc = CheckCmdOutput('nmake32', 0, fQuiet, 'Version 5.00.003 Oct 20 2000'); 2368 return rc; 2369 2370 2371 2372 /** 2373 * This will envolve into an full UNIX like environment some day perhaps... 2374 */ 2375 Unix: procedure expose aCfg. aPath. sPathFile 2376 parse arg sToolId,sOperation,fRM,fQuiet 2377 2378 /* 2379 * Unix root directory and XFree86 main directory. 2380 */ 2381 sUnixBack = PathQuery('unixroot', sToolId, sOperation); 2382 if (sUnixBack = '') then 2383 return 1; 2384 sXF86Back = PathQuery('xfree86', sToolId, sOperation); 2385 if (sXF86Back = '') then 2386 return 1; 2387 /* If config operation we're done now. */ 2388 if (pos('config', sOperation) > 0) then 2389 return 0; 2390 2391 /* 2392 * Installing the environment variables. 2393 */ 2394 sUnixForw = translate(sUnixBack, '/', '\'); 2395 call EnvSet fRM, 'PATH_UNIX', sUnixBack 2396 call EnvSet fRM, 'unixroot', sUnixBack 2397 call EnvAddFront fRM, 'path', sUnixBack'\bin;'sUnixBack'\usr\local\bin;' 2398 call EnvAddFront fRM, 'beginlibpath', sUnixBack'\dll;' 2399 call EnvSet fRM, 'groff_font_path', sUnixForw'/lib/groff/font' 2400 call EnvSet fRM, 'groff_tmac_path', sUnixForw'/lib/groff/tmac' 2401 call EnvSet fRM, 'refer', sUnixForw'/lib/groff/dict/papers/ind' 2402 2403 call EnvSet fRM, 'editor', 'e:/verkty/boxer/b2.exe -Vr25' 2404 2405 sXF86Forw = translate(sXF86Back, '/', '\'); 2406 call EnvSet fRM, 'PATH_XFREE86', sXF86Back 2407 call EnvAddFront fRM, 'C_INCLUDE_PATH', sXF86Forw'/include' 2408 call EnvAddFront fRM, 'CPLUS_INCLUDE_PATH', sXF86Forw'/include' 2409 call EnvSet fRM, 'OBJC_INCLUDE_PATH', sXF86Forw'/include' 2410 call EnvAddFront fRM, 'LIBRARY_PATH', sXF86Forw'/lib' 2411 2412 /* 2413 * Verify. 2414 */ 2415 if (pos('verify', sOperation) <= 0) then 2416 return 0; 2417 if ( \CfgVerifyFile(sUnixBack'\bin\bash.exe', fQuiet), 2418 | \CfgVerifyFile(sUnixBack'\bin\sh.exe', fQuiet), 2419 | \CfgVerifyFile(sUnixBack'\bin\yes.exe', fQuiet), 2420 | \CfgVerifyFile(sUnixBack'\bin\rm.exe', fQuiet), 2421 | \CfgVerifyFile(sUnixBack'\bin\cp.exe', fQuiet), 2422 | \CfgVerifyFile(sUnixBack'\bin\mv.exe', fQuiet), 2423 | \CfgVerifyFile(sXF86Back'\bin\xf86config.exe', fQuiet), 2424 ) then 2425 return 2; 2426 return 0; 2427 2428 2429 2430 /* 2431 * IBM Visual Age for C++ v3.08 for OS/2 2432 */ 2433 VAC308: procedure expose aCfg. aPath. sPathFile 2434 parse arg sToolId,sOperation,fRM,fQuiet 2435 2436 /* 2437 * IBM Visual Age for C++ Version 3.08 main directory. 2438 */ 2439 sPathCPP = PathQuery('vac308', sToolId, sOperation); 2440 if (sPathCPP = '') then 2441 return 1; 2442 /* If config operation we're done now. */ 2443 if (pos('config', sOperation) > 0) then 2444 return 0; 2445 2446 /* 2447 * Installing the environment variables. 2448 */ 2449 call EnvSet fRM, 'PATH_VAC308', sPathCPP 2450 call EnvSet fRM, 'CCENV', 'VAC3' 2451 call EnvSet fRM, 'BUILD_ENV', 'VAC308' 2452 call EnvSet fRM, 'BUILD_PLATFORM', 'OS2' 2453 2454 call EnvAddFront fRM, 'beginlibpath', sPathCPP'\DLL;'sPathCPP'\SAMPLES\TOOLKIT\DLL;' 2455 call EnvAddFront fRM, 'path', sPathCPP'\BIN;'sPathCPP'\SMARTS\SCRIPTS;'sPathCPP'\HELP;' 2456 call EnvAddFront fRM, 'dpath', sPathCPP'\HELP;'sPathCPP';'sPathCPP'\LOCALE;'sPathCPP'\MACROS;'sPathCPP'\BND;' 2457 call EnvAddFront fRM, 'help', sPathCPP'\HELP;'sPathCPP'\SAMPLES\TOOLKIT\HELP;' 2458 call EnvAddFront fRM, 'bookshelf', sPathCPP'\HELP;' 2459 call EnvAddFront fRM, 'somir', sPathCPP'\ETC\SOM.IR;' 2460 call EnvAddFront fRM, 'cpphelp_ini', 'C:\OS2\SYSTEM' 2461 call EnvAddFront fRM, 'locpath', sPathCPP'\LOCALE;%LOCPATH%;' 2462 call EnvAddFront fRM, 'include', sPathCPP'\INCLUDE;'sPathCPP'\INCLUDE\OS2;'sPathCPP'\INC;'sPathCPP'\INCLUDE\SOM;' 2463 call EnvAddFront fRM, 'sminclude', sPathCPP'\INCLUDE\OS2;'sPathCPP'\INCLUDE;'sPathCPP'\INCLUDE\SOM;' 2464 2465 call EnvAddFront fRM, 'vbpath', '.;'sPathCPP'\DDE4VB;' 2466 call EnvSet fRM, 'tmpdir', EnvGet('tmp') 2467 call EnvSet fRM, 'lxevfref', 'EVFELREF.INF+LPXCREF.INF' 2468 call EnvSet fRM, 'lxevfhdi', 'EVFELHDI.INF+LPEXHDI.INF' 2469 call EnvAddFront fRM, 'lpath', sPathCPP'\MACROS;' 2470 call EnvAddFront fRM, 'codelpath', sPathCPP'\CODE\MACROS;'sPathCPP'\MACROS;' 2471 call EnvSet fRM, 'clref', 'CPPCLRF.INF+CPPDAT.INF+CPPAPP.INF+CPPWIN.INF+CPPCTL.INF+CPPADV.INF+CPP2DG.INF+CPPDDE.INF+CPPDM.INF+CPPMM.INF+CPPCLRB.INF' 2472 call EnvAddFront fRM, 'ipfc', sPathCPP'\IPFC' 2473 call EnvAddFront fRM, 'lib', sPathCPP'\LIB;'sPathCPP'\DLL;' 2474 call EnvSet fRM, 'cpplocal', sPathCPP 2475 call EnvSet fRM, 'cppmain', sPathCPP 2476 call EnvSet fRM, 'cppwork', sPathCPP 2477 call EnvSet fRM, 'iwf.default_prj','CPPDFTPRJ' 2478 2479 call EnvSet fRM, 'iwf.solution_lang_support', 'CPPIBS30;ENG' 2480 call EnvSet fRM, 'vacpp_shared' 'FALSE' 2481 call EnvSet fRM, 'iwfhelp', 'IWFHDI.INF' 2482 call EnvSet fRM, 'iwfopt', sPathCPP 2483 2484 call EnvSet fRM, 'somruntime', sPathCPP'\DLL' 2485 call EnvSet fRM, 'smaddstar', '1' 2486 call EnvSet fRM, 'smemit', 'h;ih;c' 2487 call EnvSet fRM, 'sombase', sPathCPP 2488 call EnvSet fRM, 'smtmp', EnvGet('tmp') 2489 call EnvSet fRM, 'smclasses', 'WPTYPES.IDL' 2490 2491 call EnvAddFront fRM, 'helpndx', 'EPMKWHLP.NDX+CPP.NDX+CPPBRS.NDX', '+' 2492 call EnvAddFront fRM, 'ipf_keys', 'SHOWNAV' 2493 2494 /* 2495 * Verify. 2496 */ 2497 if (pos('verify', sOperation) <= 0) then 2498 return 0; 2499 if ( \CfgVerifyFile(sPathCPP'\bin\icc.exe', fQuiet), 2500 | \CfgVerifyFile(sPathCPP'\bin\ilib.exe', fQuiet), 2501 | \CfgVerifyFile(sPathCPP'\bin\ilink.exe', fQuiet), 2502 | \CfgVerifyFile(sPathCPP'\bin\icsperf.exe', fQuiet), 2503 | \CfgVerifyFile(sPathCPP'\bin\icsdebug.exe', fQuiet), 2504 | \CfgVerifyFile(sPathCPP'\bin\cppfilt.exe', fQuiet), 2505 | \CfgVerifyFile(sPathCPP'\bin\dllrname.exe', fQuiet), 2506 | \CfgVerifyFile(sPathCPP'\lib\demangl.lib', fQuiet), 2507 | \CfgVerifyFile(sPathCPP'\lib\cppom30.lib', fQuiet), 2508 | \CfgVerifyFile(sPathCPP'\lib\cppom30i.lib', fQuiet), 2509 | \CfgVerifyFile(sPathCPP'\lib\cppom30o.lib', fQuiet), 2510 | \CfgVerifyFile(sPathCPP'\lib\cppon30i.lib', fQuiet), 2511 | \CfgVerifyFile(sPathCPP'\lib\cppon30o.lib', fQuiet), 2512 | \CfgVerifyFile(sPathCPP'\lib\_doscall.lib', fQuiet), 2513 | \CfgVerifyFile(sPathCPP'\lib\_pmwin.lib', fQuiet), 2514 | \CfgVerifyFile(sPathCPP'\include\builtin.h', fQuiet), 2515 | \CfgVerifyFile(sPathCPP'\include\conio.h', fQuiet), 2516 | \CfgVerifyFile(sPathCPP'\include\ismkss.h', fQuiet), 2517 | FileExists(sPathCPP'\include\os2.h'), 2518 | FileExists(sPathCPP'\include\os2win.h'), 2519 | FileExists(sPathCPP'\include\pm.h'), 2520 | \CfgVerifyFile(sPathCPP'\include\sys\utime.h', fQuiet), 2521 | \CfgVerifyFile(sPathCPP'\help\cpplib.inf', fQuiet), 2522 ) then 2523 return 2; 2524 rc = CheckCmdOutput('syslevel '||sPathCPP||'\syslevel', 0, fQuiet, 'Version 3.00 Component ID 562201703'||'0d0a'x||'Current CSD level: CTC308'); 2525 if (rc = 0) then 2526 rc = CheckCmdOutput('syslevel '||sPathCPP||'\syslevel', 0, fQuiet, 'Version 3.00 Component ID 562201704'||'0d0a'x||'Current CSD level: CTU308'); 2527 /*if (rc = 0) then 2528 rc = CheckCmdOutput('syslevel '||sPathCPP||'\syslevel', 0, fQuiet, 'Version 3.00 Component ID 562201707'||'0d0a'x||'Current CSD level: CTV308'); 2529 if (rc = 0) then 2530 rc = CheckCmdOutput('syslevel '||sPathCPP||'\syslevel', 0, fQuiet, 'Version 3.00 Component ID 562201708'||'0d0a'x||'Current CSD level: CTD308');*/ 2531 if (rc = 0) then 2532 rc = CheckCmdOutput('syslevel '||sPathCPP||'\syslevel', 0, fQuiet, 'Version 3.00 Component ID 562201605'||'0d0a'x||'Current CSD level: CTC308'); 2533 /*if (rc = 0) then 2534 rc = CheckCmdOutput('syslevel '||sPathCPP||'\syslevel', 0, fQuiet, 'Version 3.00 Component ID 562201602'||'0d0a'x||'Current CSD level: CTO308');*/ 2535 if (rc = 0) then 2536 rc = CheckCmdOutput('icc', 0, fQuiet, 'IBM VisualAge C++ for OS/2, Version 3'); 2537 if (rc = 0) then 2538 rc = CheckCmdOutput('ilink', 16, fQuiet, 'IBM(R) Linker for OS/2(R), Version 01.08.r1a_CTC308c'); 2539 if (rc = 0) then 2540 rc = CheckCmdOutput('ilib /?', 8, fQuiet, 'IBM(R) Library Manager for OS/2(R), Version 01.00.03 cc_CTC308c'); 2541 return rc; 2542 2543 2544 2545 /* 2546 * Visual Age / C and C++ tools v3.6.5 for OS/2 2547 */ 2548 VAC365: procedure expose aCfg. aPath. sPathFile 2549 parse arg sToolId,sOperation,fRM,fQuiet 2550 2551 /* 2552 * IBM C/C++ Compiler and Tools Version 3.6.5 main directory. 2553 */ 2554 sPathCxx = PathQuery('vac365', sToolId, sOperation); 2555 if (sPathCxx = '') then 2556 return 1; 2557 /* If config operation we're done now. */ 2558 if (pos('config', sOperation) > 0) then 2559 return 0; 2560 2561 /* 2562 * Installing the environment variables. 2563 */ 2564 call EnvSet fRM, 'PATH_VAC365', sPathCxx; 2565 call EnvSet fRM, 'CCENV', 'VAC36' 2566 call EnvSet fRM, 'BUILD_ENV', 'VAC365' 2567 call EnvSet fRM, 'BUILD_PLATFORM', 'OS2' 2568 2569 call EnvSet fRM, 'cxxmain', sPathCxx; 2570 call EnvAddFront fRM, 'path', sPathCxx'\bin;' 2571 call EnvAddFront fRM, 'dpath', sPathCxx'\local;'sPathCxx'\help;' 2572 call EnvAddFront fRM, 'beginlibpath',sPathCxx'\dll;'sPathCxx'\runtime;' 2573 call EnvAddFront fRM, 'nlspath', sPathCxx'\msg\%N;' 2574 call EnvAddFront fRM, 'include', sPathCxx'\include;' 2575 call EnvAddFront fRM, 'lib', sPathCxx'\lib;' 2576 call EnvAddFront fRM, 'ipfc', sPathCxx'\ipfc;' 2577 call EnvSet fRM, 'LANG', 'en_us' 2578 call EnvSet fRM, 'CPP_DBG_LANG', 'CPP' 2579 2580 /* 2581 * Verify. 2582 */ 2583 if (pos('verify', sOperation) <= 0) then 2584 return 0; 2585 if ( \CfgVerifyFile(sPathCxx'\bin\icc.exe', fQuiet), 2586 | \CfgVerifyFile(sPathCxx'\bin\ilib.exe', fQuiet), 2587 | \CfgVerifyFile(sPathCxx'\bin\ilink.exe', fQuiet), 2588 | \CfgVerifyFile(sPathCxx'\bin\idebug.exe', fQuiet), 2589 | \CfgVerifyFile(sPathCxx'\bin\cppfilt.exe', fQuiet), 2590 | \CfgVerifyFile(sPathCxx'\bin\dllrname.exe', fQuiet), 2591 | \CfgVerifyFile(sPathCxx'\bin\cppcbe36.exe', fQuiet), 2592 | \CfgVerifyFile(sPathCxx'\lib\cpprms36.lib', fQuiet), 2593 | \CfgVerifyFile(sPathCxx'\lib\cpprmi36.lib', fQuiet), 2594 | \CfgVerifyFile(sPathCxx'\lib\cpprmo36.lib', fQuiet), 2595 | \CfgVerifyFile(sPathCxx'\lib\cpprni36.lib', fQuiet), 2596 | \CfgVerifyFile(sPathCxx'\lib\cpprds36.lib', fQuiet), 2597 | \CfgVerifyFile(sPathCxx'\include\builtin.h', fQuiet), 2598 | \CfgVerifyFile(sPathCxx'\include\conio.h', fQuiet), 2599 | \CfgVerifyFile(sPathCxx'\include\ismavl.h', fQuiet), 2600 | FileExists(sPathCxx'\include\os2.h'), 2601 | FileExists(sPathCxx'\include\os2win.h'), 2602 | FileExists(sPathCxx'\include\pm.h'), 2603 | \CfgVerifyFile(sPathCxx'\include\sys\utime.h', fQuiet), 2604 | \CfgVerifyFile(sPathCxx'\help\cpplbm36.msg', fQuiet), 2605 ) then 2606 return 2; 2607 rc = CheckCmdOutput('icc', 0, fQuiet, 'IBM* C and C++ Compilers for OS/2*, AIX* and for Windows NT**, Version 3.6'); 2608 if (rc = 0) then 2609 rc = CheckCmdOutput('ilink', 16, fQuiet, 'IBM(R) Linker for OS/2(R), Version 03.06.PPK1990125'); 2610 if (rc = 0) then 2611 rc = CheckCmdOutput('ilib /?', 0, fQuiet, 'IBM Librarian for OS/2(R) Version 03.99.PPK1990310'); 2612 if (stream(sPathCxx'\bin\cppcbe36.exe', 'c', 'query size') <> 603122) then 2613 do 2614 say 'Error!!! Get latest vac365 optimizer fixes from the OS2 Mozilla project.'; 2615 say ' http://www.mozilla.org/ports/os2/setup.html'; 2616 rc = 99; 2617 end 2618 return rc; 2619 2620 2621 /* 2622 * Visual Age for C++ v4.0 for OS/2 2623 */ 2624 VAC40: procedure expose aCfg. aPath. sPathFile 2625 parse arg sToolId,sOperation,fRM,fQuiet 2626 2627 /* 2628 * IBM VisualAge for C++ v4.0 main directory. 2629 */ 2630 sPathCPP = PathQuery('vac40', sToolId, sOperation); 2631 if (sPathCPP = '') then 2632 return 1; 2633 /* If config operation we're done now. */ 2634 if (pos('config', sOperation) > 0) then 2635 return 0; 2636 2637 /* 2638 * Installing the environment variables. 2639 */ 2640 call EnvSet fRM, 'PATH_VAC40', sPathCPP; 2641 call EnvSet fRM, 'CCENV', 'VAC40' 2642 call EnvSet fRM, 'BUILD_ENV', 'VAC40' 2643 call EnvSet fRM, 'BUILD_PLATFORM', 'OS2' 2644 2645 call EnvAddFront fRM, 'path', sPathCPP'\bin;' 2646 call EnvAddFront fRM, 'dpath', sPathCPP'\etc;'sPathCPP'\help;' 2647 call EnvAddFront fRM, 'beginlibpath',sPathCPP'\dll;'sPathCPP'\runtime;' 2648 call EnvAddFront fRM, 'help', sPathCPP'\help;' 2649 call EnvAddFront fRM, 'nlspath', sPathCPP'\msg\%N;' 2650 call EnvAddFront fRM, 'locpath', sPathCPP'\locale;'sPathCPP'\runtime\locale;' 2651 call EnvAddFront fRM, 'include', sPathCPP'\ivb;'sPathCPP'\include;' 2652 call EnvAddFront fRM, 'lib', sPathCPP'\lib;' 2653 call EnvAddFront fRM, 'ipfc', sPathCPP'\bin;' 2654 call EnvAddFront fRM, 'cpplpath4', sPathCPP'\macros;' 2655 call EnvSet fRM, 'system_ice', sPathCPP'\etc\system.ice' 2656 call EnvSet fRM, 'vbpath', sPathCPP'\ivb' 2657 call EnvSet fRM, 'vacppmain', sPathCPP; 2658 call EnvSet fRM, 'os2', '1' 2659 2660 /* 2661 * Verify. 2662 */ 2663 if (pos('verify', sOperation) <= 0) then 2664 return 0; 2665 if ( \CfgVerifyFile(sPathCPP'\bin\iccv4.exe', fQuiet), 2666 | \CfgVerifyFile(sPathCPP'\bin\ilib.exe', fQuiet), 2667 | \CfgVerifyFile(sPathCPP'\bin\ire.exe', fQuiet), 2668 | \CfgVerifyFile(sPathCPP'\bin\vacide.exe', fQuiet), 2669 | \CfgVerifyFile(sPathCPP'\bin\cppfilt.exe', fQuiet), 2670 | \CfgVerifyFile(sPathCPP'\bin\dllrname.exe', fQuiet), 2671 | \CfgVerifyFile(sPathCPP'\bin\patrace.exe', fQuiet), 2672 | \CfgVerifyFile(sPathCPP'\lib\cpprms40.lib', fQuiet), 2673 | \CfgVerifyFile(sPathCPP'\lib\cpprmi40.lib', fQuiet), 2674 | \CfgVerifyFile(sPathCPP'\lib\cpprmo40.lib', fQuiet), 2675 | \CfgVerifyFile(sPathCPP'\lib\cpprni40.lib', fQuiet), 2676 | \CfgVerifyFile(sPathCPP'\lib\cpprds40.lib', fQuiet), 2677 | \CfgVerifyFile(sPathCPP'\include\builtin.h', fQuiet), 2678 | \CfgVerifyFile(sPathCPP'\include\conio.h', fQuiet), 2679 | \CfgVerifyFile(sPathCPP'\include\ismavl.h', fQuiet), 2680 | FileExists(sPathCPP'\include\os2.h'), 2681 | FileExists(sPathCPP'\include\os2win.h'), 2682 | FileExists(sPathCPP'\include\pm.h'), 2683 | \CfgVerifyFile(sPathCPP'\include\sys\utime.h', fQuiet), 2684 | \CfgVerifyFile(sPathCPP'\help\cpplbm40.msg', fQuiet), 2685 ) then 2686 return 2; 2687 rc = CheckCmdOutput('iccv4', 0, fQuiet, 'IBM VisualAge for C++ Version 4.0 C Compiler'); 2688 if (rc = 0) then 2689 rc = CheckCmdOutput('ilib /?', 0, fQuiet, 'IBM Librarian for OS/2(R) Version 03.99.cc_981110'); /* is this really FP2?????? */ 2690 if (rc = 0) then 2691 rc = CheckCmdOutput('vacbld -?', 0, fQuiet, 'IBM(R) VisualAge(R) C++ Professional, Version 4.0 (981117)'); /* is this really FP2?????? */ 2692 return rc; 2693 2694 2695 2696 2697 /* 2698 * WarpIn 2699 */ 2700 WarpIn: procedure expose aCfg. aPath. sPathFile 2701 parse arg sToolId,sOperation,fRM,fQuiet 2702 2703 /* 2704 * WarpIn main directory. 2705 */ 2706 sPathWarpIn = PathQuery('warpin', sToolId, sOperation); 2707 if (sPathWarpIn = '') then 2708 return 1; 2709 /* If config operation we're done now. */ 2710 if (pos('config', sOperation) > 0) then 2711 return 0; 2712 2713 /* 2714 * Installing the environment variables. 2715 */ 2716 call EnvSet fRM, 'PATH_WARPIN', sPathWarpIn; 2717 call EnvAddFront fRM, 'path', sPathWarpIn';' 2718 call EnvAddFront fRM, 'beginlibpath',sPathWarpIn';' 2719 call EnvAddFront fRM, 'bookshelf', sPathWarpIn';' 2720 2721 /* 2722 * Verify. 2723 */ 2724 if (pos('verify', sOperation) <= 0) then 2725 return 0; 2726 if ( \CfgVerifyFile(sPathWarpIn'\wic.exe', fQuiet), 2727 | \CfgVerifyFile(sPathWarpIn'\wpirtl.dll', fQuiet), 2728 | \CfgVerifyFile(sPathWarpIn'\warpin.exe', fQuiet), 2729 ) then 2730 return 2; 2731 rc = CheckCmdOutput('wic', 1, fQuiet, '2002 - WarpIn archive creation and maintenance'); 2732 return rc; 2733 2734 2735 2736 /* 2737 * WatCom C/C++ v11.0 2738 */ 2739 WatComC11: procedure expose aCfg. aPath. sPathFile 2740 parse arg sToolId,sOperation,fRM,fQuiet, iBits 2741 2742 /* 2743 * Watcom C/C++ v11.0 main directory 2744 */ 2745 sPathWatcom = PathQuery('watcom11', sToolId, sOperation); 2746 if (sPathWatcom = '') then 2747 return 1; 2748 /* If config operation we're done now. */ 2749 if (pos('config', sOperation) > 0) then 2750 return 0; 2751 2752 /* 2753 * Installing the environment variables. 2754 */ 2755 call EnvSet fRM, 'PATH_WATCOM', sPathWatcom 2756 call EnvSet fRM, 'CCENV', 'WAT' 2757 call EnvSet fRM, 'BUILD_ENV', 'WAT11' 2758 if (iBits == 16) then 2759 call EnvSet fRM, 'BUILD_ENV', 'WAT11-16' 2760 call EnvSet fRM, 'BUILD_PLATFORM', 'OS2' 2761 2762 call EnvSet fRM, 'watcom', sPathWatcom 2763 call EnvAddFront fRM, 'path', sPathWatcom'\binp;'sPathWatcom'\binw;' 2764 call EnvAddFront fRM, 'beginlibpath',sPathWatcom'\binp\dll;' 2765 call EnvAddFront fRM, 'help', sPathWatcom'\binp\help;' 2766 call EnvAddEnd fRM, 'bookshelf', sPathWatcom'\binp\help;' 2767 call EnvAddFront fRM, 'include', sPathWatcom'\h;'sPathWatcom'\h\os2;'sPathWatcom'\h\nt;' 2768 call EnvAddFront fRM, 'lib', sPathWatcom'\lib386;'sPathWatcom'\lib386\os2;'sPathWatcom'\lib286;'sPathWatcom'\lib286\os2;' 2769 call EnvSet fRM, 'edpath', sPathWatcom'EDDAT;' 2770 /* 2771 rem detach %watcom%\BINP\BATSERV.EXE 2772 rem detach %watcom%\BINP\NMPBIND.EXE 2773 */ 2774 2775 /* 2776 * Verify. 2777 */ 2778 if (pos('verify', sOperation) <= 0) then 2779 return 0; 2780 if ( \CfgVerifyFile(sPathWatcom'\binp\wpp.exe', fQuiet), 2781 | \CfgVerifyFile(sPathWatcom'\binp\wcc.exe', fQuiet), 2782 | \CfgVerifyFile(sPathWatcom'\binp\wcc386.exe', fQuiet), 2783 | \CfgVerifyFile(sPathWatcom'\binp\wpp386.exe', fQuiet), 2784 | \CfgVerifyFile(sPathWatcom'\binp\wlink.exe', fQuiet), 2785 | \CfgVerifyFile(sPathWatcom'\lib286\os2\os2.lib', fQuiet), 2786 | \CfgVerifyFile(sPathWatcom'\lib386\os2\clbrdll.lib', fQuiet), 2787 | \CfgVerifyFile(sPathWatcom'\lib386\os2\clib3r.lib', fQuiet), 2788 | \CfgVerifyFile(sPathWatcom'\lib386\nt\kernel32.lib', fQuiet), 2789 | \CfgVerifyFile(sPathWatcom'\lib386\nt\clbrdll.lib', fQuiet), 2790 | \CfgVerifyFile(sPathWatcom'\lib386\nt\clib3r.lib', fQuiet), 2791 ) then 2792 return 2; 2793 rc = CheckCmdOutput('wcc', 8, fQuiet, 'Watcom C16 Optimizing Compiler Version 11.0 '||'0d0a'x); 2794 if (rc = 0) then 2795 rc = CheckCmdOutput('wpp', 8, fQuiet, 'Watcom C++16 Optimizing Compiler Version 11.0 '||'0d0a'x); 2796 if (rc = 0) then 2797 rc = CheckCmdOutput('wcc386', 8, fQuiet, 'Watcom C32 Optimizing Compiler Version 11.0 '||'0d0a'x); 2798 if (rc = 0) then 2799 rc = CheckCmdOutput('wpp386', 8, fQuiet, 'Watcom C++32 Optimizing Compiler Version 11.0 '||'0d0a'x); 2800 if (rc = 0) then 2801 rc = CheckCmdOutput('wlink form ELF', 1, fQuiet, 'WATCOM Linker Version 11.0'||'0d0a'x); 2802 return rc; 2803 2804 2805 /* 2806 * WatCom C/C++ v11.0c 2807 */ 2808 WatComC11c: procedure expose aCfg. aPath. sPathFile 2809 parse arg sToolId,sOperation,fRM,fQuiet, iBits 2810 2811 /* 2812 * Watcom C/C++ v11.0c main directory 2813 */ 2814 sPathWatcom = PathQuery('watcom11c', sToolId, sOperation); 2815 if (sPathWatcom = '') then 2816 return 1; 2817 /* If config operation we're done now. */ 2818 if (pos('config', sOperation) > 0) then 2819 return 0; 2820 2821 /* 2822 * Installing the environment variables. 2823 */ 2824 call EnvSet fRM, 'PATH_WATCOM', sPathWatcom 2825 call EnvSet fRM, 'CCENV', 'WAT' 2826 call EnvSet fRM, 'BUILD_ENV', 'WAT11C' 2827 if (iBits = 16) then 2828 call EnvSet fRM, 'BUILD_ENV', 'WAT11C-16' 2829 call EnvSet fRM, 'BUILD_PLATFORM', 'OS2' 2830 2831 call EnvSet fRM, 'watcom', sPathWatcom 2832 call EnvAddFront fRM, 'path', sPathWatcom'\binp;'sPathWatcom'\binw;' 2833 call EnvAddFront fRM, 'beginlibpath',sPathWatcom'\binp\dll;' 2834 call EnvAddFront fRM, 'help', sPathWatcom'\binp\help;' 2835 call EnvAddEnd fRM, 'bookshelf', sPathWatcom'\binp\help;' 2836 if (iBits = 16) then 2837 call EnvAddFront fRM, 'include', sPathWatcom'\h;'sPathWatcom'\h\os21x;' 2838 else 2839 call EnvAddFront fRM, 'include', sPathWatcom'\h;'sPathWatcom'\h\os2;'sPathWatcom'\h\nt;' 2840 call EnvAddFront fRM, 'lib', sPathWatcom'\lib386;'sPathWatcom'\lib386\os2;'sPathWatcom'\lib286;'sPathWatcom'\lib286\os2;' 2841 call EnvSet fRM, 'edpath', sPathWatcom'EDDAT;' 2842 /* 2843 rem detach %watcom%\BINP\BATSERV.EXE 2844 rem detach %watcom%\BINP\NMPBIND.EXE 2845 */ 2846 2847 /* 2848 * Verify. 2849 */ 2850 if (pos('verify', sOperation) <= 0) then 2851 return 0; 2852 if ( \CfgVerifyFile(sPathWatcom'\binp\wpp.exe', fQuiet), 2853 | \CfgVerifyFile(sPathWatcom'\binp\wcc.exe', fQuiet), 2854 | \CfgVerifyFile(sPathWatcom'\binp\wcc386.exe', fQuiet), 2855 | \CfgVerifyFile(sPathWatcom'\binp\wpp386.exe', fQuiet), 2856 | \CfgVerifyFile(sPathWatcom'\binp\wlink.exe', fQuiet), 2857 | \CfgVerifyFile(sPathWatcom'\lib286\os2\os2.lib', fQuiet), 2858 | \CfgVerifyFile(sPathWatcom'\lib386\os2\clbrdll.lib', fQuiet), 2859 | \CfgVerifyFile(sPathWatcom'\lib386\os2\clib3r.lib', fQuiet), 2860 | \CfgVerifyFile(sPathWatcom'\lib386\nt\kernel32.lib', fQuiet), 2861 | \CfgVerifyFile(sPathWatcom'\lib386\nt\clbrdll.lib', fQuiet), 2862 | \CfgVerifyFile(sPathWatcom'\lib386\nt\clib3r.lib', fQuiet), 2863 ) then 2864 return 2; 2865 rc = CheckCmdOutput('wcc', 8, fQuiet, 'Watcom C16 Optimizing Compiler Version 11.0c'); 2866 if (rc = 0) then 2867 rc = CheckCmdOutput('wpp', 8, fQuiet, 'Watcom C++16 Optimizing Compiler Version 11.0c'); 2868 if (rc = 0) then 2869 rc = CheckCmdOutput('wcc386', 8, fQuiet, 'Watcom C32 Optimizing Compiler Version 11.0c'); 2870 if (rc = 0) then 2871 rc = CheckCmdOutput('wpp386', 8, fQuiet, 'Watcom C++32 Optimizing Compiler Version 11.0c'); 2872 if (rc = 0) then 2873 rc = CheckCmdOutput('wlink form ELF', 1, fQuiet, 'WATCOM Linker Version 11.0c'); 2874 return rc; 2875
Note:
See TracChangeset
for help on using the changeset viewer.