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

Reply via email to