Skip to content

Commit a194106

Browse files
committed
MSVC builds must use a separate stamp file for copying generated headers.
Commit bad51a4 tried to use a shortcut with just one stamp file recording the actions of generating the pg_*_d.h headers and copying them to the src/include/catalog/ directory. That doesn't work in all scenarios though, so we must use two stamp files like the Makefiles do. John Naylor Discussion: https://postgr.es/m/CANFyU944GdHr=puPbA78STnqr=8kgMrGF-VDHck6aO_-qNDALg@mail.gmail.com
1 parent 3dacd9b commit a194106

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

src/tools/msvc/Solution.pm

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -501,7 +501,12 @@ EOF
501501
|| confess "Could not touch bki-stamp";
502502
close($f);
503503
chdir('../../..');
504+
}
504505

506+
if (IsNewer(
507+
'src/include/catalog/header-stamp',
508+
'src/backend/catalog/bki-stamp'))
509+
{
505510
# Copy generated headers to include directory.
506511
opendir(my $dh, 'src/backend/catalog/')
507512
|| die "Can't opendir src/backend/catalog/ $!";
@@ -516,6 +521,9 @@ EOF
516521
copyFile(
517522
'src/backend/catalog/schemapg.h',
518523
'src/include/catalog/schemapg.h');
524+
open(my $chs, '>', 'src/include/catalog/header-stamp')
525+
|| confess "Could not touch header-stamp";
526+
close($chs);
519527
}
520528

521529
open(my $o, '>', "doc/src/sgml/version.sgml")

src/tools/msvc/clean.bat

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ if exist src\include\storage\lwlocknames.h del /q src\include\storage\lwlockname
4949
if exist src\include\utils\probes.h del /q src\include\utils\probes.h
5050
if exist src\include\catalog\schemapg.h del /q src\include\catalog\schemapg.h
5151
if exist src\include\catalog\pg_*_d.h del /q src\include\catalog\pg_*_d.h
52+
if exist src\include\catalog\header-stamp del /q src\include\catalog\header-stamp
5253
if exist doc\src\sgml\version.sgml del /q doc\src\sgml\version.sgml
5354

5455
if %DIST%==1 if exist src\backend\utils\fmgroids.h del /q src\backend\utils\fmgroids.h

0 commit comments

Comments
 (0)