我想要一个以操作系统版本为条件的标志,而不仅仅是操作系统:

if os(darwin) && os-version() >= 10.7

要么

if os-version(>=10.7)

或者具有那种行为的东西。

我可以用makesw_vers -productVersion ,但是我想用build-type: Simple保存Cabal文件build-type: Simple (我的意思是它甚至有一个frameworks字段)。

上下文:我对OSX 10.7中引入的一些Cocoa函数有一些绑定。 我希望Cabal不要试图在较旧的Mac上构建,而不是通过无用的“符号未找到”错误或其他方式向安装包的人发送垃圾邮件。

https://www.haskell.org/cabal/users-guide/developing-packages.html#configurations (在“条件”下)似乎说不。

#1楼 票数:1 已采纳

你说的没错。 Cabal不提供此功能。 这是相关的票 但是,对于OS X,您无需从build-type: Simple移动build-type: Simple 相反,你可以使用CPP和apple提供的宏,正如另一个SO问题所讨论的那样。

  ask by sam boosalis translate from so

未解决问题?本站智能推荐:

3回复

cabal文件中的标志

我正在关注软件包开发的用户指南: https : //www.haskell.org/cabal/users-guide/developing-packages.html#quickstart 我陷入了Flags部分。 如何将标志传递给我的文件? 它只是在build时间吗? 我试图搜
2回复

Windows下的cabal没有代理标志?

当我尝试在没有设置HTTP_PROXY情况下在代理后面运行cabal时,我得到了 cabal -h没有给出代理选项,我找不到任何关于如何设置.cabal文件来修复它的信息。 出于安全原因,设置HTTP_PROXY环境var可能是个坏主意。 有任何想法吗? 试图找到除命令行
3回复

覆盖LTS的cabal版本

我有一个项目,我想用LTS 2编译,但我试图解决OS X 10.11中这个众所周知的错误 。 我可以以某种方式指定更新版本的Cabal与ghc-7.8.4一起使用吗? 请注意,该项目仅适用于GHC 7.8。*。 编辑: 真的是意味着Cabal ,而不是cabal-instal
1回复

Cabal安装quickcheck版本问题

我正在尝试通过Ubuntu 10.04上的cabal安装quickcheck 2。 无论我尝试做什么,我总是最终得到以下结论: 这是一个干净的Ubuntu 10.04,只安装了ghc6和cabal-install apt软件包。 在尝试安装quickcheck之前,我已经通过caba
1回复

ghc-modi和cabal版本

(此处为Haskell新手) 我正在尝试将HaskForce插件配置为IntelliJ IDEA,并在“ GHC Modi” Flags中将“ ghc-mod”配置为“ legacy-interactive”。 根本问题似乎与阴谋集团版本有关,尽管当我尝试对任何Haskell符号进行自动
1回复

封装版本冲突在Cabal中

请原谅我这是一个常见问题,但我有点困惑如何正确解决这个问题。 我最近下载了TagSoup软件包,它安装得很好,最新版本为0.12.2 然后我安装了包下载-curl ,它安装了最新版本。 我没有意识到的是,download-curl依赖于TagSoup,版本= <0.11,因此
1回复

是否可以关闭旧ghc的Cabal标志?

在我的项目的.cabal文件中,我有一个标志来控制https的使用位置。 然而,http-client与旧的ghc版本不能很好地构建...有没有办法更改旧ghc的标志的默认值? 我看不到一个或任何其他解决方法(除了忽略标志)。
1回复

生成 .cabal 文件依赖版本

我使用 Stack 在我的本地机器上构建,但 Homebrew 使用 Cabal。 这意味着有时构建对我来说可以正常工作,但不能在 Homebrew 中工作。 这似乎是因为 Cabal 使用最新的包,而 Stack 使用解析器中的包。 有没有办法根据当前的解析器在.cabal文件中自动生成包版本?