由于许可限制,我们需要在Windows平台上编译时使用GHC的integer-simple
变体。目前,这在我们的stack.yaml
文件中指定:
ghc-variant: integersimple
# ...
extra-deps:
- text-1.2.2.1
# Override default flag values for local packages and extra-deps
flags:
text:
integer-simple: true
但是,这不适用于Linux。
根据主机架构有条件地包含上面的代码是一种很好的方法。有没有办法使用堆栈这样做,如果没有,你会如何解决这个问题?
我现在能想到的唯一选择是拥有两个堆栈文件,但我想避免这种情况。
答案 0 :(得分:0)
TLDR :使用自定义Setup.hs
。
目前似乎不可能,因为.cabal
不允许将标志传递给包(尽管您可以通过命令行执行此操作)并且.yaml
不允许目前的条件 1 。
1。我发现堆栈和cabal文档有点迟钝和杂乱无章。除此之外,API似乎经常发生变化,并且很容易看出人们如何忽略可能解决您问题的某些功能。睁大眼睛。