Skip site navigation (1) Skip section navigation (2)

Visual Studio 2010/Windows SDK 7.1 support

From: Brar Piening <brar(at)gmx(dot)de>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Visual Studio 2010/Windows SDK 7.1 support
Date: 2011-01-03 07:19:29
Message-ID: 4D217881.9060300@gmx.de (view raw or flat)
Thread:
Lists: pgsql-hackers
Hi,

i'v created a patch enables support for building PostgreSQL with Visual 
Studio 2010 or Microsoft Windows SDK for Windows 7 and .NET Framework 4 
(Windows SDK 7.1).
You can grab it from http://www.piening.info/VS2010.patch
It only touches the .pl, .pm and .bat files in src/tools/msvc so it's 
relevant for Windows only (that's why i've left crlf line endings - is 
that actually ok or should I have converted them?).
It's diffed against current head + running "perltidy -b -bl -nsfs -naws 
-l=100 -ole=unix *.pl *.pm" as described in the README file (which seems 
not to have been run before committing Mkvcbuild.pm the last time).
It is problably neither the perfect way to introduce VS2010 support (my 
perl is better than my C but probably still not what you are used to) 
nor is it my way to try to make you officially support VS 2010. But 
perhaps it's something you could start with once you decide to upgrade 
the msvc toolchain.
The patch is necessary because M$ got rid of vcbuild in favour of 
msbuild which uses a different build file format (*.vcxproj).
It should support all use cases described in 
http://www.postgresql.org/docs/current/static/install-windows-full.html 
and builds in Windows SDK 7.0 (VS 2008 toolchain) x86 and x64 as well as 
Windows SDK 7.1 (VS 2010 toolchain) x86 and x64.
The SDK 7.1 build produces tons of warnings which are mostly macro 
redefinitions of EIDRM, EMSGSIZE, EAFNOSUPPORT, EWOULDBLOCK, ECONNRESET, 
EINPROGRESS, ENOBUFS, EPROTONOSUPPORT, ECONNREFUSED and EOPNOTSUPP which 
seem to have found their way into errno.h finally. Cutting those out of 
src\include\pg_config_os.h and src\interfaces\libpq\win32.h makes the 
project build pretty clean.
I resisted the temptation to parse them out of those files during 
Mkvcbuild::mkvcbuild as this should probably be handled by some 
preprocessor defines.
The build result passes vcregress check.
The pgsql.sln file also opens and builds in VS 2010.

I hope it is of some use.

Best regards,

Brar

Responses

pgsql-hackers by date

Next:From: Greg SmithDate: 2011-01-03 08:54:53
Subject: Re: management of large patches
Previous:From: Greg SmithDate: 2011-01-03 06:53:58
Subject: Re: Re: new patch of MERGE (merge_204) & a question about duplicated ctid

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group