分享

scons-一种软件构造工具

 CNStudent 2020-12-10

SCons是一种开源软件构建工具,即下一代构建工具。

将SCons视为经典的Make实用程序的改进的跨平台替代品,它具有类似于autoconf/automake和ccache之类的编译器缓存的集成功能。简而言之,SCons是一种更容易,更可靠和更快的软件构建方式。

SCons的特点

可靠,自动的依赖关系分析内置于C,C ++和Fortran,不再需要“使依赖”或“使干净”来获取所有依赖关系。通过其他语言或文件类型的用户定义的依赖关系扫描程序,可以轻松扩展依赖关系分析。

配置文件是Python脚本-使用真正的编程语言来解决构建问题。

对C,C ++,D,Java,Fortran,Yacc,Lex,Qt和SWIG的内置支持,以及构建TeX和LaTeX文档。通过用户定义的Builders可以轻松扩展其他语言或文件类型。

从源代码和/或预建目标的中央存储库中构建。

内置支持从SCCS,RCS,CVS,BitKeeper和Perforce中获取源文件。

对Microsoft Visual Studio .NET和以前的Visual Studio版本的内置支持,包括生成.dsp,.dsw,.sln和.vcproj文件。

使用MD5签名可靠地检测构建更改;对传统时间戳的可选,可配置的支持。

改进了对并行构建的支持-类似于make -j,但无论目录层次如何,都能使N个作业同时运行。

集成的类似Autoconf的支持,用于查找#include文件,库,函数和typedef。

所有依赖项的全局视图-不再需要多次构建传递或对目标进行重新排序以构建所有内容。

能够在缓存中共享构建的文件以加快多个构建的速度-例如ccache,但适用于任何类型的目标文件,而不仅限于C / C ++编译。

完全针对跨平台构建而设计,并且已知可在Linux,其他POSIX系统(包括AIX,BSD系统,HP / UX,IRIX和Solaris),Windows NT,Mac OS X和OS / 2上运行。

SCons的由来

SCons作为ScCons构建工具设计而诞生,该设计在2000年8月赢得了Software Carpentry SC Build竞赛。

该设计又基于Cons软件构建实用程序。该项目已重命名为SCons,以反映它不再与Software Carpentry直接连接(嗯,并且使其输入起来更加容易...)。

SCons软件包

SCons软件包是用于在系统上安装SCons并使用它或对其进行实验的基本软件包。如果您只想试用SCons,则只需在此下载SCons。

最新版本

在继续之前,您可以在SCons下载页面上检查所拥有的软件包是否为最新版本www.scons.org/pages/download.html

执行要求

运行SCons需要Python 3.5或更高版本。应该没有其他依赖项或要求来运行scons。

默认的SCons配置假定在Win32系统上使用Microsoft Visual C ++编译器套件,并假定一个名为“ cc”的C编译器,一个名为“ c ++”的C ++编译器和一个名为“ gfortran”的Fortran编译器(例如在GNU中找到的) C编译器套件)在任何其他类型的系统上。当然,您可以通过适当配置Environment构造变量来覆盖这些默认值。

默认情况下,SCons知道如何在各种系统上搜索可用的编程工具-有关详细信息,请参见SCons手册页。当然,您可以覆盖由环境构造变量的适当配置做出的默认SCons选择。

测试

测试由该目录中的runtest.py脚本运行。

此程序包中有两种测试类型:

单个SCons模块的单元测试位于SCons子目录下,并且与附加了“ Tests.py”的模块具有相同的基本名称-例如,Builder.py模块的单元测试是BuilderTests.py脚本。

SCons的端到端测试位于test /子目录中。

您可以明确列出要运行的一个或多个测试:

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多