diff --git a/boost_build_v2.html b/boost_build_v2.html index f5a356fe5..447140833 100644 --- a/boost_build_v2.html +++ b/boost_build_v2.html @@ -22,12 +22,12 @@ div.alert { color: red } table { align: center; border: thin; } - + + - build request, build request expansion and directly requested targets + - conditional properties + -->

Command line

Build process
+ +
Generated headers
@@ -177,12 +179,12 @@ bjam there. A simple application will be built. You can also play with other projects in examples-v2. + it somewhere. + +

It is slighly better way is to copy new/user-config.jam + into one of the locations where it can be found (given in this table). This prevent you from + accidentally overwriting your config when updating.

--> @@ -1027,17 +1029,17 @@ boost-build /path/to/boost.build ;
  • It allows to have main target names with slashes. + That makes good rationale for why main target must contain names. + -->
  • @@ -1675,6 +1677,35 @@ borland/runtime-link=static,dynamic +

    Generated headers

    + +

    Usually, Boost.Build handles implicit dependendies completely + automatically. For example, for C++ files, all #include + statements are found and handled. The only aspect where user help might + be needed is implicit dependency on generated files.

    + +

    By default, Boost.Build handles such dependencies within one main + target. For example, assume that main target "app" has two sources, + "app.cpp" and "parser.y". The latter source is converted into "parser.c" + and "parser.h". Then, if "app.cpp" includes "parser.h", Boost.Build will + detect this dependency. Moreover, since "parser.h" will be generated into + a build directory, the path to that directory will automatically added to + include path.

    + +

    Making this mechanism work across main target boundaries is possible, + but imposes certain overhead. For that reason, if there's implicit + dependency on files from other main targets, the <implicit-dependency> feature must be used, for + example:

    +
    +    lib parser : parser.y ;
    +    exe app : app.cpp : <implicit-dependency>parser ;
    +   
    +
    + The above example tells the build system that when scanning all sources + of "app" for implicit-dependencies, it should consider targets from + "parser" as potential dependencies. +

    Generators

    To construct a main target with given properties from sources, it is