Haskell 如何为Cabal Hook导入版本
我正在为Cabal编写一个非常简单的“钩子”,它在上一个版本中运行良好,但当我将Cabal“降级”到旧版本1.22、1.20等时,它停止工作 原因可能是某些模块的路径不断变化,例如:Haskell 如何为Cabal Hook导入版本,haskell,cabal,Haskell,Cabal,我正在为Cabal编写一个非常简单的“钩子”,它在上一个版本中运行良好,但当我将Cabal“降级”到旧版本1.22、1.20等时,它停止工作 原因可能是某些模块的路径不断变化,例如:import Distribution.Simple.LocalBuildInfo 有没有办法跨不同版本管理这些更改?我需要一个“CPP”宏(如果是哪一个)还是有更好的方法来管理它?通常是的,依赖于库版本的代码使用Cabal自己定义的宏,通过CPP宏来管理它。有关一些示例,请参见。就你而言: #if MIN_VERS
import Distribution.Simple.LocalBuildInfo
有没有办法跨不同版本管理这些更改?我需要一个“CPP”宏(如果是哪一个)还是有更好的方法来管理它?通常是的,依赖于库版本的代码使用Cabal自己定义的宏,通过CPP宏来管理它。有关一些示例,请参见。就你而言:
#if MIN_VERSION_Cabal(1,22,0)
-- something working in Cabal 1.22 or above
#else
-- something working in Cabal versions prior to 1.22
#endif
这不太理想,我会告诉你的