2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-14 12:42:11 +00:00
Steven Watanabe acdf27398b Remove premature optimization that breaks piecemeal on windows.
The bug happens because exec_check replaces the shell inside
the command structure, but make1cmds retains a reference to
the old shell. The bug appears when all of the following are true:
- The action is piecemeal
- b2 is running on Windows
- SHELL is %
- The action contains elements that require a shell
- The action is split into multiple commands
In particular, this applies for gcc.archive with a large
number of object files.

Instead of attempting to reuse the same shell, we make
a new copy in every iteration of the loop.  The shell
and target lists are usually short and the cost of copying
them is insignificant compared to the other work done by the loop.
In addition, the optimization is rarely triggered because
piecemeal actions that require splitting are relatively rare.
2019-02-15 11:55:59 -07:00
2018-01-22 09:45:02 -06:00
2018-09-26 09:54:06 -07:00
2018-11-18 12:00:51 -06:00
2018-11-11 20:57:27 -06:00
2018-09-26 09:54:06 -07:00
2018-09-26 09:54:06 -07:00
2018-11-18 11:27:11 -06:00

Boost.Build
===========

See the Boost.Build website at https://boostorg.github.io/build/.

See the `guidelines for contributing <./CONTRIBUTING.rst>`__.
Description
Mirrored via gitea-mirror
Readme 39 MiB
Languages
C++ 73.8%
Python 22.6%
C 1.6%
Batchfile 0.7%
Shell 0.6%
Other 0.6%