haskell / haskell/cabal

Spec should define the interpretation of the library and includes and search dirs

未关闭
#672 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
Cabal: file format old-milestone: ⊥ type: enhancement
主要语言
Haskell
星标
1.7k
派生
750
平均合并
4 天 3 小时
30 天内合并 PR
28

描述

(Imported from [Trac #680](http://hackage.haskell.org/trac/hackage/ticket/680), reported by @dcoutts on 2010-05-05)

See [http://hackage.haskell.org/trac/ghc/ticket/3930](http://hackage.haskell.org/trac/ghc/ticket/3930)

The Cabal spec should say how to interpret the extra-libraries and library-dirs fields in the installed package info. Specifically how this information is interpreted in relation to package dependencies which may also specify libraries and search paths.

The interpretation should be that all the extra-libraries required by a installed package should be found in library-dirs given in that installed package info, or in the "standard" system linker path (as used by the standard system linker). That is, the library-dirs of dependent packages should not be used.

For example:

-- installed package gtk:

extra-libraries: gtk-x11-2.0
library-dirs:
depends: glib
-- installed package glib:
extra-libraries: glib-2.0
library-dirs: /opt/local/lib
We presume here that /opt/local/lib is not on the standard linker path. Then we should only look for the gtk-x11-2.0 library on the paths specified in the gtk package, which in this case is empty, so that means only on the system linker path. If gtk-x11-2.0 is in fact only in /opt/local/lib then this will and should fail. We should not use the library dirs of the glib package to find the libraries of the gtk package.

The correct information for the above example would be to list library-dirs: /opt/local/lib for the gtk package also.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。