Break buildsystem internals out into a separate file for clarity.