Subject: [Boost-bugs] [Boost C++ Libraries] #10423: Unnecessary configuring of toolsets
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-08-30 00:59:35
#10423: Unnecessary configuring of toolsets
----------------------------------+---------------------------
Reporter: eldiener | Owner: vladimir_prus
Type: Feature Requests | Status: new
Milestone: To Be Determined | Component: build
Version: Boost Release Branch | Severity: Problem
Keywords: |
----------------------------------+---------------------------
The toolsets in user-config.jam and site-config.jam ( I will call them the
'global config jam files' ) are configured when a "using xxx ;" is
encountered in these files, each time b2 is invoked. This occurs despite
the fact that the toolset with which b2 is invoked may not be a particular
toolset which is being configured in the global config jam files .
This is extremely wasteful and unnecessarily time consuming. The global
config jam files should be treated differently than the chain of jam files
being invoked whenever b2 is run in some directory. Only the toolset(s) in
the global config files which are needed for a particular b2 invocation
should be configured when encountered there.
It is very possible that the end-user has a 'using xxx ;' statement in one
of the global config jam files which will only work when the appropriate
toolset is actually being invoked, otherwise will fail. One example of
this is if toolset A depends on a particular version of toolset B. If the
end-user has switched to a different version of toolset B, and invoked b2
with that different version of toolset B, then b2 at the very least will
issue error(s) when toolset A is configured. This is an actual situation
in the relationship of clang to gcc, since a clang built with a particular
version of gcc will depend on that particular versions headers/RTL.
Forcing the end-user to comment out that toolset configuration statement
until it is ready to be actually used would be tedious for the end-user
and Boost Build unfriendly.
Please consider changing Boost Build so that toolsets in the global config
jam files are not configured until it can be determined that they actually
need to be used.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/10423> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:16 UTC