1
// CLWrapper.cpp : Calls the perl script parallelcl to perform parallel compilation
3
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
11
int wmain(int argc, wchar_t* argv[])
13
const int numArgs = 3;
16
fwprintf(stderr, L"######### im in ur IDE, compiling ur c0des ########\n");
19
wstring** args = new wstring*[numArgs];
21
args[0] = new wstring(L"sh");
22
args[1] = new wstring(L"-c");
24
args[2] = new wstring(L"\"parallelcl");
25
for (int i = 1; i < argc; ++i) {
26
args[2]->append(L" '");
27
args[2]->append(argv[i]);
29
args[2]->append(L"' ");
31
args[2]->append(L"'");
33
args[2]->append(L"\"");
35
for (unsigned i = 0; i < args[2]->length(); i++) {
36
if (args[2]->at(i) == '\\')
40
wchar_t** newArgv = new wchar_t*[numArgs + 1];
41
for (int i = 0; i < numArgs; i++)
42
newArgv[i] = (wchar_t*)args[i]->c_str();
47
fwprintf(stderr, L"exec(\"%s\", \"%s\", \"%s\", \"%s\")\n", L"sh", newArgv[0], newArgv[1], newArgv[2]);
50
return _wspawnvp(_P_WAIT, L"sh", newArgv);