[英]How can I configure cabal to use different folders for 32-bit and 64-bit packages?
我正在对Windows上的64位GHC进行一些测试,同时将代码迁移到GHC 7.6.1。 这意味着我同时安装了32位和64位版本的GHC 7.6.1,因此我可以将7.6.1的64位特定问题与一般问题区分开。
我的阴谋配置文件( $APPDATA/cabal/config
)包含
libsubdir: $pkgid\$compiler
这意味着我安装的32位和64位版本的软件包都以zip-archive-0.1.1.8 / ghc-7.6.1结尾,并且彼此覆盖。
是否有像$compiler
这样的变量,但是可以区分32位和64位,或者我可以使用它来使包分开的其他技术?
您可以将$arch
(和/或$os
)与足够近的Cabal版本一起使用 ,这些版本将由x86_64
的字符串替换(有关更多详细信息,请参见Cabal文档部分“简单构建系统中的路径变量” )
这可能不是正确的方法,但是在我启动32位和64位操作系统的笔记本电脑上,我已经设置了用于处理此问题的技巧。 基本上,我有两个目录,.cabal-i386和.cabal-x86_64,并且我通过符号链接来回切换。 在我的.zshrc中:
CabalDir=$HOME/.cabal-`uname -m`
if [ ! -d $CabalDir]; then
echo WARNING: no cabal directory yet for `uname -m`, creating one.
mkdir -p $CabalDir/{bin,lib,logs,share}
fi
ln -sft $HOME/.cabal $CabalDir/{bin,lib,logs,share}
也许您可以采用一些类似的策略,给自己一个简短的命令以切换出一些符号链接(或Windows的任何符号链接类似物)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.