[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: HP-UX make causes autoconf timestamp issues

From: Ralf Wildenhues
Subject: Re: HP-UX make causes autoconf timestamp issues
Date: Tue, 25 Jan 2011 20:51:20 +0100
User-agent: Mutt/1.5.20 (2010-08-04)

* Eric Blake wrote on Mon, Jan 24, 2011 at 10:10:53PM CET:
> On 01/24/2011 02:00 PM, Ralf Wildenhues wrote:
> >> That is, is it only an autoconf bug,
> >> where if you fix the autoconf bug, then all other victims will be fixed?
> > 
> > No.  If you are building from a read-only tree, or, more generally, any
> > source tree that has been generated elsewhere and that is not supposed
> > to see updates, and the tree has rules that update shipped files, then
> > there are potentially problems with HP-UX make.
> All the more reason to document the issue in INSTALL.  If I'm
> understanding you correctly, disabling autom4te.cache only disables
> autoconf's contribution to the rebuild rules (others may remain, for
> things like gperf- or yacc-generated files), but we might as well start
> somewhere by documenting what we can.

You are of course completely right, thanks for persisting.

Let's drop the proposed BUGS change, add an install.texi one instead.
Together with my other hackishly written autoconf.texi patch I arrive
at this now.

Thanks, and sorry for the high noise ratio (I should also be cutting
down on cross posts again),

2011-01-25  Ralf Wildenhues  <address@hidden>
            Eric Blake  <address@hidden>

        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
        * doc/install.texi (Particular Systems): Warn against using
        HP-UX make.

diff --git a/doc/autoconf.texi b/doc/autoconf.texi
index ae601a0..61eb6f0 100644
--- a/doc/autoconf.texi
+++ b/doc/autoconf.texi
@@ -20287,6 +20287,14 @@ 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.
+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 c43298b..d397b8a 100644
--- a/doc/install.texi
+++ b/doc/install.texi
@@ -261,6 +261,11 @@ Particular Systems
 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
address@hidden instead.
 On OSF/1 a.k.a.@: Tru64, some versions of the default C compiler cannot
 parse its @code{<wchar.h>} header file.  The option @option{-nodtk} can be
 used as a workaround.  If GNU CC is not installed, it is therefore

reply via email to

[Prev in Thread] Current Thread [Next in Thread]