Skip to content

Commit 8b3d528

Browse files
committed
Properly install dynloader.h on MSVC builds
This will enable PL/Java to be cleanly compiled, as dynloader.h is a requirement. Report by Chapman Flack Patch by Michael Paquier Backpatch through 9.1
1 parent fc5d5e9 commit 8b3d528

File tree

4 files changed

+12
-6
lines changed

4 files changed

+12
-6
lines changed

src/backend/utils/fmgr/dfmgr.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,7 @@
1616

1717
#include <sys/stat.h>
1818

19-
#ifndef WIN32_ONLY_COMPILER
2019
#include "dynloader.h"
21-
#else
22-
#include "port/dynloader/win32.h"
23-
#endif
2420
#include "lib/stringinfo.h"
2521
#include "miscadmin.h"
2622
#include "utils/dynamic_loader.h"

src/tools/msvc/Install.pm

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -530,7 +530,7 @@ sub CopyIncludeFiles
530530
'Public headers', $target . '/include/',
531531
'src/include/', 'postgres_ext.h',
532532
'pg_config.h', 'pg_config_ext.h',
533-
'pg_config_os.h', 'pg_config_manual.h');
533+
'pg_config_os.h', 'dynloader.h', 'pg_config_manual.h');
534534
lcopy('src/include/libpq/libpq-fs.h', $target . '/include/libpq/')
535535
|| croak 'Could not copy libpq-fs.h';
536536

@@ -553,7 +553,8 @@ sub CopyIncludeFiles
553553
CopyFiles(
554554
'Server headers',
555555
$target . '/include/server/',
556-
'src/include/', 'pg_config.h', 'pg_config_ext.h', 'pg_config_os.h');
556+
'src/include/', 'pg_config.h', 'pg_config_ext.h', 'pg_config_os.h',
557+
'dynloader.h');
557558
CopyFiles(
558559
'Grammar header',
559560
$target . '/include/server/parser/',

src/tools/msvc/Solution.pm

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,14 @@ s{PG_VERSION_STR "[^"]+"}{__STRINGIFY(x) #x\n#define __STRINGIFY2(z) __STRINGIFY
289289
'src\include\utils\fmgroids.h');
290290
}
291291

292+
if (IsNewer(
293+
'src/include/dynloader.h',
294+
'src/backend/port/dynloader/win32.h'))
295+
{
296+
copyFile('src/backend/port/dynloader/win32.h',
297+
'src/include/dynloader.h');
298+
}
299+
292300
if (IsNewer('src\include\utils\probes.h', 'src\backend\utils\probes.d'))
293301
{
294302
print "Generating probes.h...\n";

src/tools/msvc/clean.bat

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ REM Delete files created with GenerateFiles() in Solution.pm
2424
if exist src\include\pg_config.h del /q src\include\pg_config.h
2525
if exist src\include\pg_config_ext.h del /q src\include\pg_config_ext.h
2626
if exist src\include\pg_config_os.h del /q src\include\pg_config_os.h
27+
if exist src\include\dynloader.h del /q src\include\dynloader.h
2728
if %DIST%==1 if exist src\backend\parser\gram.h del /q src\backend\parser\gram.h
2829
if exist src\include\utils\errcodes.h del /q src\include\utils\errcodes.h
2930
if exist src\include\utils\fmgroids.h del /q src\include\utils\fmgroids.h

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy