]> git.tdb.fi Git - builder.git/blobdiff - Readme.txt
Improve automatic package finding to detect directories with version number
[builder.git] / Readme.txt
index dda34d6e6fc87cb58a7efdab7e35a8eb3d1e7d8b..7b3f4a09d1ba1c74dd67c2085b626cd7ea1c690a 100644 (file)
@@ -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,7 +17,7 @@ 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: core parser path strings
+MSP libraries: core datafile fs strings io
 
 Others: sigc++-2.0
 
@@ -25,3 +26,72 @@ 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