haskell 在包中的何处添加标志,yaml?

zz2j4svz  于 2023-02-04  发布在  其他
关注(0)|答案(1)|浏览(151)

我有一个包.yaml文件,如:

name: ...
version: ...

...

flags:
  strict: ...
    description: ...
    ...

dependencies:
  ...

...

大多数是典型的package.yaml文件,其中一个依赖项使用了一个库(所以它是一个可传递的依赖项),该库有标志(其中一个是use-pkg-config标志)。
如何打开此标志?我尝试:

pkg-config-dependencies: that-library

此外,我试图添加一个GHC选项:

...
ghc-options:
  ...
  -fuse-pkg-config

并将flags:部分添加到library:,但似乎无法正常工作,因为我在编译控制台输出中看到:

......... -f-use-pkg-config ....

而不是-fuse-pkg-config,所以我想它不起作用,如何在package.yaml中为这样的依赖(它是可传递的-我不知道这是否重要)添加一个标志?

qojgxg4l

qojgxg4l1#

标志可以在项目级配置文件stack.yamlcabal.project中指定。

-- cabal.project
package my-dependency
  flag: +use-pkg-config
# stack.yaml
flags:
  my-dependency:
    use-pkg-config: true

文件:

  • 阴谋集团https://cabal.readthedocs.io/en/stable/cabal-project.html#cfg-field-flags
  • 堆栈https://docs.haskellstack.org/en/stable/yaml_configuration/#flags

相关问题