mirror of
https://salsa.debian.org/srivasta/make-dfsg.git
synced 2024-12-29 00:05:59 +00:00
Incorporate Icarus Sparry's fix for 3330 and 15919, and test cases.
One of our translations disappeared from the translations site so remove it. The fdl.texi file was changed to not contain any @node entries, so add some around it in make.texi.
This commit is contained in:
parent
bb4d040fad
commit
19b6504f8a
8 changed files with 127 additions and 8 deletions
13
ChangeLog
13
ChangeLog
|
@ -1,3 +1,16 @@
|
|||
2007-08-15 Paul Smith <psmith@gnu.org>
|
||||
|
||||
* doc/make.texi (GNU Free Documentation License): The fdl.texi
|
||||
file has had the section info removed, so add some to make.texi
|
||||
before we include it.
|
||||
|
||||
2007-08-15 Icarus Sparry <savannah@icarus.freeuk.com>
|
||||
|
||||
* remake.c (check_dep): Reset the target state for intermediate
|
||||
files. They might have been considered before but not updated
|
||||
then (order-only for example) but they will be this time.
|
||||
Fixes Savannah bug #'s 3330 and 15919.
|
||||
|
||||
2007-07-13 Paul Smith <psmith@gnu.org>
|
||||
|
||||
* file.c (expand_deps): Use variable_buffer as the start of the
|
||||
|
|
|
@ -11117,9 +11117,10 @@ tar.zoo: $(SRCS) $(AUX)
|
|||
@end group
|
||||
@end example
|
||||
|
||||
@raisesections
|
||||
@node GNU Free Documentation License, Concept Index, Complex Makefile, Top
|
||||
@appendixsec GNU Free Documentation License
|
||||
@cindex FDL, GNU Free Documentation License
|
||||
@include fdl.texi
|
||||
@lowersections
|
||||
|
||||
@node Concept Index, Name Index, GNU Free Documentation License, Top
|
||||
@unnumbered Index of Concepts
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2007-08-15 Paul Smith <psmith@gnu.org>
|
||||
|
||||
* LINGUAS: The Kinyarwanda (rw) translation has disappeared from
|
||||
the translation site, so remove it.
|
||||
|
||||
2006-01-28 Paul D. Smith <psmith@gnu.org>
|
||||
|
||||
* LINGUAS: Added new translation for Vietnamese (vi).
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Set of available languages: 23 languages
|
||||
# Set of available languages: 22 languages
|
||||
|
||||
be da de es fi fr ga gl he hr id ja ko nl pl pt_BR ru rw sv tr uk vi zh_CN
|
||||
be da de es fi fr ga gl he hr id ja ko nl pl pt_BR ru sv tr uk vi zh_CN
|
||||
|
||||
# Can't seem to get en@quot and en@boldquot to build properly?
|
||||
|
|
17
remake.c
17
remake.c
|
@ -982,6 +982,12 @@ check_dep (struct file *file, unsigned int depth,
|
|||
necessary, and see whether any of them is more recent than the
|
||||
file on whose behalf we are checking. */
|
||||
struct dep *lastd;
|
||||
int deps_running = 0;
|
||||
|
||||
/* Reset this target's state so that we check it fresh. It could be
|
||||
that it's already been checked as part of an order-only
|
||||
prerequisite and so wasn't rebuilt then, but should be now. */
|
||||
set_command_state (file, cs_not_started);
|
||||
|
||||
lastd = 0;
|
||||
d = file->deps;
|
||||
|
@ -1020,14 +1026,17 @@ check_dep (struct file *file, unsigned int depth,
|
|||
|
||||
if (d->file->command_state == cs_running
|
||||
|| d->file->command_state == cs_deps_running)
|
||||
/* Record that some of FILE's deps are still being made.
|
||||
This tells the upper levels to wait on processing it until
|
||||
the commands are finished. */
|
||||
set_command_state (file, cs_deps_running);
|
||||
deps_running = 1;
|
||||
|
||||
lastd = d;
|
||||
d = d->next;
|
||||
}
|
||||
|
||||
if (deps_running)
|
||||
/* Record that some of FILE's deps are still being made.
|
||||
This tells the upper levels to wait on processing it until the
|
||||
commands are finished. */
|
||||
set_command_state (file, cs_deps_running);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,3 +1,16 @@
|
|||
2007-08-15 Paul Smith <psmith@gnu.org>
|
||||
|
||||
These test cases were contributed by
|
||||
Icarus Sparry <savannah@icarus.freeuk.com> and J. David Bryan for
|
||||
Savannah bugs #3330 and #15919.
|
||||
|
||||
* scripts/targets/SECONDARY: Add tests for Savannah bugs 3330 and
|
||||
15919.
|
||||
|
||||
* scripts/features/parallelism: Add tests for wrong answer/hang
|
||||
combining INTERMEDIATE, order-only prereqs, and parallelism.
|
||||
See Savannah bugs 3330 and 15919.
|
||||
|
||||
2007-07-13 Paul Smith <psmith@gnu.org>
|
||||
|
||||
Install a timeout so tests can never loop infinitely.
|
||||
|
|
|
@ -127,6 +127,20 @@ mod_a.o mod_b.o:
|
|||
', '-j2', '');
|
||||
|
||||
|
||||
# TEST #9 -- Savannah bugs 3330 and 15919
|
||||
# In earlier versions of make this will either give the wrong answer, or hang.
|
||||
|
||||
utouch(-10, 'target');
|
||||
run_make_test('target: intermed ; touch $@
|
||||
|
||||
.INTERMEDIATE: intermed
|
||||
intermed: | phony ; touch $@
|
||||
|
||||
.PHONY: phony
|
||||
phony: ; : phony', '-rR -j', ': phony');
|
||||
unlink('target');
|
||||
|
||||
|
||||
# Make sure that all jobserver FDs are closed if we need to re-exec the
|
||||
# master copy.
|
||||
#
|
||||
|
|
|
@ -121,5 +121,69 @@ all: version2',
|
|||
|
||||
unlink('version2');
|
||||
|
||||
# TEST #9 -- Savannah bug #15919
|
||||
# The original fix for this bug caused a new bug, shown here.
|
||||
|
||||
touch(qw(1.a 2.a));
|
||||
|
||||
run_make_test('
|
||||
%.c : %.b ; cp $< $@
|
||||
%.b : %.a ; cp $< $@
|
||||
all : 1.c 2.c', '-rR -j',
|
||||
'cp 1.a 1.b
|
||||
cp 2.a 2.b
|
||||
cp 1.b 1.c
|
||||
cp 2.b 2.c
|
||||
rm 1.b 2.b');
|
||||
|
||||
unlink(qw(1.a 2.a 1.c 2.c));
|
||||
|
||||
# TEST #10 -- Savannah bug #15919
|
||||
touch('test.0');
|
||||
run_make_test('
|
||||
.SECONDARY : test.1 test.2 test.3
|
||||
|
||||
test : test.4
|
||||
|
||||
%.4 : %.int %.3 ; touch $@
|
||||
|
||||
%.int : %.3 %.2 ; touch $@
|
||||
|
||||
%.3 : | %.2 ; touch $@
|
||||
|
||||
%.2 : %.1 ; touch $@
|
||||
|
||||
%.1 : %.0 ; touch $@', '-rR -j 2',
|
||||
'touch test.1
|
||||
touch test.2
|
||||
touch test.3
|
||||
touch test.int
|
||||
touch test.4
|
||||
rm test.int');
|
||||
|
||||
# After a touch of test.0 it should give the same output, except we don't need
|
||||
# to rebuild test.3 (order-only)
|
||||
sleep(1);
|
||||
touch('test.0');
|
||||
run_make_test(undef, '-rR -j 2',
|
||||
'touch test.1
|
||||
touch test.2
|
||||
touch test.int
|
||||
touch test.4
|
||||
rm test.int');
|
||||
|
||||
# With both test.0 and test.3 updated it should still build everything except
|
||||
# test.3
|
||||
sleep(1);
|
||||
touch('test.0', 'test.3');
|
||||
run_make_test(undef, '-rR -j 2',
|
||||
'touch test.1
|
||||
touch test.2
|
||||
touch test.int
|
||||
touch test.4
|
||||
rm test.int');
|
||||
|
||||
unlink(qw(test.0 test.1 test.2 test.3 test.4));
|
||||
|
||||
# This tells the test driver that the perl test script executed properly.
|
||||
1;
|
||||
|
|
Loading…
Reference in a new issue