X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=Readme.txt;h=7b3f4a09d1ba1c74dd67c2085b626cd7ea1c690a;hb=52586d9f4aa721e924d17c7e9a16cb0b98ddc05d;hp=c0004ad9ad4f866fd350acb8c860a4ab0059a1ab;hpb=0d80cabf649b931b26e7055385156c75a7385d35;p=builder.git diff --git a/Readme.txt b/Readme.txt index c0004ad..7b3f4a0 100644 --- a/Readme.txt +++ b/Readme.txt @@ -1,14 +1,15 @@ -Builder -Copyright © 2006 Mikko Rasa, Mikkosoft Productions -Version 0.1 +Builder 0.9 Readme +1. Description + Builder is a program for building other programs, similar to make, scons and -others. It is specifically designed to suit my needs, with the goal of -minimizing the amount of per-package configuration. +others. Its main design goals are minimizing duplication of configuration +between packages and being as fast as possible. Features include integrated +configuration and dependency resolution C sources. -* Building Builder +2. Building Builder Builder is normally built using itself. However, if you just downloaded the source and don't yet have a Builder binary, how is that possible? To resolve @@ -16,12 +17,81 @@ this problem, there's a script called bootstrap.sh in the Builder main directory. Before running it, make sure you have the following libraries available: -MSP libraries: misc core parser path regex++ getopt++ +MSP libraries: core datafile fs strings io Others: sigc++-2.0 Since the MSP libraries are also normally built with Builder, the script will -need to have their sources available. By default, it will look at ../libs. -You can change this by setting the LIBPATH evironment variable for the script. -If everything goes well, you should have a builder-stage1 binary that you can -use to build a normal version of Builder. +need to have their sources available. By default, it will look at the parent +directory of builder. You can change this by setting the LIBPATH evironment +variable for the script. If everything goes well, you should have a +builder-stage1 binary that you can use to build a normal version of Builder. + +NOTE: You will need to copy builderrc as ~/.builderrc in order to build some +packages. This will be rectified in the future. + + +3. Using Builder to build projects + +In the simplest and most common case, Builder is invoked in the package's root +directory without any arguments. An arbitary working directory may be +specified with -C, or an alternative Build file with -f. + +To build a subset of the targets known to the package, the desired targets can +be named on the command line. Note that if -C is used, the targets will be +interpreted relative to that directory, not the one where Builder is invoked +from. + +To change package configuration, arguments of the form key=value may be given. +By default they will only affect the current package, but with the -A switch, +all active packages may be configured at once. + + +4. Using Builder in your project + +To use Builder, you need to create a Build file that tells what it should +build. This file defines two main types of entities: packages and components. +usually there is only one package definition in a Build file. + +The Build file uses a C-like structured language. It consists of statements +and blocks. Statements are terminated with a semicolon (';'). Blocks are +enclosed in braces ('{' and '}'). If a statement contains a block of +substatements, the semicolon comes after the closing brace. + +For a simple example, look at Builder's own Build file. + + +5. Contact information + +The latest releases can be found at http://www.tdb.fi/builder.shtml + +Bug reports, feature reports etc. may be sent to tdb@tdb.fi + +Read-only SVN access is available at http://svn.tdb.fi/builder + + +6. License + +Builder is copyright © 2006-2008 Mikko Rasa, Mikkosoft Productions + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Full license text can be found in License.txt. + + +7. Version history + +0.9 +- First released version