- milestone set to Cabal-2.0
Of course that's because it is GHC that interprets the {-# LANGUAGE CPP #-} pragma and not Cabal.
Long term I think Cabal should notice LANGUAGE pragmas. It'd allow it to check that all extensions are declared in the .cabal file and it'd allow Cabal to do the cpping itself rather than using ghc's cpp.
I'm assigning it to milestone 2.0 because it should be easy enough if we're already reading .hs files to do module chasing.