Module Name:    src
Committed By:   joerg
Date:           Fri Apr  3 19:53:41 UTC 2020

Modified Files:
        src/usr.bin/config: defs.h main.c scan.l

Log Message:
Avoid depending on common symbols.


To generate a diff of this commit:
cvs rdiff -u -r1.105 -r1.106 src/usr.bin/config/defs.h
cvs rdiff -u -r1.99 -r1.100 src/usr.bin/config/main.c
cvs rdiff -u -r1.31 -r1.32 src/usr.bin/config/scan.l

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/config/defs.h
diff -u src/usr.bin/config/defs.h:1.105 src/usr.bin/config/defs.h:1.106
--- src/usr.bin/config/defs.h:1.105	Sat Mar  7 19:26:13 2020
+++ src/usr.bin/config/defs.h	Fri Apr  3 19:53:41 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: defs.h,v 1.105 2020/03/07 19:26:13 christos Exp $	*/
+/*	$NetBSD: defs.h,v 1.106 2020/04/03 19:53:41 joerg Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993
@@ -437,80 +437,88 @@ struct devm {
  */
 struct hashtab;
 
-int lkmmode;
-const char *conffile;		/* source file, e.g., "GENERIC.sparc" */
-const char *machine;		/* machine type, e.g., "sparc" or "sun3" */
-const char *machinearch;	/* machine arch, e.g., "sparc" or "m68k" */
-struct	nvlist *machinesubarches;
+extern int lkmmode;
+extern const char *conffile;		/* source file, e.g., "GENERIC.sparc" */
+extern const char *machine;		/* machine type, e.g., "sparc" or "sun3" */
+extern const char *machinearch;	/* machine arch, e.g., "sparc" or "m68k" */
+extern struct	nvlist *machinesubarches;
 				/* machine subarches, e.g., "sun68k" or "hpc" */
