Fix fmgroids.h not regenerated after "clean" (not "clean dist") on Windows

Started by Craig Ringerover 13 years ago2 messageshackers
Jump to latest
#1Craig Ringer
craig@2ndquadrant.com

Hi all

There's an issue with MSVC builds on Windows where clean.bat deletes
src\include\utils\fmgroids.h (as it should) but build.pl doesn't
re-create it reliably.

It's created fine on the first build because Gen_fmgrtab.pl is called if
src\backend\utils\fmgrtab.c is missing, which it is on first build.
Generating it also generates src\backend\utils\fmgroids.h, which is
copied to src\include. However, this copy isn't repeated after clean
deletes src\include\utils\fmgroids.h .

"clean dist" is fine, since it deletes fmgrtab.c too, causing the whole
thing to be re-generated.

The attached patch fixes the issue.

--
Craig Ringer

Attachments:

0001-Win32-replace-fmgroids.h-if-removed-by-clean.bat.patchtext/plain; charset=windows-1252; name=0001-Win32-replace-fmgroids.h-if-removed-by-clean.bat.patchDownload+3-1
#2Magnus Hagander
magnus@hagander.net
In reply to: Craig Ringer (#1)
Re: Fix fmgroids.h not regenerated after "clean" (not "clean dist") on Windows

On Wed, Dec 12, 2012 at 8:07 AM, Craig Ringer <craig@2ndquadrant.com> wrote:

Hi all

There's an issue with MSVC builds on Windows where clean.bat deletes
src\include\utils\fmgroids.h (as it should) but build.pl doesn't
re-create it reliably.

It's created fine on the first build because Gen_fmgrtab.pl is called if
src\backend\utils\fmgrtab.c is missing, which it is on first build.
Generating it also generates src\backend\utils\fmgroids.h, which is
copied to src\include. However, this copy isn't repeated after clean
deletes src\include\utils\fmgroids.h .

"clean dist" is fine, since it deletes fmgrtab.c too, causing the whole
thing to be re-generated.

The attached patch fixes the issue.

Looks good to me. Applied and backpatched to 9.2 - the logic appears
slightly different before that.

--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers