views:

80

answers:

4

Hello,

we are thinking about buying and setting up a new PC to use as a nightly build PC. We are planning to install Visual C++ 2005/2008, SVN etc. However we need to compile our app:

  • for 32 and 64 bit
  • on 2 different linux distros

so we think we can setup a Windows Xp/7 and use VMWare to run linuxes.

But how to build for 32 and 64 build targets on the same Windows ? Should we rather install a 64bit windows from the beginning ?

Do you have any other suggestions/best practices for dedicated build computers ?

Thanks,

Paul

+2  A: 

I'm not sure about 2005, but 2008 can compile for both x86 and x64 on a 32bit system.

Not sure what you planning on using to do the builds, but if you configure a x86 and x64 configuration in your project MSBuild works just fine.

msbuild /property:Platform=<platform target> <project or solution file>
monkey_p
x64 will be best tho, even MS is beginning to phase out 32bit, for example Windows Server 2008 R2 only comes in 64bit
monkey_p
+1  A: 

I personally would go with x64 so u can test... Plus it will obviously be faster

Anthony Greco
+2  A: 

I would be tempted to install 64-bit Windows, not necessarily so you can build 64-bit executables but because it'll allow you to use more RAM without jumping through unnecessary hoops. And being able to use more RAM means you can give the Linux build VMs more RAM, run them in parallel etc.

Timo Geusch
+3  A: 

First, separate 2 logical parts: build system architecture and physical implementation.

For example, architecture may be based on hudson: One server runs hudson and hudson manages builds on any number of other servers (running any OS'es you may need).

Now it doesn't matter if you have multiple PCs running single OS or have everything virtualized or a mix of both.

For physical implementation, I would recommend complete virtualization: it has several pros while the list of cons is basically one item - performance penalty.

Vilmantas Baranauskas