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

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

From
Craig Ringer
Date:
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

Attachment

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

From
Magnus Hagander
Date:
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 HaganderMe: http://www.hagander.net/Work: http://www.redpill-linpro.com/