On Sun, Sep 09, 2007 at 03:18:43PM +0200, Thomas Schilling wrote: > On Sun, 2007-09-09 at 10:21 +0100, Ross Paterson wrote: > > The build-depends field has been moved from the package level to the > > individual library and executable components. (And the new build-tools > > and pkgconfig-depends fields are similarly attached to components.) > > I'm not sure whether this is a good idea, but more specifically I > > came across this in the parser for old-style package descriptions in > > Distribution.PackageDescription: > > > > -- The 'build-depends' field was global so far. Now it's > > -- supported in each section. > > -- XXX: we actially have two options here > > -- (1) put all dependencies into the library section, if the > > -- library section would be empty, mark it as not buildable > > -- (2) duplicate all dependencies in each section, libraries > > -- and executables > > -- Right now we go with (1) > > > > Surely (1) is just wrong. Is there any reason not to do (2)? > > (1) was easier at the time. (2) should be relatively easy to implement > now, but since the current implementation works, I didn't bother so far. > I know that (1) is a rather hackish solution, but why is it "just > wrong"? (After all, it works.)
Could we not just replace (deps, libfs1) = partition ((`elem` constraintFieldNames) . fName) libfs0 libfs = if null libfs1 && not (null deps) then [F (lineNo (head deps)) "buildable" "False"] else libfs1 with (deps, libfs) = partition ((`elem` constraintFieldNames) . fName) libfs0 _______________________________________________ cabal-devel mailing list cabal-devel@haskell.org http://www.haskell.org/mailman/listinfo/cabal-devel