My preferred approach is to check the generation script into source control, and add it to Cabal's extra-source-files section. If the generated file is a standard .hs module, Cabal should add it to the sdist automatically. You might want to add a note to the README documenting how to regenerate the module, so anybody branching your code knows which file to modify. There are ways to make Cabal automatically generate a file, but they seem to assume an external preprocessor operating on a (single input file -> single output file) model. More complicated systems, such as running a separate script or (many files -> many files) don't work well. On Thu, Aug 19, 2010 at 14:00, Andrew Coppin <andrewcoppin@btinternet.com> wrote:
I'm working on a small Haskell package. One module in particular contains so much boilerplate that rather than write the code myself, I wrote a small Haskell program that autogenerates it for me.
What's the best way to package this for Cabal? Just stick the generated file in there? Or is there some (easy) way to tell Cabal how to recreate this file itself?