1. A method for providing a unified binary file, comprising: providing a first binary file of a software program executable on a first hardware platform; providing a second binary file of the software program executable on a second hardware platform; providing a file including code executable on the first hardware platform and the second hardware platform that selects one of the first binary file and second binary file when executed on one of the first hardware platform and second hardware platform; and generating a unified binary file, comprising the first binary file, the second binary file, and the file.