Module Name:    src
Committed By:   uebayasi
Date:           Tue Sep  1 12:10:56 UTC 2015

Modified Files:
        src/usr.bin/config: defs.h files.c mkmakefile.c

Log Message:
Use per-suffix lists where appropriate.


To generate a diff of this commit:
cvs rdiff -u -r1.77 -r1.78 src/usr.bin/config/defs.h
cvs rdiff -u -r1.22 -r1.23 src/usr.bin/config/files.c
cvs rdiff -u -r1.53 -r1.54 src/usr.bin/config/mkmakefile.c

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.77 src/usr.bin/config/defs.h:1.78
--- src/usr.bin/config/defs.h:1.77	Tue Sep  1 11:35:46 2015
+++ src/usr.bin/config/defs.h	Tue Sep  1 12:10:56 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: defs.h,v 1.77 2015/09/01 11:35:46 uebayasi Exp $	*/
+/*	$NetBSD: defs.h,v 1.78 2015/09/01 12:10:56 uebayasi Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993
@@ -481,8 +481,6 @@ struct filelist		allfiles;	/* list of al
 struct filelist		allcfiles;	/* list of all .c files */
 struct filelist		allsfiles;	/* list of all .S files */
 struct filelist		allofiles;	/* list of all .o files */
-TAILQ_HEAD(, files)	allobjects;	/* list of all kernel object and
-					   library files */
 
 SLIST_HEAD(, prefix)	prefixes,	/* prefix stack */
 			allprefixes;	/* all prefixes used (after popped) */

Index: src/usr.bin/config/files.c
diff -u src/usr.bin/config/files.c:1.22 src/usr.bin/config/files.c:1.23
--- src/usr.bin/config/files.c:1.22	Tue Sep  1 11:22:59 2015
+++ src/usr.bin/config/files.c	Tue Sep  1 12:10:56 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: files.c,v 1.22 2015/09/01 11:22:59 uebayasi Exp $	*/
+/*	$NetBSD: files.c,v 1.23 2015/09/01 12:10:56 uebayasi Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993
@@ -45,7 +45,7 @@
 #endif
 
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: files.c,v 1.22 2015/09/01 11:22:59 uebayasi Exp $");
+__RCSID("$NetBSD: files.c,v 1.23 2015/09/01 12:10:56 uebayasi Exp $");
 
 #include <sys/param.h>
 #include <errno.h>
@@ -85,7 +85,6 @@ initfiles(void)
 	TAILQ_INIT(&allsfiles);
 	TAILQ_INIT(&allofiles);
 	unchecked = &TAILQ_FIRST(&allfiles);
-	TAILQ_INIT(&allobjects);
 }
 
 void
@@ -177,13 +176,18 @@ addfile(const char *path, struct condexp
 		TAILQ_INSERT_TAIL(&allfiles, fi, fi_next);
 		break;
 	case 'S':
+		fi->fi_suffix = 's';
+		/* FALLTHRU */
 	case 's':
 		TAILQ_INSERT_TAIL(&allsfiles, fi, fi_snext);
 		TAILQ_INSERT_TAIL(&allfiles, fi, fi_next);
 		break;
 	case 'o':
 		TAILQ_INSERT_TAIL(&allofiles, fi, fi_snext);
-		TAILQ_INSERT_TAIL(&allobjects, fi, fi_next);
+		break;
+	default:
+		cfgxerror(fi->fi_srcfile, fi->fi_srcline,
+		    "unknown suffix");
 		break;
 	}
 	return;
@@ -331,7 +335,7 @@ fixobjects(void)
 	int err, sel; 
  
 	err = 0;
-	TAILQ_FOREACH(fi, &allobjects, fi_next) {
+	TAILQ_FOREACH(fi, &allofiles, fi_snext) {
 		/* Optional: see if it is to be included. */
 		if (fi->fi_optx != NULL) {
 			flathead = NULL;

Index: src/usr.bin/config/mkmakefile.c
diff -u src/usr.bin/config/mkmakefile.c:1.53 src/usr.bin/config/mkmakefile.c:1.54
--- src/usr.bin/config/mkmakefile.c:1.53	Tue Sep  1 11:35:46 2015
+++ src/usr.bin/config/mkmakefile.c	Tue Sep  1 12:10:56 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: mkmakefile.c,v 1.53 2015/09/01 11:35:46 uebayasi Exp $	*/
+/*	$NetBSD: mkmakefile.c,v 1.54 2015/09/01 12:10:56 uebayasi Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993
@@ -45,7 +45,7 @@
 #endif
 
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: mkmakefile.c,v 1.53 2015/09/01 11:35:46 uebayasi Exp $");
+__RCSID("$NetBSD: mkmakefile.c,v 1.54 2015/09/01 12:10:56 uebayasi Exp $");
 
 #include <sys/param.h>
 #include <ctype.h>
@@ -63,7 +63,7 @@ __RCSID("$NetBSD: mkmakefile.c,v 1.53 20
  */
 
 static void emitdefs(FILE *);
-static void emitfiles(FILE *, int, int);
+static void emitfiles(FILE *, struct filelist *, int);
 
 static void emitobjs(FILE *);
 static void emitallkobjs(FILE *);
@@ -320,7 +320,7 @@ emitobjs(FILE *fp)
 			continue;
 		fprintf(fp, "\t%s.o \\\n", fi->fi_base);
 	}
-	TAILQ_FOREACH(fi, &allobjects, fi_next) {
+	TAILQ_FOREACH(fi, &allofiles, fi_snext) {
 		if ((fi->fi_flags & FI_SEL) == 0)
 			continue;
 		putc('\t', fp);
@@ -444,29 +444,27 @@ static void
 emitcfiles(FILE *fp)
 {
 
-	emitfiles(fp, 'c', 0);
+	emitfiles(fp, &allcfiles, 'c');
 }
 
 static void
 emitsfiles(FILE *fp)
 {
 
-	emitfiles(fp, 's', 'S');
+	emitfiles(fp, &allsfiles, 's');
 }
 
 static void
-emitfiles(FILE *fp, int suffix, int upper_suffix)
+emitfiles(FILE *fp, struct filelist *filelist, int suffix)
 {
 	struct files *fi;
  	struct config *cf;
  	char swapname[100];
 
 	fprintf(fp, "%cFILES= \\\n", toupper(suffix));
-	TAILQ_FOREACH(fi, &allfiles, fi_next) {
+	TAILQ_FOREACH(fi, filelist, fi_snext) {
 		if ((fi->fi_flags & FI_SEL) == 0)
 			continue;
-		if (fi->fi_suffix != suffix && fi->fi_suffix != upper_suffix)
-			continue;
 		putc('\t', fp);
 		emitfile(fp, fi);
 		fputs(" \\\n", fp);

Reply via email to