-const char *ioconfname;		/* ioconf name, mutually exclusive to machine */
-const char *srcdir;		/* path to source directory (rel. to build) */
-const char *builddir;		/* path to build directory */
-const char *defbuilddir;	/* default build directory */
-const char *ident;		/* kernel "ident"ification string */
-int	errors;			/* counts calls to error() */
-int	minmaxusers;		/* minimum "maxusers" parameter */
-int	defmaxusers;		/* default "maxusers" parameter */
-int	maxmaxusers;		/* default "maxusers" parameter */
-int	maxusers;		/* configuration's "maxusers" parameter */
-int	maxpartitions;		/* configuration's "maxpartitions" parameter */
-int	version;		/* version of the configuration file */
-struct	nvlist *options;	/* options */
-struct	nvlist *fsoptions;	/* filesystems */
-struct	nvlist *mkoptions;	/* makeoptions */
-struct	nvlist *appmkoptions;	/* appending mkoptions */
-struct	nvlist *condmkoptions;	/* conditional makeoption table */
-struct	hashtab *devbasetab;	/* devbase lookup */
-struct	hashtab *devroottab;	/* attach at root lookup */
-struct	hashtab *devatab;	/* devbase attachment lookup */
-struct	hashtab *devitab;	/* device instance lookup */
-struct	hashtab *deaddevitab;	/* removed instances lookup */
-struct	hashtab *selecttab;	/* selects things that are "optional foo" */
-struct	hashtab *needcnttab;	/* retains names marked "needs-count" */
-struct	hashtab *opttab;	/* table of configured options */
-struct	hashtab *fsopttab;	/* table of configured file systems */
-struct	dlhash *defopttab;	/* options that have been "defopt"'d */
-struct	dlhash *defflagtab;	/* options that have been "defflag"'d */
-struct	dlhash *defparamtab;	/* options that have been "defparam"'d */
-struct	dlhash *defoptlint;	/* lint values for options */
-struct	nvhash *deffstab;	/* defined file systems */
-struct	dlhash *optfiletab;	/* "defopt"'d option .h files */
-struct	hashtab *attrtab;	/* attributes (locators, etc.) */
-struct	hashtab *attrdeptab;	/* attribute dependencies */
-struct	hashtab *bdevmtab;	/* block devm lookup */
-struct	hashtab *cdevmtab;	/* character devm lookup */
-
-TAILQ_HEAD(, devbase)	allbases;	/* list of all devbase structures */
-TAILQ_HEAD(, deva)	alldevas;	/* list of all devbase attachments */
-TAILQ_HEAD(conftq, config) allcf;	/* list of configured kernels */
-TAILQ_HEAD(, devi)	alldevi,	/* list of all instances */
-			allpseudo;	/* list of all pseudo-devices */
-TAILQ_HEAD(, devm)	alldevms;	/* list of all device-majors */
-TAILQ_HEAD(, pspec)	allpspecs;	/* list of all parent specs */
-int	ndevi;				/* number of devi's (before packing) */
-int	npspecs;			/* number of parent specs */
-devmajor_t maxbdevm;			/* max number of block major */
-devmajor_t maxcdevm;			/* max number of character major */
-int	do_devsw;			/* 0 if pre-devsw config */
-int	oktopackage;			/* 0 before setmachine() */
-int	devilevel;			/* used for devi->i_level */
-
-struct filelist		allfiles;	/* list of all kernel source files */
-struct filelist		allcfiles;	/* list of all .c files */
-struct filelist		allsfiles;	/* list of all .S files */
-struct filelist		allofiles;	/* list of all .o files */
-
-struct prefixlist	prefixes,	/* prefix stack */
-			allprefixes;	/* all prefixes used (after popped) */
-struct prefixlist	buildprefixes,	/* build prefix stack */
-			allbuildprefixes;/* all build prefixes used (after popped) */
-SLIST_HEAD(, prefix)	curdirs;	/* curdir stack */
+extern const char *ioconfname;		/* ioconf name, mutually exclusive to machine */
+extern const char *srcdir;		/* path to source directory (rel. to build) */
+extern const char *builddir;		/* path to build directory */
+extern const char *defbuilddir;	/* default build directory */
+extern const char *ident;		/* kernel "ident"ification string */
+extern int	errors;			/* counts calls to error() */
+extern int	minmaxusers;		/* minimum "maxusers" parameter */
+extern int	defmaxusers;		/* default "maxusers" parameter */
+extern int	maxmaxusers;		/* default "maxusers" parameter */
+extern int	maxusers;		/* configuration's "maxusers" parameter */
+extern int	maxpartitions;		/* configuration's "maxpartitions" parameter */
+extern int	version;		/* version of the configuration file */
+extern struct	nvlist *options;	/* options */
+extern struct	nvlist *fsoptions;	/* filesystems */
+extern struct	nvlist *mkoptions;	/* makeoptions */
+extern struct	nvlist *appmkoptions;	/* appending mkoptions */
+extern struct	nvlist *condmkoptions;	/* conditional makeoption table */
+extern struct	hashtab *devbasetab;	/* devbase lookup */
+extern struct	hashtab *devroottab;	/* attach at root lookup */
+extern struct	hashtab *devatab;	/* devbase attachment lookup */
+extern struct	hashtab *devitab;	/* device instance lookup */
+extern struct	hashtab *deaddevitab;	/* removed instances lookup */
+extern struct	hashtab *selecttab;	/* selects things that are "optional foo" */
+extern struct	hashtab *needcnttab;	/* retains names marked "needs-count" */
+extern struct	hashtab *opttab;	/* table of configured options */
+extern struct	hashtab *fsopttab;	/* table of configured file systems */
+extern struct	dlhash *defopttab;	/* options that have been "defopt"'d */
+extern struct	dlhash *defflagtab;	/* options that have been "defflag"'d */
+extern struct	dlhash *defparamtab;	/* options that have been "defparam"'d */
+extern struct	dlhash *defoptlint;	/* lint values for options */
+extern struct	nvhash *deffstab;	/* defined file systems */
+extern struct	dlhash *optfiletab;	/* "defopt"'d option .h files */
+extern struct	hashtab *attrtab;	/* attributes (locators, etc.) */
+extern struct	hashtab *attrdeptab;	/* attribute dependencies */
+extern struct	hashtab *bdevmtab;	/* block devm lookup */
+extern struct	hashtab *cdevmtab;	/* character devm lookup */
+
+TAILQ_HEAD(devbasetq, devbase);
+TAILQ_HEAD(devatq, deva);
+TAILQ_HEAD(conftq, config);
+TAILQ_HEAD(devitq, devi);
+TAILQ_HEAD(devmtq, devm);
+TAILQ_HEAD(pspectq, pspec);
+
+extern struct devbasetq allbases;	/* list of all devbase structures */
+extern struct devatq alldevas;		/* list of all devbase attachments */
+extern struct conftq allcf;		/* list of configured kernels */
+extern struct devitq alldevi,		/* list of all instances */
+		     allpseudo;		/* list of all pseudo-devices */
+extern struct devmtq alldevms;		/* list of all device-majors */
+extern struct pspectq allpspecs;	/* list of all parent specs */
+extern int	ndevi;			/* number of devi's (before packing) */
+extern int	npspecs;		/* number of parent specs */
+extern devmajor_t maxbdevm;		/* max number of block major */
+extern devmajor_t maxcdevm;		/* max number of character major */
+extern int	do_devsw;		/* 0 if pre-devsw config */
+extern int	oktopackage;		/* 0 before setmachine() */
+extern int	devilevel;		/* used for devi->i_level */
+
+extern struct filelist		allfiles;	/* list of all kernel source files */
+extern struct filelist		allcfiles;	/* list of all .c files */
+extern struct filelist		allsfiles;	/* list of all .S files */
+extern struct filelist		allofiles;	/* list of all .o files */
+
+extern struct prefixlist	prefixes,	/* prefix stack */
+				allprefixes;	/* all prefixes used
+						 * (after popped) */
+extern struct prefixlist	buildprefixes,	/* build prefix stack */
+				allbuildprefixes;/* all build prefixes used
+						  * (after popped) */
 
 extern struct attr allattr;
