Thread: Re: [COMMITTERS] pgsql/src (Makefile.global.in)

Re: [COMMITTERS] pgsql/src (Makefile.global.in)

From
Peter Eisentraut
Date:
Tom Lane writes:

> Perhaps the answer is to treat stamp-h as a real output file (ie,
> generated from a stamp-h.in file) rather than hacking it into place
> as an AC_OUTPUT extra command.  It looks to me like config.status
> only does the keep-the-old-timestamp bit for CONFIG_HEADERS files,
> not CONFIG_FILES files, so classifying stamp-h as the latter kind
> would make things work.

That would probably work, but I'm kind of hesitant to create an empty
input file in cvs just to serve this marginal feature.  (It wouldn't take
/dev/null because it tries to use .//dev/null.)  Moreover, the likely
candidate name stamp-h.in is sort of reserved for doing the same trickery
on autoheader, in case we ever use that.

I came up with this:

diff -c -r1.86 configure.in
*** configure.in        2001/01/01 23:10:09     1.86
--- configure.in        2001/01/02 19:20:16
***************
*** 1140,1144 ****
  ],
  [
  # Update timestamp for config.h (see Makefile.global)
! echo >src/include/stamp-h
  ])
--- 1140,1144 ----
  ],
  [
  # Update timestamp for config.h (see Makefile.global)
! test x"$CONFIG_HEADERS" != x"" && echo >src/include/stamp-h
  ])

This only updates the stamp file if config.h is actually being considered
by config.status.

--
Peter Eisentraut      peter_e@gmx.net       http://yi.org/peter-e/


Re: [COMMITTERS] pgsql/src (Makefile.global.in)

From
Tom Lane
Date:
Peter Eisentraut <peter_e@gmx.net> writes:
>   [
>   # Update timestamp for config.h (see Makefile.global)
> ! test x"$CONFIG_HEADERS" != x"" && echo >src/include/stamp-h
>   ])

> This only updates the stamp file if config.h is actually being considered
> by config.status.

Someday there will need to be a sed or grep test there to see if
config.h is actually mentioned in $CONFIG_HEADERS.  But as long as
we only have one output headerfile, it should work ...

            regards, tom lane

Re: Re: [COMMITTERS] pgsql/src (Makefile.global.in)

From
Ian Lance Taylor
Date:
Peter Eisentraut <peter_e@gmx.net> writes:

> That would probably work, but I'm kind of hesitant to create an empty
> input file in cvs just to serve this marginal feature.  (It wouldn't take
> /dev/null because it tries to use .//dev/null.)  Moreover, the likely
> candidate name stamp-h.in is sort of reserved for doing the same trickery
> on autoheader, in case we ever use that.
>
> I came up with this:
>
> diff -c -r1.86 configure.in
> *** configure.in        2001/01/01 23:10:09     1.86
> --- configure.in        2001/01/02 19:20:16
> ***************
> *** 1140,1144 ****
>   ],
>   [
>   # Update timestamp for config.h (see Makefile.global)
> ! echo >src/include/stamp-h
>   ])
> --- 1140,1144 ----
>   ],
>   [
>   # Update timestamp for config.h (see Makefile.global)
> ! test x"$CONFIG_HEADERS" != x"" && echo >src/include/stamp-h
>   ])
>
> This only updates the stamp file if config.h is actually being considered
> by config.status.

That's the usual approach.  For example, when automake is used with a
single configuration header in the same directory, it puts this in
configure:

test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h

automake handles these sorts of details automatically.

Ian