• [BuildRelease]跨平台构建工具SCons


    一 SCons

     SCons是下一代的开源的软件构建工具。

    主页:http://www.scons.org/

    参考:http://www.angelfire.com/linux/skip/Articles/SConsExamples.html

    二 Scons特点

    特点如下:

    1)配置文件是python脚本(使用功能强大的真实的编程语言解决build的问题)。

    2)内置的C/C++/Fortran的可信的,自动的依赖分析,不在需要make depend或make clean来得到所有的依赖关系。依赖关系分析很容易使用用户定义的dependency scanner扩展到其他的语言和文件类型。

    3)内置的支持c/c++/d/java/fortran/yacc/lex/qt/swig和构建tex和latex文档。很容易通过用户定义的builder来支持其他的语言和文件类型。

    4)build从源码管理工具(SVN。。。)或其他的build脚本(ant。。。)。

    5)内置支持从源码管理工具fetch代码,例如sccs,rcs,cvs,bitkeeper和perforce。

    6)内置支持所有的Microsoft VisualStudio的所有版本,包括产生dsp,dsw,sln和vcproj文件。

    7)可信的使用MD5签名来检测build的changes,同时也支持配置为传统的时间戳来检测changes。

    8)改进了并行build,像make -j,同时运行N个job,不决定于目录的继承结构。

    9)集成像autoconf的find #include 文件,libraries,functions和typedefs。

    10)所有的依赖的Global view。

    11)能够share built files in a cache to speed up multiple builds, 像CCache但是不局限于C/C++。

    12)从一开始就设计为跨平台,所以支持所有的系统(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.)。

    三 实例hello

     1)文件:

    D:\SCONS
    │  
    └─sample
            hello.c
            SConstruct

     2)hello.c

    #include <stdio.h>

    int main() {
      printf(
    "Hello World.");
    }

     3)SConstruct

    Program('hello.c')

     4)build

    四 other

    1)Builder: Program(),Library(),SharedLibrary(),Object(),Other Language Builders。program(''hello.c)。
    2) Construction environment: 环境变量。env=Environment(CC = 'gcc', CCFLAGS = '-O2')。
    3) SConstruct: 跟目录下的SConstruct file。
    4)SConscript:子目录下的Sconscript file。

    完!

  • 相关阅读:
    BZOJ 4260: Codechef REBXOR (trie树维护异或最大值)
    BZOJ 3744 Gty的妹子序列 做法集结
    BZOJ 3289: Mato的文件管理 (区间查询逆序对)
    [JSOI2007]文本生成器
    [TJOI2013]单词
    模板 AC自动机
    POJ 3710 Christmas Game
    HDU 3094 A tree game
    BZOJ 3817 Sum
    BZOJ 4589 Hard Nim
  • 原文地址:https://www.cnblogs.com/itech/p/2176243.html
Copyright © 2020-2023  润新知