Add the directory where the ini file was found into the #include

search path

--HG--
extra : convert_revision : 9a6bceb931613b718bf5a561b354ba9ccb847a78
This commit is contained in:
Nathan Binkert 2003-10-25 18:19:32 -04:00
parent 2eec285391
commit ff7b6892bc

View file

@ -85,6 +85,17 @@ IniFile::loadCPP(const string &file, vector<char *> &cppArgs)
tmpf.close();
const char *cfile = file.c_str();
char *dir = basename(cfile);
char *dir_arg = NULL;
if (*dir != '.' && dir != cfile) {
string arg = "-I";
arg += dir;
dir_arg = new char[arg.size() + 1];
strcpy(dir_arg, arg.c_str());
}
#ifdef CPP_PIPE
if (pipe(fd) == -1)
return false;
@ -120,6 +131,9 @@ IniFile::loadCPP(const string &file, vector<char *> &cppArgs)
for (int i = 0; i < arg_count; i++)
args[nextArg++] = cppArgs[i];
if (dir_arg)
args[nextArg++] = dir_arg;
args[nextArg++] = filename;
args[nextArg++] = NULL;
@ -135,6 +149,8 @@ IniFile::loadCPP(const string &file, vector<char *> &cppArgs)
int retval;
waitpid(pid, &retval, 0);
delete [] dir_arg;
// check for normal completion of CPP
if (!WIFEXITED(retval) || WEXITSTATUS(retval) != 0)
return false;