我想要一个以操作系统版本为条件的标志,而不仅仅是操作系统:
if os(darwin) && os-version() >= 10.7
或者
if os-version(>=10.7)
或具有这种行为的东西。
我可以用
make
和 sw_vers -productVersion
,但我想用 build-type: Simple
保留 Cabal 文件(我的意思是它甚至有一个 frameworks
字段)。上下文:我对一些在 OSX 10.7 左右引入的 Cocoa 函数有一些绑定(bind)。我希望 Cabal 不要尝试在较旧的 Mac 上构建,而不是向安装软件包的人发送无用的“未找到符号”错误或诸如此类的垃圾邮件。
https://www.haskell.org/cabal/users-guide/developing-packages.html#configurations (在“条件”下)似乎说不。
最佳答案
你是对的。 Cabal 不提供此功能。这是relevant ticket .但是,对于 OS X,您不一定需要从 build-type: Simple
移动。 .相反,您可以使用 CPP
和苹果提供的宏,在 another SO question 中讨论过.
关于haskell - 带有操作系统版本的 Cabal "os"标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29355862/