--- /sys/src/cmd/cc/lex.c +++ /sys/src/cmd/cc/lex.c @@ -161,7 +161,7 @@ main(int argc, char *argv[]) int compile(char *file, char **defs, int ndef) { - char ofile[400], incfile[20]; + char ofile[400], incfile[200]; char *p, **av, opt[256]; int i, c, fd[2]; static int first = 1; @@ -199,9 +199,18 @@ compile(char *file, char **defs, int ndef) setinclude(p); } else { if(systemtype(Plan9)) { - sprint(incfile, "/%s/include", thestring); + p = getenv("ccroot"); + if(p == nil) + p = ""; + snprint(incfile, sizeof(incfile), "%s/%s/include", p, thestring); setinclude(strdup(incfile)); - setinclude("/sys/include"); + snprint(incfile, sizeof(incfile), "%s/sys/include", p); + setinclude(strdup(incfile)); + if(*p != '\0') { + snprint(incfile, sizeof(incfile), "%s/include", p); + if(myaccess(incfile) >= 0) + setinclude(strdup(incfile)); + } } } if (first)