I use local::lib in exactly that way to maintain a repository on a central server for 64bit and 32bit architectures and it works fine because the architecture-specific stuff ends up in architecture-specific directories, as moritz pointed out. However, it is also true that you want to make sure that you compile on a machine that is as close to the machine on which they will run as possible. In particular, you want the same compiler to be used. At work, we have one machine to compile 64bit and one for 32bit software, which run the same version of the OS we use in production.