1. A method of producing a plurality of computer architecture interfaces that enable a distributed computer application to communicate with a plurality of computer architectures, comprising: providing source code written in an interface definition language; providing a compiler capable of compiling the source code and producing the plurality of computer architecture interfaces; setting at least one compiler flag to determine the plurality of computer architecture interfaces that the compiler will produce; and compiling the source code to produce the plurality of computer architecture interfaces that enable the distributed computer application to communicate with the plurality of computer architectures.