removed the limitation on number of include directories
This commit is contained in:
parent
aab8234e55
commit
b3d24d4ec2
6 changed files with 130 additions and 32 deletions
|
@ -60,7 +60,7 @@ GSRC = char.c symbol2str.c
|
||||||
|
|
||||||
# .h files generated by `make hfiles'; PLEASE KEEP THIS UP-TO-DATE!
|
# .h files generated by `make hfiles'; PLEASE KEEP THIS UP-TO-DATE!
|
||||||
GHSRC = errout.h idfsize.h ifdepth.h lapbuf.h \
|
GHSRC = errout.h idfsize.h ifdepth.h lapbuf.h \
|
||||||
maxincl.h nparams.h numsize.h obufsize.h \
|
nparams.h numsize.h obufsize.h \
|
||||||
parbufsize.h pathlength.h strsize.h textsize.h \
|
parbufsize.h pathlength.h strsize.h textsize.h \
|
||||||
botch_free.h debug.h inputtype.h dobits.h line_prefix.h
|
botch_free.h debug.h inputtype.h dobits.h line_prefix.h
|
||||||
|
|
||||||
|
@ -141,26 +141,112 @@ clean:
|
||||||
rm -f $(LCSRC) $(OBJ) $(GENERATED) $(GSRC) $(GHSRC) chtab.o chtab cpp Out
|
rm -f $(LCSRC) $(OBJ) $(GENERATED) $(GSRC) $(GHSRC) chtab.o chtab cpp Out
|
||||||
|
|
||||||
#AUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTO
|
#AUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTO
|
||||||
LLlex.o: LLlex.h Lpars.h bits.h charoffset.h class.h dobits.h file_info.h idf.h idfsize.h input.h inputtype.h numsize.h strsize.h
|
LLlex.o: LLlex.h
|
||||||
LLmessage.o: LLlex.h Lpars.h file_info.h
|
LLlex.o: Lpars.h
|
||||||
|
LLlex.o: bits.h
|
||||||
|
LLlex.o: charoffset.h
|
||||||
|
LLlex.o: class.h
|
||||||
|
LLlex.o: dobits.h
|
||||||
|
LLlex.o: file_info.h
|
||||||
|
LLlex.o: idf.h
|
||||||
|
LLlex.o: idfsize.h
|
||||||
|
LLlex.o: input.h
|
||||||
|
LLlex.o: inputtype.h
|
||||||
|
LLlex.o: numsize.h
|
||||||
|
LLlex.o: strsize.h
|
||||||
|
LLmessage.o: LLlex.h
|
||||||
|
LLmessage.o: Lpars.h
|
||||||
|
LLmessage.o: file_info.h
|
||||||
ch7bin.o: Lpars.h
|
ch7bin.o: Lpars.h
|
||||||
ch7mon.o: Lpars.h
|
ch7mon.o: Lpars.h
|
||||||
domacro.o: LLlex.h Lpars.h bits.h botch_free.h charoffset.h class.h debug.h dobits.h file_info.h idf.h idfsize.h ifdepth.h input.h inputtype.h interface.h macro.h nparams.h parbufsize.h textsize.h
|
domacro.o: LLlex.h
|
||||||
error.o: LLlex.h errout.h file_info.h
|
domacro.o: Lpars.h
|
||||||
|
domacro.o: bits.h
|
||||||
|
domacro.o: botch_free.h
|
||||||
|
domacro.o: charoffset.h
|
||||||
|
domacro.o: class.h
|
||||||
|
domacro.o: debug.h
|
||||||
|
domacro.o: dobits.h
|
||||||
|
domacro.o: file_info.h
|
||||||
|
domacro.o: idf.h
|
||||||
|
domacro.o: idfsize.h
|
||||||
|
domacro.o: ifdepth.h
|
||||||
|
domacro.o: input.h
|
||||||
|
domacro.o: inputtype.h
|
||||||
|
domacro.o: interface.h
|
||||||
|
domacro.o: macro.h
|
||||||
|
domacro.o: nparams.h
|
||||||
|
domacro.o: parbufsize.h
|
||||||
|
domacro.o: textsize.h
|
||||||
|
error.o: LLlex.h
|
||||||
|
error.o: errout.h
|
||||||
|
error.o: file_info.h
|
||||||
idf.o: idf.h
|
idf.o: idf.h
|
||||||
init.o: charoffset.h class.h idf.h interface.h macro.h
|
init.o: charoffset.h
|
||||||
input.o: file_info.h input.h inputtype.h
|
init.o: class.h
|
||||||
main.o: file_info.h idfsize.h
|
init.o: idf.h
|
||||||
options.o: charoffset.h class.h idf.h idfsize.h macro.h maxincl.h
|
init.o: interface.h
|
||||||
preprocess.o: LLlex.h bits.h charoffset.h class.h dobits.h file_info.h idf.h idfsize.h input.h inputtype.h line_prefix.h maxincl.h obufsize.h
|
init.o: macro.h
|
||||||
replace.o: LLlex.h charoffset.h class.h debug.h file_info.h idf.h input.h inputtype.h interface.h macro.h pathlength.h textsize.h
|
input.o: file_info.h
|
||||||
scan.o: charoffset.h class.h idf.h input.h inputtype.h interface.h lapbuf.h macro.h nparams.h
|
input.o: input.h
|
||||||
skip.o: LLlex.h charoffset.h class.h file_info.h input.h inputtype.h
|
input.o: inputtype.h
|
||||||
tokenname.o: LLlex.h Lpars.h file_info.h idf.h
|
main.o: file_info.h
|
||||||
|
main.o: idfsize.h
|
||||||
|
options.o: charoffset.h
|
||||||
|
options.o: class.h
|
||||||
|
options.o: idf.h
|
||||||
|
options.o: idfsize.h
|
||||||
|
options.o: macro.h
|
||||||
|
preprocess.o: LLlex.h
|
||||||
|
preprocess.o: bits.h
|
||||||
|
preprocess.o: charoffset.h
|
||||||
|
preprocess.o: class.h
|
||||||
|
preprocess.o: dobits.h
|
||||||
|
preprocess.o: file_info.h
|
||||||
|
preprocess.o: idf.h
|
||||||
|
preprocess.o: idfsize.h
|
||||||
|
preprocess.o: input.h
|
||||||
|
preprocess.o: inputtype.h
|
||||||
|
preprocess.o: line_prefix.h
|
||||||
|
preprocess.o: obufsize.h
|
||||||
|
replace.o: LLlex.h
|
||||||
|
replace.o: charoffset.h
|
||||||
|
replace.o: class.h
|
||||||
|
replace.o: debug.h
|
||||||
|
replace.o: file_info.h
|
||||||
|
replace.o: idf.h
|
||||||
|
replace.o: input.h
|
||||||
|
replace.o: inputtype.h
|
||||||
|
replace.o: interface.h
|
||||||
|
replace.o: macro.h
|
||||||
|
replace.o: pathlength.h
|
||||||
|
replace.o: textsize.h
|
||||||
|
scan.o: charoffset.h
|
||||||
|
scan.o: class.h
|
||||||
|
scan.o: idf.h
|
||||||
|
scan.o: input.h
|
||||||
|
scan.o: inputtype.h
|
||||||
|
scan.o: interface.h
|
||||||
|
scan.o: lapbuf.h
|
||||||
|
scan.o: macro.h
|
||||||
|
scan.o: nparams.h
|
||||||
|
skip.o: LLlex.h
|
||||||
|
skip.o: charoffset.h
|
||||||
|
skip.o: class.h
|
||||||
|
skip.o: file_info.h
|
||||||
|
skip.o: input.h
|
||||||
|
skip.o: inputtype.h
|
||||||
|
tokenname.o: LLlex.h
|
||||||
|
tokenname.o: Lpars.h
|
||||||
|
tokenname.o: file_info.h
|
||||||
|
tokenname.o: idf.h
|
||||||
next.o: debug.h
|
next.o: debug.h
|
||||||
expr.o: Lpars.h
|
expr.o: Lpars.h
|
||||||
tokenfile.o: Lpars.h
|
tokenfile.o: Lpars.h
|
||||||
expression.o: LLlex.h Lpars.h file_info.h
|
expression.o: LLlex.h
|
||||||
|
expression.o: Lpars.h
|
||||||
|
expression.o: file_info.h
|
||||||
Lpars.o: Lpars.h
|
Lpars.o: Lpars.h
|
||||||
char.o: charoffset.h class.h
|
char.o: charoffset.h
|
||||||
|
char.o: class.h
|
||||||
symbol2str.o: Lpars.h
|
symbol2str.o: Lpars.h
|
||||||
|
|
|
@ -24,10 +24,6 @@
|
||||||
#define IFDEPTH 256 /* maximum number of nested if-constructions */
|
#define IFDEPTH 256 /* maximum number of nested if-constructions */
|
||||||
|
|
||||||
|
|
||||||
!File: maxincl.h
|
|
||||||
#define MAXINCL 16 /* maximum number of #include directories */
|
|
||||||
|
|
||||||
|
|
||||||
!File: lapbuf.h
|
!File: lapbuf.h
|
||||||
#define LAPBUF 4096 /* size of macro actual parameter buffer */
|
#define LAPBUF 4096 /* size of macro actual parameter buffer */
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
#include "macro.h"
|
#include "macro.h"
|
||||||
#include "bits.h"
|
#include "bits.h"
|
||||||
|
|
||||||
IMPORT char *inctable[]; /* list of include directories */
|
IMPORT char **inctable; /* list of include directories */
|
||||||
IMPORT char *getwdir();
|
IMPORT char *getwdir();
|
||||||
PRIVATE char ifstack[IFDEPTH]; /* if-stack: the content of an entry is */
|
PRIVATE char ifstack[IFDEPTH]; /* if-stack: the content of an entry is */
|
||||||
/* 1 if a corresponding ELSE has been */
|
/* 1 if a corresponding ELSE has been */
|
||||||
|
|
|
@ -5,12 +5,12 @@
|
||||||
*/
|
*/
|
||||||
/* MAIN PROGRAM */
|
/* MAIN PROGRAM */
|
||||||
|
|
||||||
|
#include <alloc.h>
|
||||||
#include "file_info.h"
|
#include "file_info.h"
|
||||||
#include "idfsize.h"
|
#include "idfsize.h"
|
||||||
|
|
||||||
extern char *symbol2str();
|
extern char *symbol2str();
|
||||||
extern char *getwdir();
|
extern char *getwdir();
|
||||||
extern char *inctable[];
|
|
||||||
extern int err_occurred;
|
extern int err_occurred;
|
||||||
int idfsize = IDFSIZE;
|
int idfsize = IDFSIZE;
|
||||||
|
|
||||||
|
@ -18,6 +18,9 @@ int ifval;
|
||||||
|
|
||||||
char *prog_name;
|
char *prog_name;
|
||||||
|
|
||||||
|
extern char **inctable;
|
||||||
|
extern int inc_max, inc_total;
|
||||||
|
|
||||||
main(argc, argv)
|
main(argc, argv)
|
||||||
char *argv[];
|
char *argv[];
|
||||||
{
|
{
|
||||||
|
@ -25,6 +28,12 @@ main(argc, argv)
|
||||||
prog_name = argv[0];
|
prog_name = argv[0];
|
||||||
|
|
||||||
init_idf();
|
init_idf();
|
||||||
|
|
||||||
|
inctable = (char **) Malloc(10 * sizeof(char *));
|
||||||
|
inc_max = 10;
|
||||||
|
inc_total = 2;
|
||||||
|
inctable[0] = ".";
|
||||||
|
inctable[1] = "/usr/include";
|
||||||
init_pp(); /* initialise the preprocessor macros */
|
init_pp(); /* initialise the preprocessor macros */
|
||||||
|
|
||||||
/* Note: source file "-" indicates that the source is supplied
|
/* Note: source file "-" indicates that the source is supplied
|
||||||
|
|
|
@ -7,18 +7,15 @@
|
||||||
|
|
||||||
#include <alloc.h>
|
#include <alloc.h>
|
||||||
#include "idfsize.h"
|
#include "idfsize.h"
|
||||||
#include "maxincl.h"
|
|
||||||
#include "class.h"
|
#include "class.h"
|
||||||
#include "macro.h"
|
#include "macro.h"
|
||||||
#include "idf.h"
|
#include "idf.h"
|
||||||
|
|
||||||
char options[128]; /* one for every char */
|
char options[128]; /* one for every char */
|
||||||
int inc_pos = 1; /* place where next -I goes */
|
int inc_pos = 1; /* place where next -I goes */
|
||||||
char *inctable[MAXINCL] = { /* list for includes */
|
int inc_max;
|
||||||
".",
|
int inc_total;
|
||||||
"/usr/include",
|
char **inctable;
|
||||||
0
|
|
||||||
};
|
|
||||||
|
|
||||||
extern int idfsize;
|
extern int idfsize;
|
||||||
int txt2int();
|
int txt2int();
|
||||||
|
@ -63,15 +60,26 @@ do_option(text)
|
||||||
}
|
}
|
||||||
case 'I' : /* -Ipath : insert "path" into include list */
|
case 'I' : /* -Ipath : insert "path" into include list */
|
||||||
if (*text) {
|
if (*text) {
|
||||||
register int i = inc_pos++;
|
register int i;
|
||||||
register char *new = text;
|
register char *new = text;
|
||||||
|
|
||||||
|
if (++inc_total > inc_max) {
|
||||||
|
char **n = (char **)
|
||||||
|
Malloc((10 + inc_max) * sizeof(char *));
|
||||||
|
|
||||||
|
for (i = 0; i < inc_max; i++) {
|
||||||
|
n[i] = inctable[i];
|
||||||
|
}
|
||||||
|
free((char *) inctable);
|
||||||
|
inctable = n;
|
||||||
|
inc_max += 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
i = inc_pos++;
|
||||||
while (new) {
|
while (new) {
|
||||||
register char *tmp = inctable[i];
|
register char *tmp = inctable[i];
|
||||||
|
|
||||||
inctable[i++] = new;
|
inctable[i++] = new;
|
||||||
if (i == MAXINCL)
|
|
||||||
fatal("too many -I options");
|
|
||||||
new = tmp;
|
new = tmp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
|
|
||||||
#include <system.h>
|
#include <system.h>
|
||||||
#include "input.h"
|
#include "input.h"
|
||||||
#include "maxincl.h"
|
|
||||||
#include "obufsize.h"
|
#include "obufsize.h"
|
||||||
#include "LLlex.h"
|
#include "LLlex.h"
|
||||||
#include "class.h"
|
#include "class.h"
|
||||||
|
|
Loading…
Reference in a new issue