
Hi, Suppose I have some kind of analysis tool that I want to run on a Cabal project. The analysis tool only deals with Haskell files, so I need Cabal to generate Haskell files from CPP-enabled Haskell files, .hsc files, alex and happy files etc. I see two possible ways to do that: use Cabal as a library, or my tool to be run by Cabal as a compiler. Cabal as a library doesn't seem friendly to this kind of usage: for example, Distribution.Simple does not export things like 'configureAction'. Besides, this wouldn't work with packages that use other build-types. Extending Cabal with a new compiler is not a simple thing, either (see https://github.com/haskell/cabal/issues/57). So, any advice how to proceed? I can volunteer to improve things if someone gives directions (I'm a Cabal noob). Roman