
On 03/05/07, Thomas Schilling
I once used this perl script to determine the files I was actually used (to have proper LOC stats). It uses ghc -M which usually outputs the dependencies as makefile targets, and then grep over this to get all the .hs files. If you have different file types you might want to modify this:
Sorry, maybe I didn't express myself properly. By dependencies I meant, library packages that GHC knows about. For example, if I load something simple like
import System.Posix.Files main = touchFile "example"
into GHCi and execute ":main" it prints
Loading package unix-1.0 ... linking ... done.
But if I try the same by compiling with a ./Setup build (ie cabal) the build system complains that it "could not find X, it is a member of unix". My problem is that the only way I can get from a template cabal file to a fully working one is by iteration - add dependency to "Build-depends", recompile, fail, repeat. It's obvious GHC knows how to find all the right dependencies. It does it in GHCi. It can even be done from the command line with "--make". But can I get it to *tell* me the information that cabal needs? Cheers, Dougal.