Re: Visual Studio 2012 RC

From: Brar Piening <brar(at)gmx(dot)de>
To: Noah Misch <noah(at)leadboat(dot)com>
Cc: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>, Magnus Hagander <magnus(at)hagander(dot)net>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Visual Studio 2012 RC
Date: 2012-10-14 21:13:46
Message-ID: 507B2B0A.2030506@gmx.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Noah Misch wrote:
> My build log filled 8.8 MiB, a large increase from the 432 KiB of the "chough"
> build log. This isn't strictly a problem, but do you happen to have ideas for
> curbing the noise?
Not yet.

> I find no functional problems with the patch, but some comment updates and
> other trivia need attention. The patch itself was reversed; it applied
> cleanly with "patch -R". I regenerated it in the usual direction for the
> portions I quote below.
>
> src/tools/msvc/MSBuildProject.pm:4:# Package that encapsulates a MSBuild (Visual C++ 2010) project file
>
> Say something like "Visual C++ 2010 or greater".
>
> src/tools/msvc/VSObjectFactory.pm:93:# we use nmake as it has existed for a long time and still exists in visual studio 2010
>
> Likewise, modify this comnent to be open-ended. If nmake ever disappears,
> we'll be updating this code and can see to change the comment.
fixed

>
>
>> *** a/doc/src/sgml/install-windows.sgml
>> --- b/doc/src/sgml/install-windows.sgml
>> ***************
>> *** 22,28 ****
>> Microsoft tools is to install a supported version of the
>> <productname>Microsoft Windows SDK</productname> and use the included
>> compiler. It is also possible to build with the full
>> ! <productname>Microsoft Visual C++ 2005, 2008 or 2010</productname>. In some cases
>> that requires the installation of the <productname>Windows SDK</productname>
>> in addition to the compiler.
>> </para>
>> --- 22,28 ----
>> Microsoft tools is to install a supported version of the
>> <productname>Microsoft Windows SDK</productname> and use the included
>> compiler. It is also possible to build with the full
>> ! <productname>Microsoft Visual C++ 2005, 2008, 2010 or 2012</productname>. In some cases
>> that requires the installation of the <productname>Windows SDK</productname>
>> in addition to the compiler.
>> </para>
> I think this paragraph should be more like the one in the next patch hunk:
> call out Visual Studio 2012 Express for Windows Desktop and Windows SDK 7.1 as
> the main recommendations. Perhaps even demote the SDK entirely and just
> recommend VS 2012. It'd odd to recommend only a past-version tool if a
> current-version tool works just as well.
fixed.

> I would write "Windows SDK 7.1" here and remove the parenthesized bit.
> There's a later mention of support for older versions.
>
>> ! (<= 7.1) or those from <productname>Visual Studio Express 2012 for Windows
>> ! Desktop</productname>, which are both free downloads from Microsoft.

fixed.

> The part ending here looks like this:
>
> <varlistentry>
> <term><productname>Microsoft Windows SDK</productname></term>
> <listitem><para>
> It is recommended that you upgrade to the latest supported version
> of the <productname>Microsoft Windows SDK</productname> (currently
> version 7.1), available for download from
> <ulink url="http://www.microsoft.com/downloads/"></>.
> </para>
> <para>
> You must always include the
> <application>Windows Headers and Libraries</application> part of the SDK.
> If you install the <productname>Windows SDK</productname>
> including the <application>Visual C++ Compilers</application>,
> you don't need <productname>Visual Studio</productname> to build.
> Note that as of Version 8.0a the Windows SDK no longer ships with a
> complete command-line build environment.
> </para></listitem>
> </varlistentry>
>
> Since SDK version 7.1 is named as the "latest supported version", I understand
> from that text that installing SDK version 8.0a along with compilers from
> another source (VS 2012 full, VS 2012 Express for Desktop) is considered
> "unsupported" as a PostgreSQL build environment. Is that your intent?
No, not really.
What I want to say is that you'll need the SDK to build postgres.
Using a Visual Studio version that ships with a supported SDK version
(full versions of VS 2005 to 2010 as well as any version of VS 2012)
will work.
On the other hand standalone SDK versions that ship with compilers will
also work.
The major gotcha here is the fact that old sdk versions ship without
compilers and old VS Express versions ship without SDK and you'll need
both to build.

I've tried to change the wording to make this more clear but perhaps
someone else (native speaker) finds a better aproach to make this clear.

>
>> *** a/src/tools/msvc/MSBuildProject.pm
>> --- b/src/tools/msvc/MSBuildProject.pm
>> ***************
>> *** 397,400 **** sub new
>> --- 397,440 ----
>> return $self;
>> }
>>
>> + package VC2012Project;
>> +
>> + #
>> + # Package that encapsulates a Visual C++ 2012 project file
>> + #
>> +
>> + use strict;
>> + use warnings;
>> + use base qw(MSBuildProject);
>> +
>> + sub new
>> + {
>> + my $classname = shift;
>> + my $self = $classname->SUPER::_new(@_);
>> + bless($self, $classname);
>> +
>> + $self->{vcver} = '11.00';
>> +
>> + return $self;
>> + }
>> +
>> + sub WriteConfigurationPropertyGroup
> Please add a comment explaining what this override does differently. (I think
> it just adds the "<PlatformToolset>" element.)
done.

Regards,
Brar

Attachment Content-Type Size
VisualStudio2012_v03.patch text/plain 14.3 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Daniel Farina 2012-10-14 21:17:46 Re: Successor of MD5 authentication, let's use SCRAM
Previous Message Tom Lane 2012-10-14 21:13:40 Re: proposal - assign result of query to psql variable