Handle.CompileSourceHigh-level compilation functions.
gen_obj indicates whether we should generate object files when compiling source files. The default behaviour is not to generate them.
recompile indicates whether we should recompile files who have an object file that is already up to date. Note that this flag only applies to files that are given on the command line explicitly, not their dependencies.
compile force mp compiles module path mp using compile_with, forcing compilation of up-to-date files if force is true.
compile_file fname looks for a package configuration file for fname and compiles fname. It is the main compiling function. It is called from the main program exclusively.