From 2d082fa1ca25a16b60fb874e80f51ee79408e1f4 Mon Sep 17 00:00:00 2001 From: Ralf Wildenhues Date: Tue, 25 Jan 2011 20:49:50 +0100 Subject: [PATCH] docs: advise against HP-UX make due to time stamp semantics. * doc/autoconf.texi (Timestamps and Make): Document HP-UX 11.31 make issue with targets having the same time stamps as their prerequisites. * doc/install.texi (Particular Systems): Warn against using HP-UX make. Signed-off-by: Ralf Wildenhues --- ChangeLog | 10 ++++++++++ doc/autoconf.texi | 8 ++++++++ doc/install.texi | 5 +++++ 3 files changed, 23 insertions(+) diff --git a/ChangeLog b/ChangeLog index 0d7f12d4..a302c5d1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2011-01-25 Ralf Wildenhues + Eric Blake + + docs: advise against HP-UX make due to time stamp semantics. + * doc/autoconf.texi (Timestamps and Make): Document HP-UX 11.31 + make issue with targets having the same time stamps as their + prerequisites. + * doc/install.texi (Particular Systems): Warn against using + HP-UX make. + 2011-01-25 Eric Blake maint: reflect recent copyright assignments diff --git a/doc/autoconf.texi b/doc/autoconf.texi index ae601a07..61eb6f06 100644 --- a/doc/autoconf.texi +++ b/doc/autoconf.texi @@ -20287,6 +20287,14 @@ dest-stamp: src 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. + +This can cause spurious rebuilds for repeated runs of @command{make}. +This in turn can cause @command{make} to fail if it tries to rebuild +generated files in a possibly read-only source tree with tools not +present on the end-user machine. Use GNU @command{make} instead. diff --git a/doc/install.texi b/doc/install.texi index c43298b0..d397b8a8 100644 --- a/doc/install.texi +++ b/doc/install.texi @@ -261,6 +261,11 @@ use an ANSI C compiler: @noindent and if that doesn't work, install pre-built binaries of GCC for HP-UX. +HP-UX @command{make} updates targets which have the same time stamps as +their prerequisites, which makes it generally unusable when shipped +generated files such as @command{configure} are involved. Use GNU +@command{make} instead. + On OSF/1 a.k.a.@: Tru64, some versions of the default C compiler cannot parse its @code{} header file. The option @option{-nodtk} can be used as a workaround. If GNU CC is not installed, it is therefore -- 2.47.2