Avoid overwriting unchanged output files in genbki.pl and Gen_fmgrtab.pl.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 1f1cd9b5ddc6e7464c1c7416bcce7007fe3bc88c
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2018-05-03T22:06:45Z
Releases: 11.0
Avoid overwriting unchanged output files in genbki.pl and Gen_fmgrtab.pl.

If a particular output file already exists with the contents it should
have, leave it alone, so that its mod timestamp is not advanced.

In builds using --enable-depend, this can avoid the need to recompile .c
files whose included files didn't actually change.  It's not clear whether
it saves much of anything for users of ccache; but the cost of doing the
file comparisons seems to be negligible, so we might as well do it.

For developers using the MSVC toolchain, this will create a regression:
msvc/Solution.pm will sometimes run genbki.pl or Gen_fmgrtab.pl
unnecessarily.  I'll look into fixing that separately.

Discussion: https://postgr.es/m/16925.1525376229@sss.pgh.pa.us

Files

PathChange+/−
src/backend/catalog/Catalog.pm modified +20 −3

Discussion