]> git.tdb.fi Git - builder.git/blob - Readme.txt
Bump version number to 0.9
[builder.git] / Readme.txt
1 Builder 0.9 Readme
2
3
4 1. Description
5
6 Builder is a program for building other programs, similar to make, scons and
7 others.  Its main design goals are minimizing duplication of configuration
8 between packages and being as fast as possible.  Features include integrated
9 configuration and dependency resolution C sources.
10
11
12 2. Building Builder
13
14 Builder is normally built using itself.  However, if you just downloaded the
15 source and don't yet have a Builder binary, how is that possible?  To resolve
16 this problem, there's a script called bootstrap.sh in the Builder main
17 directory.  Before running it, make sure you have the following libraries
18 available:
19
20 MSP libraries: core datafile fs strings io
21
22 Others: sigc++-2.0
23
24 Since the MSP libraries are also normally built with Builder, the script will
25 need to have their sources available.  By default, it will look at the parent
26 directory of builder.  You can change this by setting the LIBPATH evironment
27 variable for the script.  If everything goes well, you should have a
28 builder-stage1 binary that you can use to build a normal version of Builder.
29
30
31 3. Using Builder to build projects
32
33 In the simplest and most common case, Builder is invoked in the package's root
34 directory without any arguments.  An arbitary working directory may be
35 specified with -C, or an alternative Build file with -f.
36
37 To build a subset of the targets known to the package, the desired targets can
38 be named on the command line.  Note that if -C is used, the targets will be
39 interpreted relative to that directory, not the one where Builder is invoked
40 from.
41
42 To change package configuration, arguments of the form key=value may be given.
43 By default they will only affect the current package, but with the -A switch,
44 all active packages may be configured at once.
45
46
47 4. Using Builder in your project
48
49 To use Builder, you need to create a Build file that tells what it should
50 build.  This file defines two main types of entities: packages and components.
51 usually there is only one package definition in a Build file.
52
53 The Build file uses a C-like structured language.  It consists of statements
54 and blocks.  Statements are terminated with a semicolon (';').  Blocks are
55 enclosed in braces ('{' and '}').  If a statement contains a block of
56 substatements, the semicolon comes after the closing brace.
57
58 For a simple example, look at Builder's own Build file.
59
60
61 5. License
62
63 Builder is copyright © 2006-2008  Mikko Rasa, Mikkosoft Productions
64
65 This program is free software; you can redistribute it and/or modify
66 it under the terms of the GNU General Public License as published by
67 the Free Software Foundation; either version 2 of the License, or
68 (at your option) any later version.
69
70 This program is distributed in the hope that it will be useful,
71 but WITHOUT ANY WARRANTY; without even the implied warranty of
72 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
73 GNU General Public License for more details.
74
75 You should have received a copy of the GNU General Public License along
76 with this program; if not, write to the Free Software Foundation, Inc.,
77 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.