diff options
author | DongHun Kwak <dh0128.kwak@samsung.com> | 2019-12-05 15:12:59 +0900 |
---|---|---|
committer | DongHun Kwak <dh0128.kwak@samsung.com> | 2019-12-05 15:12:59 +0900 |
commit | b8cf34c691623e4ec329053cbbf68522a855882d (patch) | |
tree | 34da08632a99677f6b79ecb65e5b655a5b69a67f /doc/html/bbv2 | |
parent | 3fdc3e5ee96dca5b11d1694975a65200787eab86 (diff) | |
download | boost-b8cf34c691623e4ec329053cbbf68522a855882d.tar.gz boost-b8cf34c691623e4ec329053cbbf68522a855882d.tar.bz2 boost-b8cf34c691623e4ec329053cbbf68522a855882d.zip |
Imported Upstream version 1.67.0upstream/1.67.0
Diffstat (limited to 'doc/html/bbv2')
-rw-r--r-- | doc/html/bbv2/overview.html | 26 | ||||
-rw-r--r-- | doc/html/bbv2/reference.html | 144 |
2 files changed, 168 insertions, 2 deletions
diff --git a/doc/html/bbv2/overview.html b/doc/html/bbv2/overview.html index 63a406ef2d..93508f2b15 100644 --- a/doc/html/bbv2/overview.html +++ b/doc/html/bbv2/overview.html @@ -454,7 +454,8 @@ actions create-file-from-another </tbody> </table></div> </div> -<br class="table-break"><div class="tip"><table border="0" summary="Tip"> +<br class="table-break"><p>Any of these files may also be overridden <a class="link" href="overview.html#bbv2.reference.init.options.config">on the command line</a></p> +<div class="tip"><table border="0" summary="Tip"> <tr> <td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../doc/src/images/tip.png"></td> <th align="left">Tip</th> @@ -722,6 +723,24 @@ b2 toolset=gcc variant=debug optimization=space that don't depend on the failed ones.</p></dd> <dt><span class="term"><code class="option">-j <em class="replaceable"><code>N</code></em></code></span></dt> <dd><p>Run up to <em class="replaceable"><code>N</code></em> commands in parallel.</p></dd> +<dt> +<a name="bbv2.reference.init.options.config"></a><span class="term"><code class="option">--config=<em class="replaceable"><code>filename</code></em></code></span> +</dt> +<dd> +<a class="indexterm" name="id-1.4.4.5.8.5.3.12.2.1"></a><p>Override all <a class="link" href="overview.html#bbv2.overview.configuration" title="Configuration">configuration files</a></p> +</dd> +<dt><span class="term"><code class="option">--site-config=<em class="replaceable"><code>filename</code></em></code></span></dt> +<dd> +<a class="indexterm" name="id-1.4.4.5.8.5.3.13.2.1"></a><p>Override the default <a class="link" href="overview.html#bbv2.overview.configuration" title="Configuration">site-config.jam</a></p> +</dd> +<dt><span class="term"><code class="option">--user-config=<em class="replaceable"><code>filename</code></em></code></span></dt> +<dd> +<a class="indexterm" name="id-1.4.4.5.8.5.3.14.2.1"></a><p>Override the default <a class="link" href="overview.html#bbv2.overview.configuration" title="Configuration">user-config.jam</a></p> +</dd> +<dt><span class="term"><code class="option">--project-config=<em class="replaceable"><code>filename</code></em></code></span></dt> +<dd> +<a class="indexterm" name="id-1.4.4.5.8.5.3.15.2.1"></a><p>Override the default <a class="link" href="overview.html#bbv2.overview.configuration" title="Configuration">project-config.jam</a></p> +</dd> <dt><span class="term"><code class="option">--debug-configuration</code></span></dt> <dd><p>Produces debug information about the loading of Boost.Build and toolset files.</p></dd> @@ -884,6 +903,11 @@ b2 link=static,shared threading=single,multi b2 include=static,shared </pre> <p>is not treated specially.</p> +<p>Multiple features may be grouped by using a forwards slash.</p> +<pre class="screen"> +b2 gcc/link=shared msvc/link=static,shared +</pre> +<p>This will build 3 different variants, altogether.</p> </div> <div class="section"> <div class="titlepage"><div><div><h4 class="title"> diff --git a/doc/html/bbv2/reference.html b/doc/html/bbv2/reference.html index 6d08f5101e..337abe970a 100644 --- a/doc/html/bbv2/reference.html +++ b/doc/html/bbv2/reference.html @@ -626,6 +626,57 @@ path-constant DATA : data/a.txt ; under <span class="guimenu">Configuration Properties</span> → <span class="guisubmenu">Manifest Tool</span> → <span class="guisubmenu">Input and Output</span> → <span class="guimenuitem">Additional Manifest Files</span>. </p> </dd> +<dt> +<a name="bbv2.reference.features.relevant"></a><span class="term"><code class="literal">relevant</code></span> +</dt> +<dd> +<a class="indexterm" name="id-1.4.4.8.4.4.28.2.1"></a><a class="indexterm" name="id-1.4.4.8.4.4.28.2.2"></a><p> + <span class="bold"><strong>Allowed values:</strong></span> the name of any feature. + </p> +<p> + This feature is used to indicate which other features are relevant for + a given target. It is usually not necessary to manage it explicitly, + as Boost.Build can deduce it in most cases. Features which are not + relevant will not affect target paths, and will not cause conflicts. + </p> +<p> + A feature will be considered relevant if any of the following are true + </p> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> +<li class="listitem">It is referenced by <code class="literal">toolset.flags</code> or <code class="literal">toolset.uses-features</code> +</li> +<li class="listitem">It is used by the requirements of a generator</li> +<li class="listitem">It is a subfeature of a relevant feature</li> +<li class="listitem">It has a subfeature which is relevant</li> +<li class="listitem">It is a composite feature, and any composed feature is relevant</li> +<li class="listitem">It affects target alternative selection for a main target</li> +<li class="listitem">It is a propagated feature and is relevant for any dependency</li> +<li class="listitem">It is relevant for any dependency created by the same main target</li> +<li class="listitem">It is used in the condition of a conditional property and the corresponding value is relevant</li> +<li class="listitem">It is explicitly named as relevent</li> +</ul></div> +<p> + </p> +<p>Relevant features cannot be automatically deduced in the following cases:</p> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> +<li class="listitem">Indirect conditionals. Solution: return properties of the form + <code class="literal"><relevant>result-feature:<relevant>condition-feature</code><div class="note"><table border="0" summary="Note"> +<tr> +<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../doc/src/images/note.png"></td> +<th align="left">Note</th> +</tr> +<tr><td align="left" valign="top"><p>This isn't really a <a class="link" href="reference.html#bbv2.reference.variants.propcond" title="Conditional properties">conditional</a>, + although for most purposes it functions like one. In particular, it does not support + multiple comma-separated elements in the condition, and it does work correctly even + in contexts where conditional properties are not allowed</p></td></tr> +</table></div> +</li> +<li class="listitem"><p>Action rules that read properties. Solution: add <code class="literal">toolset.uses-features</code> + to tell Boost.Build that the feature is actually used.</p></li> +<li class="listitem"><p>Generators and targets that manipulate property-sets directly. + Solution: set <code class="literal"><relevant></code> manually.</p></li> +</ul></div> +</dd> </dl></div> </div> <div class="section"> @@ -1281,6 +1332,7 @@ using vacpp ;</pre> <dt><span class="section"><a href="reference.html#bbv2.reference.tools.libraries.stlport">STLport library</a></span></dt> <dt><span class="section"><a href="reference.html#bbv2.reference.tools.libraries.zlib">zlib</a></span></dt> <dt><span class="section"><a href="reference.html#bbv2.reference.tools.libraries.bzip2">bzip2</a></span></dt> +<dt><span class="section"><a href="reference.html#bbv2.reference.tools.libraries.python">Python</a></span></dt> </dl></div> <p>Boost.Build provides special support for some third-party C++ libraries, documented below.</p> @@ -1413,6 +1465,95 @@ using bzip2 : 1.0.6 : <source>C:/Devel/src/bzip2-1.0.6 : <toolset>ms using bzip2 : 1.0.6 : : <toolset>gcc ; </pre> </div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="bbv2.reference.tools.libraries.python"></a>Python</h5></div></div></div> +<a class="indexterm" name="id-1.4.4.8.5.9.6.2"></a><p>Provides support for the + <a href="http://www.python.org" target="_top">python</a> language + environment to be linked in as a library.</p> +<p>python can be initialized using the following syntax</p> +<pre class="programlisting"> +using python : [<span class="optional"><em class="replaceable"><code>version</code></em></span>] : [<span class="optional"><em class="replaceable"><code>command-or-prefix</code></em></span>] : [<span class="optional"><em class="replaceable"><code>includes</code></em></span>] : [<span class="optional"><em class="replaceable"><code>libraries</code></em></span>] : [<span class="optional"><em class="replaceable"><code>conditions</code></em></span>] : [<span class="optional"><em class="replaceable"><code>extension-suffix</code></em></span>] ; + </pre> +<p>Options for using python:</p> +<div class="variablelist"><dl class="variablelist"> +<dt><span class="term"><code class="literal">version</code></span></dt> +<dd><p>the version of Python to use. Should be in Major.Minor + format, for example 2.3. Do not include the subminor version. + </p></dd> +<dt><span class="term"><code class="literal">command-or-prefix</code></span></dt> +<dd><p>Preferably, a command that invokes a Python interpreter. + Alternatively, the installation prefix for Python libraries + and includes. If empty, will be guessed from the version, the + platform's installation patterns, and the python executables + that can be found in PATH.</p></dd> +<dt><span class="term"><code class="literal">includes</code></span></dt> +<dd><p>the include path to Python headers. If empty, will be + guessed.</p></dd> +<dt><span class="term"><code class="literal">libraries</code></span></dt> +<dd><p>the path to Python library binaries. If empty, will + be guessed. On MacOS/Darwin, you can also pass the path of the + Python framework.</p></dd> +<dt><span class="term"><code class="literal">conditions</code></span></dt> +<dd><p>if specified, should be a set of properties that are + matched against the build configuration when Boost.Build + selects a Python configuration to use.</p></dd> +<dt><span class="term"><code class="literal">extension-suffix</code></span></dt> +<dd><p>A string to append to the name of extension modules + before the true filename extension. Ordinarily we would just + compute this based on the value of the <python-debugging> + feature. However ubuntu's python-dbg package uses the windows + convention of appending _d to debug-build extension modules. We + have no way of detecting ubuntu, or of probing python for the + "_d" requirement, and if you configure and build python using + --with-pydebug, you'll be using the standard *nix convention. + Defaults to "" (or "_d" when targeting windows and + <python-debugging> is set).</p></dd> +</dl></div> +<p>Examples:</p> +<pre class="programlisting"> +# Find python in the default system location +using python ; +# 2.7 +using python : 2.7 ; +# 3.5 +using python : 3.5 ; + +# On ubuntu 16.04 +using python +: 2.7 # version +: # Interpreter/path to dir +: /usr/include/python2.7 # includes +: /usr/lib/x86_64-linux-gnu # libs +: # conditions +; + +using python +: 3.5 # version +: # Interpreter/path to dir +: /usr/include/python3.5 # includes +: /usr/lib/x86_64-linux-gnu # libs +: # conditions +; + +# On windows +using python +: 2.7 # version +: C:\\Python27-32\\python.exe # Interperter/path to dir +: C:\\Python27-32\\include # includes +: C:\\Python27-32\\libs # libs +: <address-model>32 <address-model> # conditions - both 32 and unspecified +; + +using python +: 2.7 # version +: C:\\Python27-64\\python.exe # Interperter/path to dir +: C:\\Python27-64\\include # includes +: C:\\Python27-64\\libs # libs +: <address-model>64 # conditions +; +</pre> +</div> </div> <div class="section"> <div class="titlepage"><div><div><h4 class="title"> @@ -2783,7 +2924,8 @@ exe a : a.cpp the directory bin unless this is overridden by the build-dir project attribute. Under bin is a path that depends on the properties used to build each target. This path is uniquely determined by - all non-free, non-incidental properties. For example, + all <a class="link" href="reference.html#bbv2.reference.features.relevant">relevant</a> + non-free, non-incidental properties. For example, given a property set containing: <code class="computeroutput"><toolset>gcc <toolset-gcc:version>4.6.1 <variant>debug <warnings>all <define>_DEBUG <include>/usr/local/include |