Re: pgsql/src (Makefile.global.in)

From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: <pgsql-committers(at)postgresql(dot)org>
Subject: Re: pgsql/src (Makefile.global.in)
Date: 2000-12-30 00:54:17
Message-ID: Pine.LNX.4.30.0012300136400.822-100000@peter.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

tgl(at)postgresql(dot)org writes:

> stamp-h needs to be made by config.status, not elsewhere, per recipe in
> Autoconf manual.

The recipe in the Autoconf manual is broken.

Assume that config.status has been updated to be newer than config.h.
Chances are that it is also newer than Makefile.global. (Possibly because
your last cvs update fetched a new configure.) Then the make run will
first execute config.status to update Makefile.global, which will also run
the extra commands in the second argument of AC_OUTPUT. Thus, the stamp
file has been updated without any action taking place on config.h*.

(This is a very real scenario. I spent quite a bit of time figuring out
why initdb in the regression test would fail after the version upgrade to
7.1beta1. (So I guess the version cross-checking in initdb does work. :-)
) The makefiles already got the new version (and hence the shells
scripts), but config.h didn't (and therefore not the C programs).)

> In particular, touching it before creating config.status is guaranteed
> to lose.

Exactly why?

--
Peter Eisentraut peter_e(at)gmx(dot)net http://yi.org/peter-e/

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2000-12-30 00:57:29 Re: pgsql/src (Makefile.global.in)
Previous Message tgl 2000-12-30 00:50:44 pgsql/src/pl/plpgsql (enable_plpgsql)

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2000-12-30 00:57:29 Re: pgsql/src (Makefile.global.in)
Previous Message Alfred Perlstein 2000-12-30 00:41:14 Re: GNU readline and BSD license