Thread: Re: [COMMITTERS] pgsql/src (Makefile.global.in)
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/
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
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