Doesn't single file compilation accomplish this?