On Tue, Nov 6, 2012 at 3:58 PM, Colin Sim <Colin.Sim@xxxxxxxxx> wrote: > > We would like our build system (either a dedicated server or development > machines) to be able to build our system for multiple targets, > specifically 32-bit and 64-bit variants. Our system has several > dependancies on third party open source packages. > > From experiments conducted, I know it's possible to build stand-alone > applications (.exe) for both 32-bit and 64-bit provided the dependencies > are there. Our preference is to not have both packages for both 32-bit and > 64-bit installed on all development machines. > > Is there a way to build the packages without the library dependencies they > need? That is, is there a way to specify to gcc/g++ or ld, the name of the > library and symbols it would need without the actual library? The compiler needs to have the header files. There isn't any simple fix there. If you are linking statically, the linker needs the whole library. If you are linking dynamically, the linker only needs the library symbol tables, it doesn't need the whole library. You could use objcopy to remove the code and data sections from the dynamic library, leaving the symbol table. Frankly, though, it seems error-prone. Why do not want to simply install the packages? Ian