From b8cf34c691623e4ec329053cbbf68522a855882d Mon Sep 17 00:00:00 2001 From: DongHun Kwak Date: Thu, 5 Dec 2019 15:12:59 +0900 Subject: Imported Upstream version 1.67.0 --- doc/html/bbv2/overview.html | 26 +++++++- doc/html/bbv2/reference.html | 144 ++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 168 insertions(+), 2 deletions(-) (limited to 'doc/html/bbv2') 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 -
+

Any of these files may also be overridden on the command line

+
@@ -722,6 +723,24 @@ b2 toolset=gcc variant=debug optimization=space that don't depend on the failed ones.

-j N

Run up to N commands in parallel.

+
+--config=filename +
+
+

Override all configuration files

+
+
--site-config=filename
+
+

Override the default site-config.jam

+
+
--user-config=filename
+
+

Override the default user-config.jam

+
+
--project-config=filename
+
+

Override the default project-config.jam

+
--debug-configuration

Produces debug information about the loading of Boost.Build and toolset files.

@@ -884,6 +903,11 @@ b2 link=static,shared threading=single,multi b2 include=static,shared

is not treated specially.

+

Multiple features may be grouped by using a forwards slash.

+
+b2 gcc/link=shared msvc/link=static,shared
+
+

This will build 3 different variants, altogether.

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 Configuration PropertiesManifest ToolInput and OutputAdditional Manifest Files.

+
+relevant +
+
+

+ Allowed values: the name of any feature. +

+

+ 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. +

+

+ A feature will be considered relevant if any of the following are true +

+
    +
  • It is referenced by toolset.flags or toolset.uses-features +
  • +
  • It is used by the requirements of a generator
  • +
  • It is a subfeature of a relevant feature
  • +
  • It has a subfeature which is relevant
  • +
  • It is a composite feature, and any composed feature is relevant
  • +
  • It affects target alternative selection for a main target
  • +
  • It is a propagated feature and is relevant for any dependency
  • +
  • It is relevant for any dependency created by the same main target
  • +
  • It is used in the condition of a conditional property and the corresponding value is relevant
  • +
  • It is explicitly named as relevent
  • +
+

+

+

Relevant features cannot be automatically deduced in the following cases:

+
    +
  • Indirect conditionals. Solution: return properties of the form + <relevant>result-feature:<relevant>condition-feature

[Tip] Tip
+ + + + + +
[Note]Note

This isn't really a conditional, + 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

+ +
  • Action rules that read properties. Solution: add toolset.uses-features + to tell Boost.Build that the feature is actually used.

  • +
  • Generators and targets that manipulate property-sets directly. + Solution: set <relevant> manually.

  • + +
    @@ -1281,6 +1332,7 @@ using vacpp ;
    STLport library
    zlib
    bzip2
    +
    Python

    Boost.Build provides special support for some third-party C++ libraries, documented below.

    @@ -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 ; +
    +
    +Python
    +

    Provides support for the + python language + environment to be linked in as a library.

    +

    python can be initialized using the following syntax

    +
    +using python : [version] : [command-or-prefix] : [includes] : [libraries] : [conditions] : [extension-suffix] ;
    +          
    +

    Options for using python:

    +
    +
    version
    +

    the version of Python to use. Should be in Major.Minor + format, for example 2.3. Do not include the subminor version. +

    +
    command-or-prefix
    +

    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.

    +
    includes
    +

    the include path to Python headers. If empty, will be + guessed.

    +
    libraries
    +

    the path to Python library binaries. If empty, will + be guessed. On MacOS/Darwin, you can also pass the path of the + Python framework.

    +
    conditions
    +

    if specified, should be a set of properties that are + matched against the build configuration when Boost.Build + selects a Python configuration to use.

    +
    extension-suffix
    +

    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).

    +
    +

    Examples:

    +
    +# 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
    +;
    +
    +

    @@ -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 relevant + non-free, non-incidental properties. For example, given a property set containing: <toolset>gcc <toolset-gcc:version>4.6.1 <variant>debug <warnings>all <define>_DEBUG <include>/usr/local/include -- cgit v1.2.3