Next »
1 Overview
Table of Contents
1 Overview
1.1 Design Principles
1.1.1 Build Correctness
1.1.2 Build Flexibility
1.1.3 Build Efficiency
1.1.4 Build Directory
1.2 Getting Started
2 Installation
2.1 Version Control Setup
3 Command-Line Operation
3.1 Rscons Operation Phases
4 The Build Script
4.1 Tasks
4.1.1 Task Parameters
4.1.2 Tasks with Special Meaning
4.1.2.1 Configure Task
4.1.2.2 Default Task
4.1.2.3 Clean Task
4.1.2.4 Distclean Task
4.1.2.5 Install Task
4.1.2.6 Uninstall Task
4.2 Configuring the Project
4.2.1 Checking for a Compiler
4.2.2 Checking for a Header File
4.2.2.1 Options
4.2.2.1.1 :check_cpppath
4.2.3 Checking for a D Import
4.2.3.1 Options
4.2.3.1.1 :check_d_import_path
4.2.4 Checking for a Library
4.2.4.1 Options
4.2.4.1.1 :check_libpath
4.2.4.1.2 :use
4.2.5 Checking for a Program
4.2.6 Checking for a Package Configuration
4.2.6.1 Options
4.2.6.1.1 :package
4.2.6.1.2 :program
4.2.6.1.3 :use
4.2.7 Custom Configuration Checks
4.2.8 Global Configuration Check Options
4.2.8.1 :fail
4.2.8.2 :on_fail
4.2.8.3 :set_define
4.3 Building Targets
4.3.1 Environments
4.3.2 Construction Variables
4.3.2.1 Construction Variable Naming
4.3.3 Builders
4.3.3.1 The Command Builder
4.3.3.2 The CFile Builder
4.3.3.3 The Copy Builder
4.3.3.4 The Directory Builder
4.3.3.5 The Disassemble Builder
4.3.3.6 The Install Builder
4.3.3.7 The InstallDirectory Builder
4.3.3.8 The Library Builder
4.3.3.9 The Object Builder
4.3.3.10 The Preprocess Builder
4.3.3.11 The Program Builder
4.3.3.11.1 Direct Mode
4.3.3.12 The SharedLibrary Builder
4.3.3.12.1 Direct Mode
4.3.3.13 The SharedObject Builder
4.3.3.14 The Size Builder
4.3.4 Phony Targets
4.3.5 Explicit Dependencies
4.3.6 Build Hooks
4.3.7 Barriers
4.4 Variants
4.4.1 Variant Groups
4.5 Build Script Methods
4.5.1 Finding Files: The glob Method
4.5.2 Downloading Files: The download Method
4.5.3 PATH Management
4.5.4 Using Subsidiary Build Scripts: The rscons Method
4.5.5 Executing Commands: The sh Method
4.6 Extending Rscons
4.6.1 Adding New Languages
4.6.2 Adding Custom Builders
4.6.2.1 Adding a Custom Builder to an Environment
4.6.2.2 Builder Name
4.6.2.3 Custom Builder Constructor
4.6.2.4 Custom Builder Operation
4.6.2.4.1 Return Value
4.6.2.4.2 Printing Build Status
4.6.2.4.3 Custom Builder Cache Usage - Only Rebuild When Necessary
4.6.2.4.4 Custom Builder Parallelization
4.6.2.4.4.1 Using a Ruby Thread to Parallelize a Builder
4.6.2.4.4.2 Executing a Subcommand from a Custom Builder
4.6.2.5 Simple custom builders added with add_builder
5 Appendix
5.1 Default Construction Variables
5.2 Example Build Scripts
5.2.1 Example: Building a C Program
5.2.2 Example: Building a D Program
5.2.3 Example: Cloning an Environment
5.2.4 Example: Custom Builder
5.2.5 Example: Using different compilation flags for some sources
5.2.6 Example: Creating a static library
5.2.7 Example: Creating a C++ parser source from a Yacc/Bison input file
5.2.8 Example: GCC Cross Compiler
5.3 ./configure && make
5.4 YARD API Documentation
6 License
7 Contributing
8 Change Log
Next »
1 Overview