SCons和Shake之间的差异

Pet*_*lák 6 haskell build scons shake-build-system

我正在研究Python/Haskell项目,我正在寻找替代方案Makefile.明显的选择是Python SCons和Haskell Shake.由于我对其中任何一个都没有经验,我想问一下他们的缺点和优点是否有任何比较.

更新:该项目对构建有一些复杂的要求:

  • 让用户配置类似构建的选项以启用/禁用,工具路径等.
  • 在编译时生成Haskell和Python文件.他们的依赖应该正常工作.
  • 有多个Haskell程序共享大多数源文件.我想这样:
    • 可以单独构建每个,而不是构建不需要的源;
    • 编译多个程序时,源文件不会多次构建;
    • 如果可能的话,在编译期间实现并行性.
  • 检查目标系统及其路径(如一些安装的程序python,flock等等)
  • 检查目标系统的依赖关系,包括Python,Haskell.
  • 根据依赖关系参数化构建 - 如果缺少测试的依赖关系,仍然可以构建项目,跳过测试(并通知用户).

Bra*_*ady 3

有一个SCons wiki 页面将其与其他构建工具进行了比较,不幸的是没有与 Haskell/Shake 进行比较。

另外,这个问题可能会有所帮助。

与其他工具(尤其是 make 和 cmake)相比,SCons 的真正亮点在于它的 Python 语法,以及非常准确且易于使用的隐式依赖系统。