All 'externals' are handled as modules.

The externals name may be changed to 'single version'. All modules that
require a single version to be statically linked against the project
must be placed in a separate repository. This is to differentiate
modules that don't play nice with others when versioning is taken into
account.