[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
CVS: cvs.openbsd.org: src
- To: source-changes_(_at_)_cvs_(_dot_)_openbsd_(_dot_)_org
- Subject: CVS: cvs.openbsd.org: src
- From: Marc Espie <espie_(_at_)_cvs_(_dot_)_openbsd_(_dot_)_org>
- Date: Sat, 24 Nov 2007 08:41:01 -0700 (MST)
CVSROOT: /cvs
Module name: src
Changes by: espie_(_at_)_cvs_(_dot_)_openbsd_(_dot_)_org 2007/11/24 08:41:01
Modified files:
usr.bin/make : gnode.h make.c suff.c suff.h targ.c targ.h
Log message:
more parallel make fixes.
Preparations to fix the engine:
- new function has_been_built(gn), that tells you what's the status of
a given node. Allows us to run Suff_FindDeps later, by updating the number
of unmade children correctly.
- take out the code that handles shell expansions in an expand_children*
set of functions, called by Suff_FindDeps, among others. These must be
called early in the engine to avoid creating bogus nodes.
Engine fixes:
- take the predecessor/successor special handling out, deal with it in
separate functions.
- don't count nodes. Explicitly track them all in a hash table (better
way to deal with non-built issues).
- don't run Suff_FindDeps at start, but just before building an actual node.
This allows make to find all dependencies correctly, as in groff.
Pfiou! now it works.
Visit your host, monkey.org