2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-13 00:12:11 +00:00

Improve configuration/invocation docs

[SVN r49511]
This commit is contained in:
Vladimir Prus
2008-11-01 13:23:12 +00:00
parent b375bc345e
commit 2bd173c693
5 changed files with 413 additions and 367 deletions

View File

@@ -296,58 +296,109 @@ actions create-file-from-another
<section id="bbv2.advanced.configuration">
<title>Configuration</title>
<para>The Boost.Build configuration is specified in the file
<filename>user-config.jam</filename>. You can edit the one in the top-level
directory of Boost.Build installation or create a copy in your home
directory and edit that. (See <xref linkend="bbv2.reference.init.config"/>
for the exact search paths.) The primary function of that file is to declare
which compilers and other tools are available. The simplest syntax to
configure a tool is:
<para>
On startup, Boost.Build searches and reads two configuration files:
<filename>site-config.jam</filename> and <filename>user-config.jam</filename>.
The first one is usually installed and maintained by system administrator, and
the second is for user to modify. You can edit the one in the top-level
directory of Boost.Build installation or create a copy in your home
directory and edit the copy. The following table explains where both files
are searched.
</para>
<table id="bbv2.reference.init.config">
<title>Search paths for configuration files</title>
<tgroup cols="3">
<thead>
<row>
<entry></entry>
<entry>site-config.jam</entry>
<entry>user-config.jam</entry>
</row>
</thead>
<tbody>
<row>
<entry>Linux</entry>
<entry>
<simpara><code>/etc</code></simpara>
<simpara><code>$HOME</code></simpara>
<simpara><code>$BOOST_BUILD_PATH</code></simpara>
</entry>
<entry>
<simpara><code>$HOME</code></simpara>
<simpara><code>$BOOST_BUILD_PATH</code></simpara>
</entry>
</row>
<row>
<entry>Windows</entry>
<entry>
<simpara><code>%SystemRoot%</code></simpara>
<simpara><code>%HOMEDRIVE%%HOMEPATH%</code></simpara>
<simpara><code>%HOME%</code></simpara>
<simpara><code>%BOOST_BUILD_PATH%</code></simpara>
</entry>
<entry>
<simpara><code>%HOMEDRIVE%%HOMEPATH%</code></simpara>
<simpara><code>%HOME%</code></simpara>
<simpara><code>%BOOST_BUILD_PATH%</code></simpara>
</entry>
</row>
</tbody>
</tgroup>
</table>
<tip>
<para>
You can use the <command>--debug-configuration</command> option to
find which configuration files are actually loaded.
</para>
</tip>
<para>
Usually, <filename>user-config.jam</filename> just defines available compilers
and other tools (see <xref linkend="bbv2.recipies.site-config"/> for more advanced
usage). A tool is configured using the following syntax:
</para>
<programlisting>
using <replaceable>tool-name</replaceable> ;
using <replaceable>tool-name</replaceable> : ... ;
</programlisting>
<para>
The <functionname>using</functionname> rule is given a name of tool, and
will make that tool available to Boost.Build. For example,
<code>using gcc ;</code> will make the gcc compiler available.
<programlisting>
using gcc ;
</programlisting> will make the <ulink url="http://gcc.gnu.org">GCC</ulink> compiler available.
</para>
<para>
Since nothing but a tool name is specified, Boost.Build will pick some
default settings. For example, it will use the <command>gcc</command>
executable found in the <envar>PATH</envar>, or look in some known
installation locations. In most cases, this strategy works automatically.
In case you have several versions of a compiler, it is installed in some
unusual location, or you need to tweak its configuration, you'll need to
pass additional parameters to the <functionname>using</functionname> rule.
The parameters to <functionname>using</functionname> can be different for
each tool. You can obtain specific documentation for any tool's
configuration parameters by invoking
<programlisting>
bjam --help <replaceable>tool-name</replaceable>.init
</programlisting>
All the supported tools are documented in <xref linkend="bbv2.reference.tools"/>,
including the specific options they take. Some general notes that apply to most
C++ compilers are below.
</para>
<para>
That said, for all the compiler toolsets Boost.Build supports
For all the C++ compiler toolsets Boost.Build supports
out-of-the-box, the list of parameters to
<functionname>using</functionname> is the same: <parameter
class="function">toolset-name</parameter>, <parameter
class="function">version</parameter>, <parameter
class="function">invocation-command</parameter>, and <parameter
class="function">options</parameter>.
<!-- the previous text here was really confusing -->
</para>
<para>The <parameter class="function">version</parameter> parameter
identifies the toolset version, in case you have several installed. It can
have any form you like, but it is recommended that you use a numeric
identifier like <literal>7.1</literal>.
</para>
<para>
The <parameter class="function">invocation-command</parameter> parameter
is the command that must be executed to run the compiler. This parameter
can usually be omitted if the compiler executable
<para>If you have a single compiler, and the compiler executable
<itemizedlist>
<listitem><para>has its &#x201C;usual name&#x201D; and is in the
<envar>PATH</envar>, or</para></listitem>
@@ -356,27 +407,24 @@ bjam --help <replaceable>tool-name</replaceable>.init
<listitem><para>can be found using a global system like the Windows
registry.</para></listitem>
</itemizedlist>
For example:
it can be configured by simply:</para>
<programlisting>
using msvc : 7.1 ;
using gcc ;
using <replaceable>tool-name</replaceable> ;
</programlisting>
If the compiler can be found in the <envar>PATH</envar> but only by a
nonstandard name, you can just supply that name:
<!-- TODO: mention auto-configuration? -->
<para>If the compiler is installed in a custom directory, you should provide the
command that invokes the compiler, for example:</para>
<programlisting>
using gcc : : g++-3.2 ;
</programlisting>
Otherwise, it might be necessary to supply the complete path to the
compiler executable:
<programlisting>
using msvc : : "Z:/Programs/Microsoft Visual Studio/vc98/bin/cl" ;
</programlisting>
<para>
Some Boost.Build toolsets will use that path to take additional actions
required before invoking the compiler, such as calling vendor-supplied
scripts to set up its required environment variables. When compiler
executables for C and C++ are different, path to the C++ compiler
executable must be specified. The &#x201C;invocation command&#x201D; can
executable must be specified. The command can
be any command allowed by the operating system. For example:
<programlisting>
using msvc : : echo Compiling &#x26;&#x26; foo/bar/baz/cl ;
@@ -397,6 +445,7 @@ using gcc : 3.2 : g++-3.2 ;
need to explicitly specify the command.
</para>
<!-- TODO: This is not actually relevant for gcc now, and we need to rethink this
<para>As shown above, both the <parameter
class="function">version</parameter> and <parameter
class="function">invocation-command</parameter> parameters are
@@ -410,167 +459,333 @@ using gcc : 3.4 : g++-3.4 ;
</programlisting>
because the first <functionname>using</functionname> call does
not specify a <parameter class="function">version</parameter>.
</para>
</para> -->
<para>The <parameter class="function">options</parameter>
parameter is used to fine-tune the configuration. All of
Boost.Build's standard compiler toolsets accept properties of the
four builtin features <varname>cflags</varname>,
<varname>cxxflags</varname>, <varname>compileflags</varname> and
<varname>linkflags</varname> as <parameter
class="function">options</parameter> specifying flags that will be
always passed to the corresponding tools. Values of the
<varname>cflags</varname> feature are passed directly to the C
compiler, values of the <varname>cxxflags</varname> feature are
passed directly to the C++ compiler, and values of the
<varname>compileflags</varname> feature are passed to both. For
example, to configure a <command>gcc</command> toolset so that it
always generates 64-bit code you could write:
<para>
Many of toolsets have an <parameter class="function">options</parameter>
parameter to fine-tune the configuration. All of
Boost.Build's standard compiler toolsets accept four options
<varname>cflags</varname>, <varname>cxxflags</varname>,
<varname>compileflags</varname> and <varname>linkflags</varname> as <parameter
class="function">options</parameter> specifying flags that will be
always passed to the corresponding tools. Values of the
<varname>cflags</varname> feature are passed directly to the C
compiler, values of the <varname>cxxflags</varname> feature are
passed directly to the C++ compiler, and values of the
<varname>compileflags</varname> feature are passed to both. For
example, to configure a <command>gcc</command> toolset so that it
always generates 64-bit code you could write:
<programlisting>
using gcc : 3.4 : : &lt;compileflags&gt;-m64 &lt;linkflags&gt;-m64 ;
using gcc : 3.4 : : &lt;compileflags&gt;-m64 &lt;linkflags&gt;-m64 ;
</programlisting>
</para>
<warning>
<para>
Although the syntax used to specify toolset options is very similar
to syntax used to specify requirements in Jamfiles, the toolset options
are not the same as features. Don't try to specify a feature value
in toolset initialization.
</para>
</warning>
</section>
<section id="bbv2.advanced.invocation">
<title>Invocation</title>
<para>This section describes how invoke Boost.Build from the command line</para>
<para>To invoke Boost.Build, type <command>bjam</command> on the command line. Three kinds
of command-line tokens are accepted, in any order:</para>
<variablelist>
<varlistentry>
<term>options</term>
<para>To build all targets defined in Jamfile in the current directory with default properties, run:
<listitem><para>Options start with either dash, or two dashes. The standard options
are listed below, and each project may add additional options</para></listitem>
</varlistentry>
<varlistentry>
<term>properties</term>
<listitem><para>Properties specify details of what you want to build (e.g. debug
or release variant). Syntactically, all command line tokens with equal sign in them
are considered to specify properties. In the simplest form, property looks like
<command><replaceable>feature</replaceable>=<replaceable>value</replaceable></command>
</para></listitem>
</varlistentry>
<varlistentry>
<term>target</term>
<listitem><para>All tokens that are neither options nor properties specify
what targets to build. The available targets entirely depend on the project
you are building.</para></listitem>
</varlistentry>
</variablelist>
<section id="bbv2.advanced.invocation.examples">
<title>Examples</title>
<para>To build all targets defined in Jamfile in the current directory with default properties, run:
<screen>
bjam
</screen></para>
</screen>
</para>
<para>To build specific targets, specify them on the command line:
<para>To build specific targets, specify them on the command line:
<screen>
bjam lib1 subproject//lib2
</screen>
</para>
</para>
<para>To request a certain value for some property, add <literal>
<replaceable>property</replaceable>=<replaceable>value</replaceable></literal> to the command line:
<para>To request a certain value for some property, add <literal>
<replaceable>property</replaceable>=<replaceable>value</replaceable></literal> to the command line:
<screen>
bjam toolset=gcc variant=debug optimization=space
</screen>
For often used features, like <literal>toolset</literal> and <literal>variant</literal> you can
omit the feature name, so the above can be written as:
</para>
</section>
<section id="bbv2.advanced.invocation.options">
<title>Options</title>
<para>Boost.Build recognizes the following command line options.</para>
<variablelist>
<varlistentry id="bbv2.reference.init.options.help">
<term><option>--help</option></term>
<listitem>
<para>Invokes the online help system. This prints general
information on how to use the help system with additional
--help* options.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--clean</option></term>
<listitem>
<para>Cleans all targets in the current directory and
in any subprojects. Note that unlike the <literal>clean</literal>
target in make, you can use <literal>--clean</literal>
together with target names to clean specific targets.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--clean-all</option></term>
<listitem>
<para>Cleans all targets,
no matter where they are defined. In particular, it will clean targets
in parent Jamfiles, and targets defined under other project roots.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--build-dir</option></term>
<listitem>
<para>Changes build directories for all project roots being built. When
this option is specified, all Jamroot files should declare project name.
The build directory for the project root will be computed by concatanating
the value of the <option>--build-dir</option> option, the project name
specified in Jamroot, and the build dir specified in Jamroot
(or <literal>bin</literal>, if none is specified).
</para>
<para>The option is primarily useful when building from read-only
media, when you can't modify Jamroot.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--version</option></term>
<listitem>
<para>Prints information on Boost.Build and Boost.Jam
versions.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--debug-configuration</option></term>
<listitem>
<para>Produces debug information about loading of Boost.Build
and toolset files.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--debug-building</option></term>
<listitem>
<para>Prints what targets are being built and with what properties.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--debug-generators</option></term>
<listitem>
<para>Produces debug output from generator search process.
Useful for debugging custom generators.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--ignore-config</option></term>
<listitem>
<para>Do not load <literal>site-config.jam</literal> and
<literal>user-config.jam</literal> configuration files.
</para>
</listitem>
</varlistentry>
</variablelist>
</section>
<section id="bbv2.advanced.invocation.properties">
<title>Properties</title>
<para>In the simplest case, the build is performed with a single set of properties,
that you specify on the command line with elements in the form
<command><replaceable>feature</replaceable>=<replaceable>value</replaceable></command>.
The complete list of features can be found in <xref linkend="bbv2.advanced.builtins.features"/>.
The most common features are summarized below.</para>
<table>
<tgroup cols="3">
<thead>
<row>
<entry>Feature</entry>
<entry>Allowed values</entry>
<entry>Notes</entry>
</row>
</thead>
<tbody>
<row>
<entry>variant</entry>
<entry>debug,release</entry>
<entry></entry>
</row>
<row>
<entry>link</entry>
<entry>shared,static</entry>
<entry>Determines if Boost.Build creates shared or static libraries</entry>
</row>
<row>
<entry>threading</entry>
<entry>single,multi</entry>
<entry>Cause the produced binaries to be thread-safe. This requires proper support in the source code itself.</entry>
</row>
<row>
<entry>toolset</entry>
<entry>(Depends on configuration)</entry>
<entry>The C++ compiler to use. See <xref linkend="bbv2.reference.tools.compilers"/> for a detailed list.</entry>
</row>
<row>
<entry>cxxflags</entry>
<entry>(Arbitrary string)</entry>
<entry>Custom options to pass to the C++ compiler.</entry>
</row>
<row>
<entry>cflags</entry>
<entry>(Arbitrary string)</entry>
<entry>Custom options to pass to the C compiler.</entry>
</row>
<row>
<entry>includes</entry>
<entry>(Arbitrary string)</entry>
<entry>Additional include paths for C and C++ compilers.</entry>
</row>
<row>
<entry>define</entry>
<entry>(Arbitrary string)</entry>
<entry>Additional macro definitions for C and C++ compilers.</entry>
</row>
<row>
<entry>runtime-link</entry>
<entry>shared,static</entry>
<entry>Determines if shared or static version of C and C++ runtimes should be used.</entry>
</row>
</tbody>
</tgroup>
</table>
If you have more than one version of a given C++ toolset (e.g. configured in
<filename>user-config.jam</filename>, or autodetected, as happens with msvc), you can
request the specific version by passing
<code><replaceable>toolset</replaceable>-<replaceable>version</replaceable></code> as
the value of the <code>toolset</code> feature, for example <code>toolset=msvc-8.0</code>.
<para>
If a feature has a fixed set of values it can be specified more than
once on the command line. <!-- define 'base' and link to it -->
In which case, everything will be built several times --
once for each specified value of a feature. For example, if you use
</para>
<screen>
bjam optimization=space
bjam link=static link=shared threading=single threading=multi
</screen>
</para>
<para>
Then a total of 4 builds will be performed. For convenience,
instead of specifying all requested values of a feature in separate command line elements,
you can separate the values with commands, for example:
</para>
<screen>
bjam link=static,shared threading=single,multi
</screen>
<para>
The comma has special meaning only if the feature has a fixed set of values, so
</para>
<screen>
bjam include=static,shared
</screen>
<para>is not treated specially.</para>
</section>
<section id="bbv2.advanced.invocation.targets">
<title>Targets</title>
<para>Boost.Build recognizes the following command line options.</para>
<variablelist>
<varlistentry>
<term><option>--clean</option></term>
<listitem>
<para>Cleans all targets in the current directory and
in any subprojects. Note that unlike the <literal>clean</literal>
target in make, you can use <literal>--clean</literal>
together with target names to clean specific targets.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--clean-all</option></term>
<listitem>
<para>Cleans all targets,
no matter where they are defined. In particular, it will clean targets
in parent Jamfiles, and targets defined under other project roots.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--build-dir</option></term>
<listitem>
<para>Changes build directories for all project roots being built. When
this option is specified, all Jamroot files should declare project name.
The build directory for the project root will be computed by concatanating
the value of the <option>--build-dir</option> option, the project name
specified in Jamroot, and the build dir specified in Jamroot
(or <literal>bin</literal>, if none is specified).
</para>
<para>The option is primarily useful when building from read-only
media, when you can't modify Jamroot.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--version</option></term>
<listitem>
<para>Prints information on Boost.Build and Boost.Jam
versions.
</para>
</listitem>
</varlistentry>
<varlistentry id="bbv2.reference.init.options.help">
<term><option>--help</option></term>
<listitem>
<para>Invokes the online help system. This prints general
information on how to use the help system with additional
--help* options.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--debug-configuration</option></term>
<listitem>
<para>Produces debug information about loading of Boost.Build
and toolset files.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--debug-building</option></term>
<listitem>
<para>Prints what targets are being built and with what properties.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--debug-generators</option></term>
<listitem>
<para>Produces debug output from generator search process.
Useful for debugging custom generators.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--ignore-config</option></term>
<listitem>
<para>Do not load <literal>site-config.jam</literal> and
<literal>user-config.jam</literal> configuration files.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--debug</option></term>
<listitem>
<para>Enables internal checks.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>For complete specification of command line syntax, see
<xref linkend="bbv2.reference.init.args"/>
</para>
<para>All command line elements that are neither options nor properties are the names of the
targets to build. See <xref linkend="bbv2.reference.ids"/>. If no target is specified,
the project in the current directory is built.</para>
</section>
</section>