-struct	devi **packed;		/* arrayified table for packed devi's */
-size_t	npacked;		/* size of packed table, <= ndevi */
+extern struct devi **packed;	/* arrayified table for packed devi's */
+extern size_t npacked;		/* size of packed table, <= ndevi */
 
-struct {			/* loc[] table for config */
+extern struct locators {			/* loc[] table for config */
 	const char **vec;
 	int	used;
 } locators;

Index: src/usr.bin/config/main.c
diff -u src/usr.bin/config/main.c:1.99 src/usr.bin/config/main.c:1.100
--- src/usr.bin/config/main.c:1.99	Sat Mar  7 19:26:13 2020
+++ src/usr.bin/config/main.c	Fri Apr  3 19:53:41 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: main.c,v 1.99 2020/03/07 19:26:13 christos Exp $	*/
+/*	$NetBSD: main.c,v 1.100 2020/04/03 19:53:41 joerg Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993
@@ -45,7 +45,7 @@
 #endif
 
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: main.c,v 1.99 2020/03/07 19:26:13 christos Exp $");
+__RCSID("$NetBSD: main.c,v 1.100 2020/04/03 19:53:41 joerg Exp $");
 
 #ifndef MAKE_BOOTSTRAP
 #include <sys/cdefs.h>
@@ -86,6 +86,78 @@ COPYRIGHT("@(#) Copyright (c) 1992, 1993
 #define LINE_MAX 1024
 #endif
 
+struct devbasetq allbases;
+struct devatq alldevas;
+struct conftq allcf;
+struct devitq alldevi, allpseudo;
+struct devmtq alldevms;
+struct pspectq allpspecs;
+
+struct devi **packed;
+size_t npacked;
+
+struct locators locators;
+
+int lkmmode;
+const char *conffile;		/* source file, e.g., "GENERIC.sparc" */
+const char *machine;		/* machine type, e.g., "sparc" or "sun3" */
+const char *machinearch;	/* machine arch, e.g., "sparc" or "m68k" */
+struct	nvlist *machinesubarches;
+				/* machine subarches, e.g., "sun68k" or "hpc" */
+const char *ioconfname;		/* ioconf name, mutually exclusive to machine */
+const char *srcdir;		/* path to source directory (rel. to build) */
+const char *builddir;		/* path to build directory */
+const char *defbuilddir;	/* default build directory */
+const char *ident;		/* kernel "ident"ification string */
+int	errors;			/* counts calls to error() */
+int	minmaxusers;		/* minimum "maxusers" parameter */
+int	defmaxusers;		/* default "maxusers" parameter */
+int	maxmaxusers;		/* default "maxusers" parameter */
+int	maxusers;		/* configuration's "maxusers" parameter */
+int	maxpartitions;		/* configuration's "maxpartitions" parameter */
+int	version;		/* version of the configuration file */
+struct	nvlist *options;	/* options */
+struct	nvlist *fsoptions;	/* filesystems */
+struct	nvlist *mkoptions;	/* makeoptions */
+struct	nvlist *appmkoptions;	/* appending mkoptions */
+struct	nvlist *condmkoptions;	/* conditional makeoption table */
+struct	hashtab *devbasetab;	/* devbase lookup */
+struct	hashtab *devroottab;	/* attach at root lookup */
+struct	hashtab *devatab;	/* devbase attachment lookup */
+struct	hashtab *deaddevitab;	/* removed instances lookup */
+struct	hashtab *selecttab;	/* selects things that are "optional foo" */
+struct	hashtab *needcnttab;	/* retains names marked "needs-count" */
+struct	hashtab *opttab;	/* table of configured options */
+struct	hashtab *fsopttab;	/* table of configured file systems */
+struct	dlhash *defopttab;	/* options that have been "defopt"'d */
+struct	dlhash *defflagtab;	/* options that have been "defflag"'d */
+struct	dlhash *defparamtab;	/* options that have been "defparam"'d */
+struct	dlhash *defoptlint;	/* lint values for options */
+struct	nvhash *deffstab;	/* defined file systems */
+struct	dlhash *optfiletab;	/* "defopt"'d option .h files */
+struct	hashtab *attrtab;	/* attributes (locators, etc.) */
+struct	hashtab *attrdeptab;	/* attribute dependencies */
+struct	hashtab *bdevmtab;	/* block devm lookup */
+struct	hashtab *cdevmtab;	/* character devm lookup */
+
+int	ndevi;				/* number of devi's (before packing) */
+int	npspecs;			/* number of parent specs */
+devmajor_t maxbdevm;			/* max number of block major */
+devmajor_t maxcdevm;			/* max number of character major */
+int	do_devsw;			/* 0 if pre-devsw config */
+int	oktopackage;			/* 0 before setmachine() */
+int	devilevel;			/* used for devi->i_level */
+
+struct filelist		allfiles;	/* list of all kernel source files */
+struct filelist		allcfiles;	/* list of all .c files */
+struct filelist		allsfiles;	/* list of all .S files */
+struct filelist		allofiles;	/* list of all .o files */
+
+struct prefixlist	prefixes,	/* prefix stack */
+			allprefixes;	/* all prefixes used (after popped) */
+struct prefixlist	buildprefixes,	/* build prefix stack */
+			allbuildprefixes;/* all build prefixes used (after popped) */
+
 int	vflag;				/* verbose output */
 int	Pflag;				/* pack locators */
 int	Lflag;				/* lint config generation */

Index: src/usr.bin/config/scan.l
diff -u src/usr.bin/config/scan.l:1.31 src/usr.bin/config/scan.l:1.32
--- src/usr.bin/config/scan.l:1.31	Mon Mar  9 17:27:03 2020
+++ src/usr.bin/config/scan.l	Fri Apr  3 19:53:41 2020
@@ -1,5 +1,5 @@
 %{
-/*	$NetBSD: scan.l,v 1.31 2020/03/09 17:27:03 christos Exp $	*/
+/*	$NetBSD: scan.l,v 1.32 2020/04/03 19:53:41 joerg Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993
@@ -42,7 +42,7 @@
  */
 
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: scan.l,v 1.31 2020/03/09 17:27:03 christos Exp $");
+__RCSID("$NetBSD: scan.l,v 1.32 2020/04/03 19:53:41 joerg Exp $");
 
 #include <sys/param.h>
 #include <errno.h>
@@ -117,6 +117,7 @@ static int endinclude(void);
 static int getincludepath(void);
 static int getcurifdef(void);
 
+SLIST_HEAD(, prefix)	curdirs;	/* curdir stack */
 
 %}
 

Reply via email to