2

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

Paul
  • 2,474
  • 7
  • 33
  • 48
  • I don't think you need to target specific linux distros, but specific architectures. If both distros are i386 linuxes, you can build just one binary and pack 'em accordingly. – Spidey Dec 22 '09 at 12:39
  • I am not sure there is a common architecture which applies to multiple distros at once. Most have different gcc and standard c++ lib versions. If there is one, that would be a great simplification really. – Paul Dec 22 '09 at 20:01

4 Answers4

3

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
  • 6,596
  • 3
  • 38
  • 50
2

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
  • 2,849
  • 2
  • 19
  • 16
  • 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 Dec 22 '09 at 11:54
2

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
  • 24,095
  • 5
  • 52
  • 70
1

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