View File

@@ -9,7 +9,7 @@
<chapter id="bbv2.reference"
xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Detailed reference</title>
<title>Reference</title>
<section id="bbv2.reference.general">
<title>General information</title>
@@ -49,186 +49,9 @@ boost-build build-system ;
automatically find the build system.</para>
<para>The default <filename>bootstrap.jam</filename>, after loading some standard
definitions, loads two files, which can be provided/customised by
user: <filename>site-config.jam</filename> and <filename>user-config.jam</filename>.</para>
<para>Locations where those files are searched are summarized below:</para>
<table id="bbv2.reference.init.config">
<title>Search paths for configuration files</title>
<tgroup cols="3">
<thead>
<row>
<entry></entry>
<entry>site-config.jam</entry>
<entry>user-config.jam</entry>
</row>
</thead>
<tbody>
<row>
<entry>Linux</entry>
<entry>
<simpara><code>/etc</code></simpara>
<simpara><code>$HOME</code></simpara>
<simpara><code>$BOOST_BUILD_PATH</code></simpara>
</entry>
<entry>
<simpara><code>$HOME</code></simpara>
<simpara><code>$BOOST_BUILD_PATH</code></simpara>
</entry>
</row>
<row>
<entry>Windows</entry>
<entry>
<simpara><code>%SystemRoot%</code></simpara>
<simpara><code>%HOMEDRIVE%%HOMEPATH%</code></simpara>
<simpara><code>%HOME%</code></simpara>
<simpara><code>%BOOST_BUILD_PATH%</code></simpara>
</entry>
<entry>
<simpara><code>%HOMEDRIVE%%HOMEPATH%</code></simpara>
<simpara><code>%HOME%</code></simpara>
<simpara><code>%BOOST_BUILD_PATH%</code></simpara>
</entry>
</row>
</tbody>
</tgroup>
</table>
<para>
Boost.Build comes with default versions of those files,
<!-- Where are those files installed? The user can't use them as templates unless she can find them -->
which can serve as templates for customized versions.
</para>
definitions, loads two <filename>site-config.jam</filename> and <filename>user-config.jam</filename>.</para>
</section>
<section id="bbv2.reference.commandline">
<title>Command line</title>
<para>The command line may contain:</para>
<itemizedlist>
<listitem><simpara>Jam options,</simpara></listitem>
<listitem><simpara>Boost.Build <link linkend=
"bbv2.reference.init.options">options</link>,</simpara></listitem>
<listitem><simpara>Command line arguments</simpara></listitem>
</itemizedlist>
<section id="bbv2.reference.init.args">
<title>Command line arguments</title>
<para>
Command line arguments specify targets and build
request using the following rules.
</para>
<itemizedlist>
<listitem>
<simpara>
An argument that does not contain slashes or the <code>=</code>
symbol is either a value of an implicit feature or of a target to
be built. It is taken to be value of a feature if an appropriate
feature exists. Otherwise, it is considered a <link linkend=
"bbv2.reference.ids">target id</link>. Building the
special target name “clean” has the same effect as
using the <code>--clean</code> option.
</simpara>
</listitem>
<listitem>
<para>
An argument containing either slashes or the <code>=</code> symbol
specifies a number of build request elements (see <xref linkend=
"bbv2.advanced.build_request"/>). In its simplest form, it is just
a set of properties, separated by slashes, which become a single
build request element, for example:
<programlisting>
borland/runtime-link=static
</programlisting>
A more complex form can be used to save typing. For example,
instead of
<programlisting>
borland/runtime-link=static borland/runtime-link=dynamic
</programlisting>
one can use
<programlisting>
borland/runtime-link=static,dynamic
</programlisting>
Exactly, the conversion 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 combinations
<!-- Be specific. Do you mean the cross-product? -->
of the property sets. Each split
part should have either the form
<programlisting>
<emphasis>feature-name</emphasis>=<emphasis>feature-value1</emphasis>[","<emphasis>feature-valueN</emphasis>]*
</programlisting>
or, in case of implicit features
<programlisting>
<emphasis>feature-value1</emphasis>[","<emphasis>feature-valueN</emphasis>;]*
</programlisting>
will be converted into the property set
<programlisting>
&lt;feature-name&gt;feature-value1 .... &lt;feature-name&gt;feature-valueN
</programlisting>
<!-- There's absolutely no explanation of how arguments are combined. Fix that. -->
</para>
</listitem>
</itemizedlist>
<para>
For example, the command line
<programlisting>
target1 debug gcc/runtime-link=dynamic,static
</programlisting>
would cause target called <literal>target1</literal> to be rebuilt in
debug mode, except that for gcc, both dynamically and statically
linked binaries would be created.
</para>
</section>
<section id="bbv2.reference.init.options">
<title>Command line options</title>
<para>All of the Boost.Build options start with the "--" prefix.
They are described in the following table.</para>
<para>FIXME: That table has moved into "User documentation" section
and there is nothing we can add here. Remove this part?</para>
</section>
</section>
</section>
@@ -805,15 +628,19 @@ path-constant DATA : data/a.txt ;
<para>Before using any tool, you must declare your intention, and possibly
specify additional information about the tool's configuration. This is
done with the <code>using</code> rule, for example:
done by calling the <code>using</code> rule, typically in your
<filename>user-config.jam</filename>, for example:</para>
<programlisting>
using gcc ;
</programlisting>
additional parameters can be passed just like for other rules, for example:
<para>additional parameters can be passed just like for other rules, for example:</para>
<programlisting>
using gcc : 4.0 : g++-4.0 ;
</programlisting>
The options that can be passed to each tool will be documented in the
<para>The options that can be passed to each tool are documented in the
subsequent sections.</para>
<section id="bbv2.reference.tools.compilers">
@@ -821,7 +648,10 @@ using gcc : 4.0 : g++-4.0 ;
<title>C++ Compilers</title>
<para>This section lists all Boost.Build modules that support C++
compilers and documents how each one can be initialized.</para>
compilers and documents how each one can be initialized. The name
of support module for compiler is also the value for
the <code>toolset</code> feature that can be used to explicitly
request that compiler. </para>
<section id="bbv2.reference.tools.compiler.gcc">
@@ -1310,7 +1140,7 @@ using dmc : &toolset_ops; ;</programlisting>
&using_repeation;
<para>If the command is not specified, Boost.Build will search for
a binary named <command>como</command> in
a binary named <command>dmc</command> in
<envar>PATH</envar>.</para>
&option_list_intro;

View File

@@ -13,8 +13,8 @@
<xi:include href="tutorial.xml"/>
<xi:include href="advanced.xml"/>
<xi:include href="tasks.xml"/>
<xi:include href="extending.xml"/>
<xi:include href="reference.xml"/>
<xi:include href="extending.xml"/>
<xi:include href="faq.xml"/>
<!-- Appendicies -->

View File

@@ -712,6 +712,7 @@ exe app : app.cpp : &lt;implicit-dependency&gt;parser ;
as potential dependencies.
</para>
</section>
</chapter>
<!--

View File

@@ -13,8 +13,8 @@
<xi:include href="tutorial.xml"/>
<xi:include href="advanced.xml"/>
<xi:include href="tasks.xml"/>
<xi:include href="extending.xml"/>
<xi:include href="reference.xml"/>
<xi:include href="extending.xml"/>
<xi:include href="faq.xml"/>
<!-- Appendicies -->