aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Paquier <michael@paquier.xyz>2021-05-27 20:11:29 +0900
committerMichael Paquier <michael@paquier.xyz>2021-05-27 20:11:29 +0900
commitcf2e09544d92ed479aa0b1d078b3f8665dcfdcea (patch)
treeb46217ef72a206fedd5c883c0d14b2fdbfa8217d /src
parentb1a1f775bc90e53ff9970c2087c239c342c2e7e7 (diff)
downloadpostgresql-cf2e09544d92ed479aa0b1d078b3f8665dcfdcea.tar.gz
postgresql-cf2e09544d92ed479aa0b1d078b3f8665dcfdcea.zip
Fix MSVC scripts when building with GSSAPI/Kerberos
The deliverables of upstream Kerberos on Windows are installed with paths that do not match our MSVC scripts. First, the include folder was named "inc/" in our scripts, but the upstream MSIs use "include/". Second, the build would fail with 64-bit environments as the libraries are named differently. This commit adjusts the MSVC scripts to be compatible with the latest installations of upstream, and I have checked that the compilation was able to work with the 32-bit and 64-bit installations. Special thanks to Kondo Yuta for the help in investigating the situation in hamerkop, which had an incorrect configuration for the GSS compilation. Reported-by: Brian Ye Discussion: https://postgr.es/m/162128202219.27274.12616756784952017465@wrigleys.postgresql.org Backpatch-through: 9.6
Diffstat (limited to 'src')
-rw-r--r--src/tools/msvc/Solution.pm24
1 files changed, 20 insertions, 4 deletions
diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
index c857ae88e3e..b6a043db595 100644
--- a/src/tools/msvc/Solution.pm
+++ b/src/tools/msvc/Solution.pm
@@ -695,10 +695,26 @@ sub AddProject
}
if ($self->{options}->{gss})
{
- $proj->AddIncludeDir($self->{options}->{gss} . '\inc\krb5');
- $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\krb5_32.lib');
- $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\comerr32.lib');
- $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\gssapi32.lib');
+ $proj->AddIncludeDir($self->{options}->{gss} . '\include');
+ $proj->AddIncludeDir($self->{options}->{gss} . '\include\krb5');
+ if ($self->{platform} eq 'Win32')
+ {
+ $proj->AddLibrary(
+ $self->{options}->{gss} . '\lib\i386\krb5_32.lib');
+ $proj->AddLibrary(
+ $self->{options}->{gss} . '\lib\i386\comerr32.lib');
+ $proj->AddLibrary(
+ $self->{options}->{gss} . '\lib\i386\gssapi32.lib');
+ }
+ else
+ {
+ $proj->AddLibrary(
+ $self->{options}->{gss} . '\lib\amd64\krb5_64.lib');
+ $proj->AddLibrary(
+ $self->{options}->{gss} . '\lib\amd64\comerr64.lib');
+ $proj->AddLibrary(
+ $self->{options}->{gss} . '\lib\amd64\gssapi64.lib');
+ }
}
if ($self->{options}->{iconv})
{