summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlvaro Herrera2017-05-05 15:05:34 +0000
committerAlvaro Herrera2017-05-05 15:05:34 +0000
commitf692583ddbe147e0071654c5e3786bb3bb646249 (patch)
treeb209de2ea27af99bd74f9d9023f2d20eeb5cb074
parentdb73b2820514620a87c4daa40d2dd8b16a214487 (diff)
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 cd18f00a1c7..57569f1f370 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',