Buildtool's Manual

Julio M. Merino Vidal

This book corresponds to Buildtool version 0.16.

Abstract

This book documents the Buildtool program. It includes a detailed description of each module provided by the program, addressed to the end user, as well as information destinated to developers who wish to use Buildtool in their own software packages.


Table of Contents

1. Introduction
1.1. Basic terminology
1.2. Modules
1.3. Versioning
I. User's documentation
2. The buildtool command
2.1. Command syntax
2.2. Site information
2.3. Examples
3. Build time documentation
4. Automatic package configuration
4.1. The bt_config module
4.1.1. Standard directories
4.1.2. Standard features
4.2. Examples
5. Building targets
5.1. The bt_logic module
5.2. Examples
6. System wide configuration
6.1. The bt_swcgen module
6.1.1. Input file structure
6.1.2. Available functions
II. Developer's documentation
7. Tutorial
7.1. Project skeleton
7.2. Package definitions
7.3. The docs function
7.4. The configuration script
7.5. Top level logic script
7.6. The sample library
7.6.1. The logic script
7.7. The sample program
7.7.1. The logic script
7.8. The pkgflags file
7.9. Finished
8. Script files
9. The definitions script
9.1. Requiring a Buildtool version
9.2. Package information
9.3. Module flags
9.4. Example
10. The documentation script
10.1. Example
11. The configuration script
11.1. Script structure
11.2. Printing messages
11.2.1. Error messages
11.2.2. Warning messages
11.2.3. Summary messages
11.2.4. Check messages
11.3. Customizable directories and features
11.3.1. Directories
11.3.2. Features
11.4. Loading subroutine modules
11.5. Variables and results
11.5.1. Generating output files
11.5.2. Generating a C/C++ configuration header
11.6. Languages support
11.7. Standard checks
11.7.1. Checking for build environments
11.7.2. Checking for programs
11.7.3. Checking for header files
11.7.4. Checking for system specific functions
11.7.5. Checking for libraries
11.7.6. Miscellaneous checks
11.8. Standard subroutine modules
11.8.1. The pkgconfig module
11.8.2. The pthread module
11.8.3. The x11 module
12. Logic scripts
12.1. Adding targets
12.2. Top level script file
12.3. Target definitions
12.4. Pre/post actions for stages
12.5. Pre/post actions for target stages
12.6. Overriding stages for specific targets
12.7. Standard types
12.7.1. The program type
12.7.2. The library type
12.7.3. The archive type
12.7.4. The shlib type
12.7.5. The convert type
12.7.6. The output type
12.7.7. The texinfo type
12.7.8. The qt_program type
13. Verifying a package
13.1. Buildtool standards
13.1.1. Standard documents
14. Creating distribution files
14.1. Supported formats
15. Package flags
15.1. The bt_pkgflags module
15.2. Pkgflags file format
16. The project wizard