Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/usr.bin/config Avoid depending on common symbols.
details: https://anonhg.NetBSD.org/src/rev/82df23dc778c
branches: trunk
changeset: 1008800:82df23dc778c
user: joerg <joerg%NetBSD.org@localhost>
date: Fri Apr 03 19:53:41 2020 +0000
description:
Avoid depending on common symbols.
diffstat:
usr.bin/config/defs.h | 144 ++++++++++++++++++++++++++-----------------------
usr.bin/config/main.c | 76 +++++++++++++++++++++++++-
usr.bin/config/scan.l | 5 +-
3 files changed, 153 insertions(+), 72 deletions(-)
diffs (289 lines):
diff -r 20a616c1530e -r 82df23dc778c usr.bin/config/defs.h
--- a/usr.bin/config/defs.h Fri Apr 03 19:36:32 2020 +0000
+++ b/usr.bin/config/defs.h Fri Apr 03 19:53:41 2020 +0000
@@ -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 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 */
+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(, 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 */
+TAILQ_HEAD(devbasetq, devbase);
+TAILQ_HEAD(devatq, deva);
+TAILQ_HEAD(conftq, config);
+TAILQ_HEAD(devitq, devi);
+TAILQ_HEAD(devmtq, devm);
+TAILQ_HEAD(pspectq, pspec);
-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 */
+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 */
-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 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;
diff -r 20a616c1530e -r 82df23dc778c usr.bin/config/main.c
--- a/usr.bin/config/main.c Fri Apr 03 19:36:32 2020 +0000
+++ b/usr.bin/config/main.c Fri Apr 03 19:53:41 2020 +0000
@@ -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 @@
#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 */
diff -r 20a616c1530e -r 82df23dc778c usr.bin/config/scan.l
--- a/usr.bin/config/scan.l Fri Apr 03 19:36:32 2020 +0000
+++ b/usr.bin/config/scan.l Fri Apr 03 19:53:41 2020 +0000
@@ -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 getincludepath(void);
static int getcurifdef(void);
+SLIST_HEAD(, prefix) curdirs; /* curdir stack */
%}
Home |
Main Index |
Thread Index |
Old Index