[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Fix remake rule-induced test failures with HP-UX make.
From: |
Ralf Wildenhues |
Subject: |
Re: Fix remake rule-induced test failures with HP-UX make. |
Date: |
Sat, 15 Jan 2011 13:55:18 +0100 |
User-agent: |
Mutt/1.5.20 (2010-08-04) |
[ adding autoconf-patches ]
* Ralf Wildenhues wrote on Sat, Jan 15, 2011 at 11:31:55AM CET:
> Quoting parts of:
> http://autobuild.josefsson.org/automake/log-201101150749395803000.txt
> I'm not quite sure why HP-UX make seems to trigger rebuild rules for
> prerequisites that have the exact time stamps as targets (in this case,
> config.status and subdir Makefile, but I also tried with a reduced
> makefile), but it is not Posix conforming. Working around it properly
> would probably require sleeping inside config.status (an obvious no-go),
> and in practice it should not do more harm than updating some rules more
> than necessary.
Found it documented in HP-UX/IA 11.31 make(1):
If no target names are specified on the command line, make updates the
first target in the (first) makefile that is not an inference rule. A
target is updated in two cases: firstly, if it depends on files that
are newer than the target; secondly, if it depends on files that have
same modification time as that of the target. Missing files are
deemed to be out-of-date. [...]
Anybody have a support contract to report this Posix violation upstream?
OK to commit?
Thanks,
Ralf
docs: HP-UX make remakes targets with same time stamps as prereqs
* doc/autoconf.texi (Timestamps and Make): Document HP-UX 11.31
make issue with targets having the same time stamps as their
prerequisites.
Signed-off-by: Ralf Wildenhues <address@hidden>
diff --git a/doc/autoconf.texi b/doc/autoconf.texi
index 9f5494e..81664e4 100644
--- a/doc/autoconf.texi
+++ b/doc/autoconf.texi
@@ -20183,7 +20183,9 @@ Timestamps and Make
date >dest-stamp
@end example
-
+Apart from timestamp resolution, there are also differences in handling
+equal timestamps. HP-UX @command{make} updates targets if it has the
+same time stamp as one of its prerequisites, in violation of Posix rules.
@c ======================================== Portable C and C++ Programming