fix Issue 11666: Separate platform support into separate files