postgres.git / summary / log / commit / refs

commit    992e581bff3b0984e23d3fae5e9bed62a5d226fd
Author:   Alvaro Herrera <alvherre@alvh.no-ip.org>
Date:     Fri May 05 15:05:34 2017 +0000

    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


src/tools/msvc/Mkvcbuild.pm | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm index 3028c841b3b..7a73e58e497 100644 --- a/src/tools/msvc/Mkvcbuild.pm +++ b/src/tools/msvc/Mkvcbuild.pm @@ -225,20 +225,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', [parent: 33356ad68d5d]