[SV 39203] Don't set MAKEFLAGS when restarting.

We are restarting with the original command line flags, so if we set
MAKEFLAGS as well that will cause double flags.
This commit is contained in:
Paul Smith 2013-09-15 13:30:21 -04:00
parent 3aa2aa7e82
commit 0a81d50d66
4 changed files with 29 additions and 12 deletions

View file

@ -1,3 +1,11 @@
2013-09-15 Paul Smith <psmith@gnu.org>
Fix Savannah bug #39203.
* main.c (main): Don't set MAKEFLAGS in the environment when we
restart. We have the original command line flags so keep the
original MAKEFLAGS settings as well.
2013-09-14 Paul Smith <psmith@gnu.org>
Fix Savannah bug #35248.

18
main.c
View file

@ -1887,12 +1887,14 @@ main (int argc, char **argv, char **envp)
jobserver. If !job_slots and we don't have a pipe, we can start
infinite jobs. If we see both a pipe and job_slots >0 that means the
user set -j explicitly. This is broken; in this case obey the user
(ignore the jobserver pipe for this make) but print a message. */
(ignore the jobserver pipe for this make) but print a message.
If we've restarted, we already printed this the first time. */
if (job_slots > 0)
error (NILF,
_("warning: -jN forced in submake: disabling jobserver mode."));
{
if (! restarts)
error (NILF, _("warning: -jN forced in submake: disabling jobserver mode."));
}
#ifndef WINDOWS32
/* Create a duplicate pipe, that will be closed in the SIGCHLD
handler. If this fails with EBADF, the parent has closed the pipe
@ -2279,14 +2281,6 @@ main (int argc, char **argv, char **envp)
if (master_job_slots)
job_slots = master_job_slots;
/* Reset makeflags in case they were changed. */
{
const char *pv = define_makeflags (1, 0);
char *p = alloca (CSTRLEN ("MAKEFLAGS=") + strlen (pv) + 1);
sprintf (p, "MAKEFLAGS=%s", pv);
putenv (allocated_variable_expand (p));
}
if (ISDB (DB_BASIC))
{
char **p;

View file

@ -1,3 +1,8 @@
2013-09-15 Paul Smith <psmith@gnu.org>
* scripts/options/eval: Verify --eval during restart.
Test for Savannah bug #39203.
2013-09-14 Paul Smith <psmith@gnu.org>
* scripts/features/output-sync: Verify -Orecurse properly.

View file

@ -16,4 +16,14 @@ recurse: ; @$(MAKE) -f #MAKEFILE# && echo recurse!,
run_make_test(undef, '--no-print-directory --eval=\$\(info\ eval\) recurse',
"eval\neval\nall\nrecurse");
# Make sure that --eval is handled correctly during restarting
run_make_test(q!
all: ; @echo $@
-include gen.mk
gen.mk: ; @echo > $@
!,
'--eval=\$\(info\ eval\)', "eval\neval\nall");
unlink('gen.mk');
1;