Reduce CPP by making platform-specific modules.

Also, set halvm flag to default false. The behavior is inverse to what
I thought I was told - flags with no default are True and not False.