[Translation] scons: a simple and efficient automatic project building tool used to replace makefile

Source: Internet
Author: User
Tags perforce posix

This article is translated from the scons official website. As this is my first English translation, I hope you can tell me more about the inaccuracy.

Reprinted please indicate this article address: http://blog.csdn.net/jiangsq12345/archive/2011/03/12/6243880.aspx

 

Scons

Is an open-source next-generation software compilation tool. Scons is advanced, and platforms are used to replace traditional make
Tool, which is similar to Autoconf/automake
And compile cache ccache
. All in all, scons is a simple, more reliable, and faster way to compile software.

 


Scons
It is a magic compilation system written in Python (1.5.2). It has excellent functions such as automatic processing of file dependencies and platforms. I can say: in the near future, it will become the best choice for compiling C/C ++ projects.

----- Zed A. Shaw, head of the Bombyx Project

 



Scons highlights:

  • The configuration file is written in Python scripts ------ A powerful real programming language is used to solve the compilation Problem

  • More reliable,

    C, C ++, and FORTRAN

    Built-in Automatic File dependency analysis and processing ------ no longer need "make depend"
    Or "make clean
    To describe all dependencies. The automatic dependency analysis function also makes expansion easier, as long as dependency scanning is defined for programming languages or file types.

  • Built-in support
    C, C ++, D, Java, Fortran, YACC, Lex, QT and
    Swig, and building Tex and latex documents. --- Easier Extension

  • Built-in support for getting source files through SCCs, RCS, CVS, bitkeeper and perforce
  • Built-in support for Microsoft Visual Studio. NET and earlier Visual Studio versions, including for. DSP
    ,. DSW
    ,. Sln
    And. vcproj
    File management.

  • Use the MD5 Signature Technology to check compilation changes. You can also use the option to configure the traditional timestamp.

  • Support parallel compilation-similar to make-J
    But it can keep n Tasks running synchronously and has nothing to do with the hierarchical structure of the folder.

  • Embedded Autoconf
    ----- Support search for score description # include
    File, function library, function, and type.

  • A view of all Dependencies
  • The cache has built-in file sharing capabilities to increase the speed of multi-task creation ----- ccache supports all target file types, not just C/C ++ Compilation
  • Supports the exaggerated platform. Currently, we know that Linux and other POSIX systems (including Aix, * BSD systems, HP/UX,
    IRIX and Solaris), Windows NT, Mac OS x, and OS/2.

 

 

The following is the original text, which is taken from the scons official website. If the translation is not in place, you can understand it and hope to give it a description. I will change it as soon as possible for other friends to read. Thank you.

==============================================

Scons is an open source software construction tool-that is,
Next-generation build tool. Think of scons as an improved, cross-platform
Substitute for the classic make
Utility with integrated functionality similar
To Autoconf/automakeccache
.
In short, scons is
Easier, more reliable and faster way to build software.

And compiler caches such


"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 wowould 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 versions ages
    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 versions 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, retriable 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 ViewAll

    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
    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 arguments.
It can do things like properly handle dependencies on auto-generated source and
Header files, which wocould be a nightmare in make ."

-Silenttristero (Slashdot user), 10 July 2003 Post

 

 

 

 

Reference link:

Baidu scons Encyclopedia: http://baike.baidu.com/view/1959223.htm

Scons Official Website: http://www.scons.org/

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.