zoukankan      html  css  js  c++  java
  • [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。

    完!

  • 相关阅读:
    用Groovy处理JMeter变量
    用Groovy处理JMeter断言和日志
    选择手动测试还是自动化测试?
    从单元测试标准中学习
    利用ThreadLocal解决线程同步问题
    JSON基础
    Java中interface属性和实例方法
    集成测试、单元测试、系统测试
    异步查询转同步加redis业务实现的BUG分享
    《深入理解java虚拟机》读书笔记三——第四章
  • 原文地址:https://www.cnblogs.com/itech/p/2176243.html
Copyright © 2011-2022 走看看