diff options
Diffstat (limited to 'def.h')
-rw-r--r-- | def.h | 81 |
1 files changed, 58 insertions, 23 deletions
@@ -24,22 +24,28 @@ used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from The Open Group. */ +/* $XFree86: xc/config/makedepend/def.h,v 3.14 2003/01/17 17:09:49 tsi Exp $ */ #include "Xos.h" #include "Xfuncproto.h" +#include <stdlib.h> #include <stdio.h> +#include <string.h> #include <ctype.h> +#if 0 #ifndef X_NOT_POSIX #ifndef _POSIX_SOURCE #define _POSIX_SOURCE #endif #endif +#endif #include <sys/types.h> #include <fcntl.h> #include <sys/stat.h> #define MAXDEFINES 512 #define MAXFILES 1024 +#define MAXINCFILES 128 /* "-include" files */ #define MAXDIRS 64 #define SYMTABINC 10 /* must be > 1 for define() to work right */ #define TRUE 1 @@ -61,12 +67,14 @@ in this Software without prior written authorization from The Open Group. #define SCCS 12 #define ELIF 13 #define EJECT 14 -#define WARNING 15 -#define IFFALSE 16 /* pseudo value --- never matched */ -#define ELIFFALSE 17 /* pseudo value --- never matched */ -#define INCLUDEDOT 18 /* pseudo value --- never matched */ -#define IFGUESSFALSE 19 /* pseudo value --- never matched */ -#define ELIFGUESSFALSE 20 /* pseudo value --- never matched */ +#define WARNING 15 +#define INCLUDENEXT 16 +#define IFFALSE 17 /* pseudo value --- never matched */ +#define ELIFFALSE 18 /* pseudo value --- never matched */ +#define INCLUDEDOT 19 /* pseudo value --- never matched */ +#define IFGUESSFALSE 20 /* pseudo value --- never matched */ +#define ELIFGUESSFALSE 21 /* pseudo value --- never matched */ +#define INCLUDENEXTDOT 22 /* pseudo value --- never matched */ #ifdef DEBUG extern int _debugmask; @@ -113,35 +121,62 @@ struct inclist { }; struct filepointer { + char *f_name; char *f_p; char *f_base; char *f_end; long f_len; long f_line; + long cmdinc_count; + char **cmdinc_list; + long cmdinc_line; }; -#ifndef X_NOT_STDC_ENV #include <stdlib.h> #if defined(macII) && !defined(__STDC__) /* stdlib.h fails to define these */ char *malloc(), *realloc(); #endif /* macII */ -#else -char *malloc(); -char *realloc(); -#endif -char *copy(); -char *base_name(); -char *getline(); -struct symtab **slookup(); -struct symtab **isdefined(); -struct symtab **fdefined(); -struct filepointer *getfile(); -struct inclist *newinclude(); -struct inclist *inc_path(); - -#if NeedVarargsPrototypes +char *copy(char *str); +int match(char *str, char **list); +char *base_name(char *file); +char *getnextline(struct filepointer *fp); +struct symtab **slookup(char *symbol, struct inclist *file); +struct symtab **isdefined(char *symbol, struct inclist *file, + struct inclist **srcfile); +struct symtab **fdefined(char *symbol, struct inclist *file, + struct inclist **srcfile); +struct filepointer *getfile(char *file); +void included_by(struct inclist *ip, + struct inclist *newfile); +struct inclist *newinclude(char *newfile, char *incstring); +void inc_clean (void); +struct inclist *inc_path(char *file, char *include, int type); + +void freefile(struct filepointer *fp); + +void define2(char *name, char *val, struct inclist *file); +void define(char *def, struct inclist *file); +void undefine(char *symbol, struct inclist *file); +int find_includes(struct filepointer *filep, + struct inclist *file, + struct inclist *file_red, + int recursion, boolean failOK); + +void recursive_pr_include(struct inclist *head, + char *file, char *base); +void add_include(struct filepointer *filep, + struct inclist *file, + struct inclist *file_red, + char *include, int type, + boolean failOK); + +int cppsetup(char *filename, + char *line, + struct filepointer *filep, + struct inclist *inc); + + extern void fatalerr(char *, ...); extern void warning(char *, ...); extern void warning1(char *, ...); -#endif |