SCons: A software construction tool

What is SCons?

SCons is an Open Source software construction tool—that is, a
next-generation build tool. Think of SCons as an improved, cross-platform
substitute for the classic Make
utility with integrated functionality similar
to autoconf/automake and compiler caches such as ccache.
In short, SCons is an
easier, more reliable and faster way to build software.

"SCons is a fantastic build system, written in Python (1.5.2) that does lots of nice things like automated dependencies, cross platform operation, configuration, and other great stuff. I would have to say that it is probably going to be the best thing for building C/C++ projects in the near future."
— Zed A. Shaw, Bombyx project lead

What makes SCons better?

  • Configuration files are Python scripts--use the power of a real programming language to solve build problems.
  • Reliable, automatic dependency analysis built-in for C, C++ and Fortran--no more "make depend" or "make clean" to get all of the dependencies. Dependency analysis is easily extensible through user-defined dependency Scanners for other languages or file types.
  • Built-in support for C, C++, D, Java, Fortran, Yacc, Lex, Qt and SWIG, and building TeX and LaTeX documents. Easily extensible through user-defined Builders for other languages or file types.
  • Building from central repositories of source code and/or pre-built targets.
  • Built-in support for fetching source files from SCCS, RCS, CVS, BitKeeper and Perforce.
  • Built-in support for Microsoft Visual Studio .NET and past Visual Studio versions, including generation of .dsp, .dsw, .sln and .vcproj files.
  • Reliable detection of build changes using MD5 signatures; optional, configurable support for traditional timestamps.
  • Improved support for parallel builds--like make -j but keeps N jobs running simultaneously regardless of directory hierarchy.
  • Integrated Autoconf-like support for finding #include files, libraries, functions and typedefs.
  • Global view of all dependencies--no more multiple build passes or reordering targets to build everything.
  • Ability to share built files in a cache to speed up multiple builds--like ccache but for any type of target file, not just C/C++ compilation.
  • Designed from the ground up for cross-platform builds, and known to work on Linux, other POSIX systems (including AIX, *BSD systems, HP/UX, IRIX and Solaris), Windows NT, Mac OS X, and OS/2.
"We are using [SCons] on Windows (MSVC and Intel compilers), Linux, IRIX and
Mac OS X (gcc and two versions of CodeWarrior). Handles all of those with ease.
It can do things like properly handle dependencies on auto-generated source and
header files, which would be a nightmare in make."
—SilentTristero (Slashdot user), 10 July 2003 post

Where did SCons come from?

SCons began life as the ScCons build
tool design which won the Software Carpentry SC
Build competition in August 2000. That design was in turn based on the Cons software construction utility. This
project has been renamed SCons to reflect that
it is no longer directly connected with Software Carpentry (well, that, and to
make it slightly easier to type...).

SCons: A software construction tool相关推荐

  1. 禁用software reporter tool.exe 解决CPU高占用率的问题

    禁用software reporter tool.exe 解决CPU高占用率的问题 参考文章: (1)禁用software reporter tool.exe 解决CPU高占用率的问题 (2)http ...

  2. 谷歌浏览器Software Reporter Tool长时间占用CPU解决办法

    什么是Software Reporter Tool Software Reporter Tool是一个Chrome清理工具,用于清理谷歌浏览器中不必要或恶意的扩展,应用程序,劫持开始页面等等.当你安装 ...

  3. Maintainability-Oriented Software Construction Approaches

    Maintainability-Oriented Software Construction Approaches 软件维护在软件工程中是对软件的改进 一个软件产品在交付后要纠正错误,加以改进 性能或 ...

  4. 因为Google Chrome中Software Reporter Tool占CPU用过高,我选择转战Microsoft Edge浏览器,电脑至于不卡了

    一.Software Reporter Tool 占用高,Google Chrome卡 Software Reporter Tool是一个Chrome清理工具,用于清理谷歌浏览器中不必要或恶意的扩展, ...

  5. Microsoft® Windows® Malicious Software Removal Tool (KB890830)

    http://www.microsoft.com/downloads/details.aspx?FamilyId=AD724AE0-E72D-4F54-9AB3-75B8EB148356&di ...

  6. 2021-06-29 Views and Quality Objectives of Software Construction 软件构造的多维度视图和质量目标

    第一章:Views and Quality Objectives of Software Construction 软件构造的多维度视图和质量目标 目标 1.从三个维度看软件系统的构成 2.用什么样的 ...

  7. SC Chapter 1:Views and Quality Objectives of Software Construction Review

    Chapter 1: Views and Quality Objectives of Software Construction 1.1 Multi-Dimensional Views of Soft ...

  8. 1 Views and Quality Objectives of Software Construction

    文章目录 1. 软件构造过程中的多维视图 每一部分的具体内容-->Build-time 每一部分的具体内容-->Run-time 2. 视图之间的联系 3. 软件系统的质量 外部因素 内部 ...

  9. 哈工大软件构造学习笔记1 Views and Quality Objectives of Software Construction

    先要搞清楚软件构造的对象是什么,如何刻画,在关注如何构造. 1,Five key quality objectives of software construction 软件构造的五个关键质量目标 容 ...

最新文章

  1. 深入理解CSS计数器
  2. 20155222卢梓杰 课堂测试ch06补做
  3. python append 浮点数 精度_Python打牢基础,从12个语法开始!
  4. labview求n阶乘的和_LABVIEW求1到N所有数的阶乘之和
  5. 作者:谢波峰(1976-),男,中国人民大学财政金融学院副教授,中国人民大学金融与财税电子化研究所执行所长。...
  6. yii2 nginx php配置,求助-yii2在nginx上的rewrite配置
  7. 让Grub 2来拯救你的 bootloader
  8. STM32:定时器中断与优先级
  9. cmake 学习笔记(四)
  10. ubuntu nginx配置虚拟主机,目录
  11. C#语言与三菱PLC串口通讯
  12. Matlab绘制柱状图, 设置figure的最大最小值
  13. 坚果云显示连接服务器失败怎么办,坚果云提示同步过程中遇到错误,怎么解决?...
  14. 想安装MacOS X怎么获取适合自己电脑的UFI
  15. 微信小程序之wx.request:fail错误,真机预览请求无效问题解决,安卓,ios网络预览异常
  16. xcode 正确的使用断点
  17. 中国人事网发布职业资格证书查询验证公告
  18. java早晚班值班表_节日值班表(安排好)_***121237
  19. HTML5 批量大文件上传下载
  20. 一个简单的TTS文语转换实例

热门文章

  1. 专家系列教程:遭受***后的证据有哪些?
  2. servlce与filter的url-pattern介绍
  3. mysql数据库连接ado_mysql:2种连接数据库方式:ADO连接、mysql的API连接 | 学步园...
  4. Nacos源码发送心跳
  5. Spring AOP 源码分析-寻找入口
  6. 传统I/O 数据拷贝
  7. Redis基本数据类型
  8. Apollo快速使用
  9. Redis高可用方案-RedisCluster-SpringBoot整合
  10. OAuth2.0授权码认证流程介绍