diff --git a/boost_build_v2.html b/boost_build_v2.html index 8897cbb0a..94c9feb3b 100644 --- a/boost_build_v2.html +++ b/boost_build_v2.html @@ -258,30 +258,28 @@
Immediately upon startup, the bjam executable attempts to - find the location of build system files. It does so by looking for a file - called boost-build.jam. That file is first looked in the - invocation directory and its parents up to the filesystem root, and then - in the directories from variable BOOST_BUILD_PATH. When found, the file - is loaded and should specify the build system location by calling the - boost-build rule:
+bjam's first job upon startup is to load the Jam code which implements + the build system. To do this, it searches for a file called + "boost-build.jam", first in the invocation directory, then in its parent + and so forth up to the filesystem root, and finally in the directories + specified by the environment variable BOOST_BUILD_PATH. When found, the + file is interpreted, and should specify the build system location by + calling the boost-build rule:
- rule boost-build ( location ? ) - + rule boost-build ( location ? )- The directory specified by location and directories in - BOOST_BUILD_PATH are searched for a file called - bootstrap.jam which is loaded and completes startup. - -
This arrangement allows to make build system work without any - environmental variables. For example, build system files can be placed in - a directory boost-build at your project root, and a file - boost-build.jam at the project root can contain:
+ If location is a relative path, it is treated as relative to the + directory of boost-build.jam. The directory specified by location and + directories in BOOST_BUILD_PATH are then searched for a file called + bootstrap.jam which is interpreted and is expected to bootstrap the build + system. This arrangement allows the build system to work without any + command-line or environment variable settings. For example, if the build + system files were located in a directory "build-system/" at your project + root, you might place a boost-build.jam at the project root containing:- boost-build boost-build ; - + boost-build build-system ;- In this case, running bjam in the project root will + In this case, running bjam anywhere in the project tree will automatically find the build system.
- <feature-name>=<feature-value1>[","<feature-valueN>]* - +borland/<runtime-link>static- and the property set will be + More complex form is used to save typing. For example, instead of
-<feature-name>feature-value1 ... <feature-name>feature-valueN +borland/runtime-link=static borland/runtime-link=dynamic ++ one can use +
+borland/runtime-link=static,dynamic ++ Exactly, the convertion from argument to build request elements is + performed by (1) splitting the argument at each slash, (2) converting + each split part into a set of properties and (3) taking all possible + combination of the property sets. Each split part should have the + either the form +
+ feature-name=feature-value1[","feature-valueN]* ++ or, in case of implict feature +
+ feature-value1[","feature-valueN;]* ++ and will be converted into property set +
+<feature-name>feature-value1 .... <feature-name>feature-valueN-
Target identifier is used to denote a target. It is described by the following grammar: