Re: [pgsql-hackers-win32] Build with Visual Studio & MSVC

From: "Magnus Hagander" <mha(at)sollentuna(dot)net>
To: "Martijn van Oosterhout" <kleptog(at)svana(dot)org>
Cc: "Christopher Kings-Lynne" <chris(dot)kings-lynne(at)calorieking(dot)com>, "Gurjeet Singh" <singh(dot)gurjeet(at)gmail(dot)com>, <pgsql-hackers(at)postgresql(dot)org>, <uniware(at)zedware(dot)org>, "Chuck McDevitt" <cmcdevitt(at)greenplum(dot)com>
Subject: Re: [pgsql-hackers-win32] Build with Visual Studio & MSVC
Date: 2006-05-05 17:46:42
Message-ID: 6BCB9D8A16AC4241919521715F4D8BCEA0F96B@algol.sollentuna.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> > You mean they have a tool that parses GNU Makefiles and generate VC
> > project files? Sure, that might be interesting. I've seen I
> think two
> > others, and tried, but they fell over badly because the pg build
> > system was too complicated. But I beleive I'm still allowed
> to loko at
> > GPL stuff and get ideas as long as I don't copy the code :-)
>
> [Note: I have no idea how much people have done on this
> already. It's just that all this talk of automatic generation
> makes me curious.
> Myself, I have no idea how VC makefile work.]
>
> Is it so hard to automatically generate the necessary info?

No. Not really :-)

> On a clean source tree, "make -n" will dump all the commands
> required to complete the build. You could probably extract
> all the info you required from there, although the directory
> changing would kill you.

Can't do that on a clean source tree, you need to ./configure first.

> So my thought is, create a number of tracing scripts, eg
> cc-trace which examine their arguments to see what needs to
> be done, recording the current directory and such. Then execute:
>
> make CC="cc-trace" LD="ld-trace" etc...
>
> And you should be able to build up a tree of what depends on
> what. This doesn't take care of the other stuff the makefile
> does though (like the generation of pg_config_paths.h, can VC
> makefile do things like that?)

Again, this requires msys and GNU make to start with. I want it to work
without those completely. And the script I have now does this just fine,
it just needs some cleanup work and the removing of a couple of
hardcoded things.
A lot of space in it right now is because I list each project manually
in the beginning (postgres, one for each binary in bin/ etc) because the
makefiles aren't entirely consistent for that. And it also gorws a bit
because the conversion procs are built a different way...

//Magnus

Browse pgsql-hackers by date

  From Date Subject
Next Message Rod Taylor 2006-05-05 17:53:06 8.1.3 and unused files
Previous Message Martijn van Oosterhout 2006-05-05 17:33:13 Re: [pgsql-hackers-win32] Build with Visual Studio & MSVC