aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlvaro Herrera <alvherre@alvh.no-ip.org>2017-05-05 12:05:34 -0300
committerAlvaro Herrera <alvherre@alvh.no-ip.org>2017-05-05 12:05:34 -0300
commit41ba2ca080fe98ac4dc599f1e88328b030af8ace (patch)
tree9ceec39d173d3b9cbe9b91a4efa19ca7c875f744
parent96d0f988b150aa0b52b44b8c1adbc7ef59262a1a (diff)
downloadpostgresql-41ba2ca080fe98ac4dc599f1e88328b030af8ace.tar.gz
postgresql-41ba2ca080fe98ac4dc599f1e88328b030af8ace.zip
Allow MSVC to build with Tcl 8.6.
Commit eaba54c20c5 added support for Tcl 8.6 for configure-supported platforms after verifying that pltcl works without further changes, but the MSVC tooling wasn't updated accordingly. Update MSVC to match, restructuring the code to avoid duplicating the logic for every Tcl version supported. Backpatch to all live branches, like eaba54c20c5. In 9.4 and previous, change the patch to use backslashes rather than forward, as in the rest of the file. Reported by Paresh More, who also tested the patch I provided. Discussion: https://postgr.es/m/CAAgiCNGVw3ssBtSi3ZNstrz5k00ax=UV+_ZEHUeW_LMSGL2sew@mail.gmail.com
-rw-r--r--src/tools/msvc/Mkvcbuild.pm20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm
index 304edf915f9..6085ae5a387 100644
--- a/src/tools/msvc/Mkvcbuild.pm
+++ b/src/tools/msvc/Mkvcbuild.pm
@@ -249,20 +249,24 @@ sub mkvcbuild
if ($solution->{options}->{tcl})
{
+ my $found = 0;
my $pltcl =
$solution->AddProject('pltcl', 'dll', 'PLs', 'src\pl\tcl');
$pltcl->AddIncludeDir($solution->{options}->{tcl} . '\include');
$pltcl->AddReference($postgres);
- if (-e $solution->{options}->{tcl} . '\lib\tcl85.lib')
- {
- $pltcl->AddLibrary(
- $solution->{options}->{tcl} . '\lib\tcl85.lib');
- }
- else
+
+ for my $tclver (qw(86t 85 84))
{
- $pltcl->AddLibrary(
- $solution->{options}->{tcl} . '\lib\tcl84.lib');
+ my $tcllib = $solution->{options}->{tcl} . "\\lib\\tcl$tclver.lib";
+ if (-e $tcllib)
+ {
+ $pltcl->AddLibrary($tcllib);
+ $found = 1;
+ last;
+ }
}
+ die "Unable to find $solution->{options}->{tcl}\\lib\\tcl<version>.lib"
+ unless $found;
}
$libpq = $solution->AddProject('libpq', 'dll', 'interfaces',