首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SCons与Shake的差异

SCons与Shake的差异
EN

Stack Overflow用户
提问于 2014-03-04 13:28:35
回答 2查看 806关注 0票数 7

我正在从事Python/Haskell项目,我正在寻找Makefile的替代方案。显而易见的选择是Python SCons和Haskell 摇动。由于我对这两种方法都没有经验,我想问一下它们的缺点和优点是否有任何比较。

更新:项目有一些复杂的构建需求:

  • 让用户配置类似构建的选项,以启用/禁用工具路径等。
  • 编译时生成Haskell和Python文件。它们的依赖关系应该正常工作。
  • 有多个Haskell程序共享大部分源文件。我想这样做:
    • 可以单独构建每个源,而不是构建不需要的资源;
    • 编译多个程序时,源文件不会多次生成;
    • 如果可能的话,在编译过程中实现并行性。

  • 检查目标系统上已安装的几个程序及其路径(如pythonflock等)
  • 检查目标系统的依赖关系,包括Python和Haskell。
  • 根据依赖项将构建参数化--如果缺少用于测试的依赖项,仍然可以构建项目,跳过测试(并通知用户)。
EN

回答 2

Stack Overflow用户

发布于 2014-03-04 14:59:54

有一个为什么摇动?文档给出了选择Shake而不是其他构建系统的理由,但是它并没有关注与SCons的比较。

更新:所有的需求看起来都很容易用Shake来表达(如果您被困在其中任何一个,请在StackOverflow上询问)。至于Shake:

  • Shake特别擅长处理具有无法静态预测的依赖项的生成文件,特别是当您从编译的程序生成文件时。
  • 构建项目的Haskell部分可能比构建Python要困难(因为Haskell具有更丰富的结构和更复杂的编译器)。使用Shake可以更容易地访问编译Haskell的现有示例,并在需要时使用解析Haskell的库
票数 4
EN

Stack Overflow用户

发布于 2014-03-04 14:53:19

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

而且,这个问题可能会有所帮助。

与其他工具(特别是make和cmake)相比,SCons的语法和隐式依赖系统非常精确,易于使用。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22173283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档