I don't think there is an issue with building GHC: If you build GHC from source for packaging, it will build and use the version of the Cabal package that it is shipped with. This will put Cabal-1.16 in the package database.  If you then build all the packages in the platform, that will build Cabal 1.18 and cabal-install 1.18 and add them to the package database as well.

This will then exactly match the template of the platform, I think.
- Mark