diff options
| author | Michael Paquier | 2022-07-14 02:22:49 +0000 |
|---|---|---|
| committer | Michael Paquier | 2022-07-14 02:22:49 +0000 |
| commit | 6203583b72b58272010f8d06999811ff39922acf (patch) | |
| tree | 6049f2ba855246e2200904ece3dd16cdb3e5dd0f /src/tools | |
| parent | 4ca9985957881c223b4802d309c0bbbcf8acd1c1 (diff) | |
Remove support for Visual Studio 2013
No members of the buildfarm are using this version of Visual Studio,
resulting in all the code cleaned up here as being mostly dead, and
VS2017 is the oldest version still supported.
More versions could be cut, but the gain would be minimal, while
removing only VS2013 has the advantage to remove from the core code all
the dependencies on the value defined by _MSC_VER, where compatibility
tweaks have accumulated across the years mostly around locales and
strtof(), so that's a nice isolated cleanup.
Note that this commit additionally allows a revert of 3154e16. The
versions of Visual Studio now supported range from 2015 to 2022.
Author: Michael Paquier
Reviewed-by: Juan José SantamarÃa Flecha, Tom Lane, Thomas Munro, Justin
Pryzby
Discussion: https://postgr.es/m/YoH2IMtxcS3ncWn+@paquier.xyz
Diffstat (limited to 'src/tools')
| -rw-r--r-- | src/tools/msvc/MSBuildProject.pm | 27 | ||||
| -rw-r--r-- | src/tools/msvc/README | 8 | ||||
| -rw-r--r-- | src/tools/msvc/Solution.pm | 28 | ||||
| -rw-r--r-- | src/tools/msvc/VSObjectFactory.pm | 12 |
4 files changed, 7 insertions, 68 deletions
diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm index f24d9e53482..62acdda3a19 100644 --- a/src/tools/msvc/MSBuildProject.pm +++ b/src/tools/msvc/MSBuildProject.pm @@ -4,7 +4,7 @@ package MSBuildProject; # -# Package that encapsulates a MSBuild project file (Visual C++ 2013 or greater) +# Package that encapsulates a MSBuild project file (Visual C++ 2015 or greater) # # src/tools/msvc/MSBuildProject.pm # @@ -405,31 +405,6 @@ EOF return; } -package VC2013Project; - -# -# Package that encapsulates a Visual C++ 2013 project file -# - -use strict; -use warnings; -use base qw(MSBuildProject); - -no warnings qw(redefine); ## no critic - -sub new -{ - my $classname = shift; - my $self = $classname->SUPER::_new(@_); - bless($self, $classname); - - $self->{vcver} = '12.00'; - $self->{PlatformToolset} = 'v120'; - $self->{ToolsVersion} = '12.0'; - - return $self; -} - package VC2015Project; # diff --git a/src/tools/msvc/README b/src/tools/msvc/README index 473d6f425b2..1c36925258e 100644 --- a/src/tools/msvc/README +++ b/src/tools/msvc/README @@ -4,7 +4,7 @@ MSVC build ========== This directory contains the tools required to build PostgreSQL using -Microsoft Visual Studio 2013 - 2022. This builds the whole backend, not just +Microsoft Visual Studio 2015 - 2022. This builds the whole backend, not just the libpq frontend library. For more information, see the documentation chapter "Installation on Windows" and the description below. @@ -67,7 +67,7 @@ Install.pm module containing the install logic Mkvcbuild.pm module containing the code to generate the Visual Studio build (project/solution) files MSBuildProject.pm module containing the code to generate MSBuild based - project files (Visual Studio 2013 or greater) + project files (Visual Studio 2015 or greater) Project.pm module containing the common code to generate the Visual Studio project files. Also provides the common interface of all project file generators @@ -88,10 +88,10 @@ config_default.pl to create the configuration arguments. These configuration arguments are passed over to Mkvcbuild::mkvcbuild (Mkvcbuild.pm) which creates the Visual Studio project and solution files. It does this by using VSObjectFactory::CreateSolution to create an object -implementing the Solution interface (this could be either VS2013Solution, +implementing the Solution interface (this could be either VS2015Solution, VS2017Solution, VS2019Solution or VS2022Solution, all in Solution.pm, depending on the user's build environment) and adding objects -implementing the corresponding Project interface (VC2013Project, +implementing the corresponding Project interface ( VC2015Project, VC2017Project, VC2019Project or VC2022Project from MSBuildProject.pm) to it. When Solution::Save is called, the implementations of Solution and Project save their content in the appropriate format. diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm index a9dd6045344..fa32dc371dc 100644 --- a/src/tools/msvc/Solution.pm +++ b/src/tools/msvc/Solution.pm @@ -1263,34 +1263,6 @@ sub GetFakeConfigure return $cfg; } -package VS2013Solution; - -# -# Package that encapsulates a Visual Studio 2013 solution file -# - -use Carp; -use strict; -use warnings; -use base qw(Solution); - -no warnings qw(redefine); ## no critic - -sub new -{ - my $classname = shift; - my $self = $classname->SUPER::_new(@_); - bless($self, $classname); - - $self->{solutionFileVersion} = '12.00'; - $self->{vcver} = '12.00'; - $self->{visualStudioName} = 'Visual Studio 2013'; - $self->{VisualStudioVersion} = '12.0.21005.1'; - $self->{MinimumVisualStudioVersion} = '10.0.40219.1'; - - return $self; -} - package VS2015Solution; # diff --git a/src/tools/msvc/VSObjectFactory.pm b/src/tools/msvc/VSObjectFactory.pm index 9f9712b7935..975ccf2ee56 100644 --- a/src/tools/msvc/VSObjectFactory.pm +++ b/src/tools/msvc/VSObjectFactory.pm @@ -33,11 +33,7 @@ sub CreateSolution $visualStudioVersion = DetermineVisualStudioVersion(); } - if ($visualStudioVersion eq '12.00') - { - return new VS2013Solution(@_); - } - elsif ($visualStudioVersion eq '14.00') + if ($visualStudioVersion eq '14.00') { return new VS2015Solution(@_); } @@ -87,11 +83,7 @@ sub CreateProject $visualStudioVersion = DetermineVisualStudioVersion(); } - if ($visualStudioVersion eq '12.00') - { - return new VC2013Project(@_); - } - elsif ($visualStudioVersion eq '14.00') + if ($visualStudioVersion eq '14.00') { return new VC2015Project(@_); } |
