我想要一个以操作系统版本为准的标志,而不仅仅是操作系统:
if os(darwin) && os-version() >= 10.7
或
if os-version(>=10.7)
或具有该行为的东西。
我可以使用make
和sw_vers -productVersion
执行此操作,但我希望将Cabal文件保留为build-type: Simple
(我的意思是它甚至有一个frameworks
字段)。< / p>
上下文:我对OSX 10.7中引入的一些Cocoa函数有一些绑定。我希望Cabal不要试图在旧的Mac上构建,而不是通过无用的“符号未找到”错误或其他方式向安装包的人发送垃圾邮件。
https://www.haskell.org/cabal/users-guide/developing-packages.html#configurations(在“条件”下)似乎说不。
答案 0 :(得分:1)
你是对的。 Cabal不提供此功能。这是relevant ticket。但是,对于OS X,您无需从build-type: Simple
移动。相反,您可以使用CPP
和apple提供的宏,如another SO question中所述。