Subject: CVS commit: basesrc
To: None <source-changes@netbsd.org>
From: Charles M. Hannum <mycroft@netbsd.org>
List: source-changes
Date: 06/11/2000 00:39:54
Module Name: basesrc
Committed By: mycroft
Date: Sun Jun 11 07:39:54 UTC 2000
Modified Files:
basesrc/usr.bin/make: make.c make.h parse.c suff.c
Log Message:
Readd optimization last night. Problems earlier were partially due to the
arguments names on one function being swapped (by a previous author).
Do not do any duplicate suppression when a source list is created. Instead:
* OP_MADE protects against trying to make the source multiple times.
* A new OP_MARK flag is introduced to suppress duplicates while expanding
the .ALLSRC variable and .USE targets.
This turns the O(n^2) insertion into O(n) in most cases.
This is tested with a `make build' and some special test cases.
To generate a diff of this commit:
cvs rdiff -r1.30 -r1.31 basesrc/usr.bin/make/make.c \
basesrc/usr.bin/make/suff.c
cvs rdiff -r1.28 -r1.29 basesrc/usr.bin/make/make.h
cvs rdiff -r1.51 -r1.52 basesrc/usr.bin/make/parse.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.