haskell - 带有操作系统版本的 Cabal "os"标志

标签 haskell cabal

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

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

或者
if os-version(>=10.7)

或具有这种行为的东西。

我可以用 makesw_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/

相关文章:

haskell - "standardised"是什么意思,为什么是 Haskell 呢?

haskell - 就地多态快速排序中的 STUArray 类型参数

haskell - 将 Ord 实例添加到 'singleton' 包生成的自然值

haskell - 简洁地优先考虑ghci中的非Prelude函数

haskell - Haskell 平台 2010.2.0.0 Cabal 中出现错误

haskell - 生成随机元组 Haskell

haskell - 像 sdl-config 这样的配置工具如何与 cabalized 项目一起使用?

haskell - Cabal 安装失败 OSX

haskell - 由于路径长度限制,我如何解决 Windows 上的 cabal 沙箱构建错误?

haskell - Cabal:tar 存档中的文件不在预期目录中