make/tests/scripts/features
Paul Smith 9d5b5bd2f5 Fix problems with losing tokens in the jobserver, reported by Grant
Taylor.  There are two forms of this: first, it was possible to lose
tokens when using -j and -l at the same time, because waiting jobs were
not checked when determining whether any jobs were outstanding.  Second,
if you had an exported recursive variable that contained a $(shell ...)
function there is a possibility to lose tokens, since a token was taken
but the child list was not updated until after the shell function was
complete.

To resolve this I introduced a new variable that counted the number of
tokens we have obtained, rather than checking whether there were any
children on the list.  I also added some sanity checks to make sure we
weren't writing back too many or not enough tokens.  And, the master
make will drain the token pipe before exiting and compare the count of
tokens at the end to what was written there at the beginning.

Also:
  * Ensure a bug in the environment (missing "=") doesn't cause make to core.
  * Rename the .DEFAULT_TARGET variable to .DEFAULT_GOAL, to match the
    terminology in the documentation and other variables like MAKECMDGOALS.
  * Add documentation of the .DEFAULT_GOAL special variable.

Still need to document the secondary expansion stuff...
2005-05-03 13:57:20 +00:00
..
comments * Added the test suite to the main distribution. 1999-09-14 02:03:19 +00:00
conditionals Many bug fixes etc. 2004-01-21 06:32:59 +00:00
default_names * A few script fixes and updates for 3.78. 1999-09-17 03:15:37 +00:00
double_colon Fix a bug handling target/prerequisite names containing comment 2002-09-23 22:16:40 +00:00
echoing Various enhancements 2004-05-16 19:16:52 +00:00
errors Various enhancements 2004-05-16 19:16:52 +00:00
escape Fix a bug handling target/prerequisite names containing comment 2002-09-23 22:16:40 +00:00
export Fix a bug exporting/unexporting multiple variables in one command. 2002-09-18 20:51:58 +00:00
include Implemented dontcare flag inheritance when rebuilding makefiles. 2004-09-28 18:13:55 +00:00
mult_rules * Added the test suite to the main distribution. 1999-09-14 02:03:19 +00:00
mult_targets * Added the test suite to the main distribution. 1999-09-14 02:03:19 +00:00
order_only Various enhancements 2004-05-16 19:16:52 +00:00
override * Added the test suite to the main distribution. 1999-09-14 02:03:19 +00:00
parallelism Fix problems with losing tokens in the jobserver, reported by Grant 2005-05-03 13:57:20 +00:00
patspecific_vars * New feature: -L option 2005-02-28 07:48:22 +00:00
patternrules Fixed Savannah bug #12267. 2005-03-10 09:14:09 +00:00
quoting * Added the test suite to the main distribution. 1999-09-14 02:03:19 +00:00
recursion Flush stdout after printing directory info. 2005-02-10 00:10:57 +00:00
reinvoke Fix for complex situations where directories are declared as prerequisites. 2002-09-04 07:26:19 +00:00
se_explicit Implementation of the second expansion in explicit 2005-02-27 21:40:23 +00:00
se_implicit Fixed stem termination and stem triple-expansion bugs. 2005-03-03 17:39:48 +00:00
se_statpat Fixed stem termination and stem triple-expansion bugs. 2005-03-03 17:39:48 +00:00
statipattrules Fixed stem termination and stem triple-expansion bugs. 2005-03-03 17:39:48 +00:00
targetvars Fix bug #2238: the read.c:eval() function was not entirely reentrant. 2003-01-30 07:49:17 +00:00
varnesting * Added the test suite to the main distribution. 1999-09-14 02:03:19 +00:00
vpath * Added the test suite to the main distribution. 1999-09-14 02:03:19 +00:00
vpath2 * Added the test suite to the main distribution. 1999-09-14 02:03:19 +00:00
vpathgpath Fix for complex situations where directories are declared as prerequisites. 2002-09-04 07:26:19 +00:00
vpathplus Fix for complex situations where directories are declared as prerequisites. 2002-09-04 07:26:19 +00:00