Treat multiple

SPECIAL prog {objs,objpaths,keepsymbols} itemX

lines (where "prog" is fixed) in crunchgen configuration the same as

  SPECIAL prog {objs,objpaths,keepsymbols} item1 ... itemN

OK by David Laight
This commit is contained in:
freza 2006-10-18 21:20:44 +00:00
parent 322d0c4e0a
commit 57dc9ea382
2 changed files with 15 additions and 6 deletions

View File

@ -1,4 +1,4 @@
.\" $NetBSD: crunchgen.1,v 1.25 2004/09/25 21:47:53 wiz Exp $ .\" $NetBSD: crunchgen.1,v 1.26 2006/10/18 21:20:44 freza Exp $
.\" .\"
.\" Copyright (c) 1994 University of Maryland .\" Copyright (c) 1994 University of Maryland
.\" All Rights Reserved. .\" All Rights Reserved.
@ -207,6 +207,10 @@ Don't hide the specified symbols for
.Ar progname . .Ar progname .
Normally all externally visible symbols for Normally all externally visible symbols for
a program is hidden to avoid interference. a program is hidden to avoid interference.
Multiple
.Em keepsymbols
lines can be specified for given
.Ar progname .
.It Nm special Ar progname Nm srcdir Ar pathname .It Nm special Ar progname Nm srcdir Ar pathname
Set the source directory for Set the source directory for
.Ar progname . .Ar progname .
@ -235,6 +239,10 @@ Set the list of object files for program
This is normally calculated by constructing a temporary makefile that includes This is normally calculated by constructing a temporary makefile that includes
.Dq Nm srcdir / Pa Makefile .Dq Nm srcdir / Pa Makefile
and outputs the value of $(OBJS). and outputs the value of $(OBJS).
Multiple
.Em objs
lines can be specified for given
.Ar progname .
.It Nm special Ar progname Nm objpaths Ar full-pathname-to-object-file ... .It Nm special Ar progname Nm objpaths Ar full-pathname-to-object-file ...
Sets the pathnames of the object files for program Sets the pathnames of the object files for program
.Ar progname . .Ar progname .
@ -243,6 +251,10 @@ This is normally calculated by prepending the
pathname to each file in the pathname to each file in the
.Nm objs .Nm objs
list. list.
Multiple
.Em objpaths
lines can be specified for given
.Ar progname .
.El .El
.Pp .Pp
Only the Only the

View File

@ -1,4 +1,4 @@
/* $NetBSD: crunchgen.c,v 1.72 2006/08/26 18:17:42 christos Exp $ */ /* $NetBSD: crunchgen.c,v 1.73 2006/10/18 21:20:44 freza Exp $ */
/* /*
* Copyright (c) 1994 University of Maryland * Copyright (c) 1994 University of Maryland
* All Rights Reserved. * All Rights Reserved.
@ -38,7 +38,7 @@
#include <sys/cdefs.h> #include <sys/cdefs.h>
#if !defined(lint) #if !defined(lint)
__RCSID("$NetBSD: crunchgen.c,v 1.72 2006/08/26 18:17:42 christos Exp $"); __RCSID("$NetBSD: crunchgen.c,v 1.73 2006/10/18 21:20:44 freza Exp $");
#endif #endif
#include <stdlib.h> #include <stdlib.h>
@ -490,7 +490,6 @@ add_special(int argc, char **argv)
if (!strcmp(argv[2], "objs")) { if (!strcmp(argv[2], "objs")) {
oneobj = 0; oneobj = 0;
p->objs = NULL;
for (i = 3; i < argc; i++) for (i = 3; i < argc; i++)
add_string(&p->objs, argv[i]); add_string(&p->objs, argv[i]);
return; return;
@ -498,14 +497,12 @@ add_special(int argc, char **argv)
if (!strcmp(argv[2], "objpaths")) { if (!strcmp(argv[2], "objpaths")) {
oneobj = 0; oneobj = 0;
p->objpaths = NULL;
for (i = 3; i < argc; i++) for (i = 3; i < argc; i++)
add_string(&p->objpaths, argv[i]); add_string(&p->objpaths, argv[i]);
return; return;
} }
if (!strcmp(argv[2], "keepsymbols")) { if (!strcmp(argv[2], "keepsymbols")) {
p->keepsymbols = NULL;
for (i = 3; i < argc; i++) for (i = 3; i < argc; i++)
add_string(&p->keepsymbols, argv[i]); add_string(&p->keepsymbols, argv[i]);
return; return;