In driver-vpi only look at the first CC word when checking compiler path.

In the MinGW version of iverilog-vpi (C version located in driver-vpi)
we must only look at the first word of the IVERILOG_VPI_CC definition.
A recent change to the configuration process made this equal to
"gcc -std=gnu99" which will not be found when looking for the
gcc executable. We nee to look for "<path>\\bin\\gcc.exe". This
patch modifies the driver to only use the first word when looking for
the compiler, but uses the full value when compiling.
(cherry picked from commit d9d8d4b093)
This commit is contained in:
Cary R 2009-10-12 19:30:01 -07:00 committed by Stephen Williams
parent 98e5e36f03
commit fd4b849091
1 changed files with 10 additions and 3 deletions

View File

@ -410,14 +410,21 @@ static int parse(int argc, char *argv[])
static void checkMingwDir(char *root) static void checkMingwDir(char *root)
{ {
int irv; int irv, len;
struct _stat stat_buf; struct _stat stat_buf;
char *path; char *path, *comp, *cp;
initDynString(&path); initDynString(&path);
assign(&path,gstr.pMINGW); assign(&path,gstr.pMINGW);
appendBackSlash(&path); appendBackSlash(&path);
append(&path,"bin\\" IVERILOG_VPI_CC ".exe"); append(&path,"bin\\");
/* Get just the compiler name (the first word) */
comp = strdup(IVERILOG_VPI_CC);
cp = strchr(comp, ' ');
if (cp != NULL) *cp = '\0';
append(&path, comp);
append(&path,".exe");
free(comp);
irv = _stat(path,&stat_buf); irv = _stat(path,&stat_buf);
deInitDynString(path); deInitDynString(path);