[Boost-bugs] [Boost C++ Libraries] #10423: Unnecessary configuring of toolsets

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