dynamic dependencies for library member targets are working again.

This commit is contained in:
matthias 2016-03-15 06:25:14 +00:00
parent 6b5e7a1e2e
commit 7215e4a264
1 changed files with 14 additions and 5 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: suff.c,v 1.79 2016/03/14 07:42:15 matthias Exp $ */
/* $NetBSD: suff.c,v 1.80 2016/03/15 06:25:14 matthias Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@ -69,14 +69,14 @@
*/
#ifndef MAKE_NATIVE
static char rcsid[] = "$NetBSD: suff.c,v 1.79 2016/03/14 07:42:15 matthias Exp $";
static char rcsid[] = "$NetBSD: suff.c,v 1.80 2016/03/15 06:25:14 matthias Exp $";
#else
#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)suff.c 8.4 (Berkeley) 3/21/94";
#else
__RCSID("$NetBSD: suff.c,v 1.79 2016/03/14 07:42:15 matthias Exp $");
__RCSID("$NetBSD: suff.c,v 1.80 2016/03/15 06:25:14 matthias Exp $");
#endif
#endif /* not lint */
#endif
@ -1894,6 +1894,7 @@ SuffFindArchiveDeps(GNode *gn, Lst slst)
TARGET, /* Must be first */
PREFIX, /* Must be second */
};
LstNode ln, nln; /* Next suffix node to check */
int i; /* Index into copy and vals */
Suff *ms; /* Suffix descriptor for member */
char *name; /* Start of member's name */
@ -1959,7 +1960,16 @@ SuffFindArchiveDeps(GNode *gn, Lst slst)
* Set $@ for compatibility with other makes
*/
Var_Set(TARGET, gn->name, gn, 0);
/*
* Now we've got the important local variables set, expand any sources
* that still contain variables or wildcards in their names.
*/
for (ln = Lst_First(gn->children); ln != NULL; ln = nln) {
nln = Lst_Succ(ln);
SuffExpandChildren(ln, gn);
}
if (ms != NULL) {
/*
* Member has a known suffix, so look for a transformation rule from
@ -1967,7 +1977,6 @@ SuffFindArchiveDeps(GNode *gn, Lst slst)
* through the entire list, we just look at suffixes to which the
* member's suffix may be transformed...
*/
LstNode ln;
SuffixCmpData sd; /* Search string data */
/*