* Split off q_platform.h from q_shared.h

* Removed lcc PATH hack and replaced with something slightly less hacky
* Removed all platform specific hostfiles from lcc and replaced with bytecode.c
  (from ankon)
* Turned lcc option "-S" on permanently
* Improved q3cpp so that it recursively adds include dirs to its list
This commit is contained in:
Tim Angus 2005-11-01 22:09:15 +00:00
parent 48683c91a8
commit 87cd6f8a93
15 changed files with 452 additions and 715 deletions

View file

@ -1,3 +1,4 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "cpp.h"
@ -6,6 +7,29 @@ Includelist includelist[NINCLUDE];
extern char *objname;
void appendDirToIncludeList( char *dir )
{
int i;
//avoid adding it more than once
for (i=NINCLUDE-2; i>=0; i--) {
if (includelist[i].file &&
!strcmp (includelist[i].file, dir)) {
return;
}
}
for (i=NINCLUDE-2; i>=0; i--) {
if (includelist[i].file==NULL) {
includelist[i].always = 1;
includelist[i].file = dir;
break;
}
}
if (i<0)
error(FATAL, "Too many -I directives");
}
void
doinclude(Tokenrow *trp)
{
@ -44,6 +68,9 @@ doinclude(Tokenrow *trp)
if (trp->tp < trp->lp || len==0)
goto syntax;
fname[len] = '\0';
appendDirToIncludeList( basepath( fname ) );
if (fname[0]=='/') {
fd = open(fname, 0);
strcpy(iname, fname);