
Hello, Is it possible to ask Cabal to just build one of the targets in the .cabal file? I have a bunch of executables in a single file, most of which are uninteresting while developing. I'd like to say: runghc Setup build blah and have "blah" built (and its dependencies, when you have the framework) but not blah2 etc. cheers peter

You can almost get that with cabal configurations and the field Buildable: [...] Flag devel Default: False [...] Executable foo if flag(devel) Buildable: False [...] With that if you pass --flags="devel" to configure the executable foo won't be built.

Andrea: On 08/04/2008, at 10:01 PM, Andrea Vezzosi wrote:
You can almost get that with cabal configurations and the field Buildable: [...] Flag devel Default: False [...] Executable foo if flag(devel) Buildable: False [...]
With that if you pass --flags="devel" to configure the executable foo won't be built.
Thanks for the advice. Coincidentally I started down that path yesterday, and it somewhat works. I have a problem with package dependencies now. I've attached the .cabal file and build -v output below. In brief: I want to build a bunch of binaries that depend more-or-less on the same packages. 'configure' goes through fine, but then Cabal does not include the packages in the 'build' step. Clearly I have to state the dependencies another way, but is there one that avoids a lot of repetition? cheers peter name: site version: 0.1 license: BSD3 license-file: ../LICENSE author: peteg42 at gmail dot com homepage: http://peteg.org/ category: Text synopsis: A Hope site description: Build binaries for a Hope site. build-type: Simple cabal-version: >= 1.2 build-depends: base, cgi, haskell98, hsql-postgresql, hope, mtl, utf8-string Flag FastCGI description: Build a Fast CGI binary. default: False Flag Import description: Build the import binaries. default: False Executable hope.cgi if flag(FastCGI) buildable: False GHC-Options: -Wall Hs-Source-Dirs: . c-sources: ghc_rts_opts.c Main-Is: Hope/CGI.hs Executable hope.fcgi if !flag(FastCGI) buildable: False else build-depends: fastcgi GHC-Options: -Wall Hs-Source-Dirs: . c-sources: ghc_rts_opts.c Main-Is: Hope/FastCGI.hs Executable elibrary if !flag(Import) buildable: False build-depends: hope-elibrary GHC-Options: -Wall Hs-Source-Dirs: . Main-Is: Import/ELibrary.hs Executable news if !flag(Import) buildable: False GHC-Options: -Wall Hs-Source-Dirs: . Main-Is: Import/News.hs Executable user if !flag(Import) buildable: False GHC-Options: -Wall Hs-Source-Dirs: . Main-Is: Import/User.hs $ runghc Setup d -v Creating dist/build (and its parents) Creating dist/build/autogen (and its parents) Preprocessing executables for site-0.1... Building site-0.1... Building executable: hope.cgi... Creating dist/build/hope.cgi (and its parents) Creating dist/build/hope.cgi/hope.cgi-tmp (and its parents) Building C Sources. Creating dist/build/hope.cgi/hope.cgi-tmp (and its parents) /usr/bin/ghc -package hope-elibrary-0.1 -optc-O2 -odir dist/build/ hope.cgi/hope.cgi-tmp -c ghc_rts_opts.c /usr/bin/ghc -o dist/build/hope.cgi/hope.cgi --make -hide-all-packages -i -idist/build/autogen -idist/build/hope.cgi/hope.cgi-tmp -i. -Idist/ build/hope.cgi/hope.cgi-tmp -odir dist/build/hope.cgi/hope.cgi-tmp - hidir dist/build/hope.cgi/hope.cgi-tmp -package hope-elibrary-0.1 -O - Wall dist/build/hope.cgi/hope.cgi-tmp/ghc_rts_opts.o ./Hope/CGI.hs ./Hope/CGI.hs:8:7: Could not find module `Network.CGI': it is a member of package cgi-3001.1.5.1, which is hidden
participants (2)
-
Andrea Vezzosi
-
Peter Gammie