1. A method for adaptively generating code for a computer program, the method comprising the steps of: comparing a feature set of the computer program and a feature set of a processor of a computer system; rebuilding the computer program based on the feature set of the processor if the comparing step indicates that the computer program requires a feature not supported by the processor.