Compiling software