2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-17 01:32:12 +00:00
Commit Graph

14 Commits

Author SHA1 Message Date
Vladimir Prus
62df71534f Support more parameters to rules.
Fixes #2552.
Patch from Jonathan Biggar.


[SVN r57536]
2009-11-10 07:21:03 +00:00
Rene Rivera
da6abec028 Isolate running of bjam tests to individual bjam instances to prevent possible spillover errors from one test affecting another test. Separate the bjam used to run the tests vs. the bjam being tested. And add automatic re-building of the bjam being tested. (windows changes, unix changes to follow).
[SVN r49878]
2008-11-23 00:58:07 +00:00
Jurko Gospodnetić
74eb969e43 Fixed a Boost Jam bug causing it to sometimes trigger actions depending on targets that have not been built yet. Test case included. Updated related code comments.
Bug was happening when we had a multifile action that got triggered to build its non-initial target. Then while that action was being executed all the other targets were reporting as 'already built' and were getting used by other actions prematurely. Quick-fixed by making all targets built by a single action list each other as 'included' causing anything else depending on any of these targets to automatically depend on all the others in the group as well.

The solution is not perfect as it might have some unexpected interactions with other uses of 'included' targets and now if any target in a group is not up to date then all of them will be rebuilt even if actually did not need the target that was up to date. On the other hand this should be a really rare use case as it would require the one target in a group to be up to date and be needed while another in the same group (i.e. built by the same action) to not be up to date.

[SVN r48426]
2008-08-28 19:20:27 +00:00
Jurko Gospodnetić
2871e44c9c Patch for the NORMALIZE_PATH builtin Boost Jam rule as well as an appropriate update for the path.jam Boost Build module where that rule was being used to implement path.join and related operations.
As it was written before the rule had 'random' behavior in some borderline cases such as: not passing it a parameter, passing it a folder whose path starts with one or two backslashes (as opposed to slashes) or passing it an invalid rooted path with enough '..' path elements to take it 'before the root path'. In those cases it would cause an access violation, 'incorrectly' un-root the path (i.e. remove the leading slash) or simply remove a 'random' path modification respectively. Also the rule is now more tiny bit more efficient and much better documented.

  Invalid rooted paths with enough '..' path elements to take them 'before the root path' are now recognized and an empty list is returned.

  Due to this rule having such 'messy' behavior the path.join rule and its user make-NT rule had some twisted logic in them to work around all the problems this caused. This patch invalidates the logic in question and replaces it with a much simpler one (detailed comments added).

  Other NORMALIZE_PATH callers should not be affected since both the old and the new version work the same on 'regular' paths (i.e. those not mentioned above).

  The new functionality for recognizing Boost Jam versions has been used to make Boost Build scripts use the old path functionality when using Boost Jam older than 3.1.17 and use the new functionality otherwise. As consequence, now anyone using the trunk version of Boost Build and an older 3.1.17 version of Boost.Jam will need to recompile their Boost Jam executable.

  The patch does not cause any Boost Build or Boost Jam tests to fail.

  Added a related NORMALIZE_PATH Boost Jam test. Note that this test causes Boost Jam versions built prior to this patch to crash (access violation).

  Added additional internal Boost Build tests for the path.jam module testing how it handles some invalid Windows paths.


[SVN r45158]
2008-05-05 22:37:19 +00:00
Jurko Gospodnetić
9103d18138 Minor stylistic Boost Jam test cleanup.
[SVN r45148]
2008-05-05 19:31:47 +00:00
Rene Rivera
1ea44258f8 Add test for result status values of simple actions, i.e. empty actions.
[SVN r41430]
2007-11-28 07:08:13 +00:00
Rene Rivera
eb7f1625d1 Make quietly actions really quiet by not printing the command output. The output for the quietly actions is still available through "__ACTION_RULE__".
[SVN r41236]
2007-11-19 17:44:31 +00:00
Rene Rivera
7bee0360ec Add test of -l limit option now that it's implemented on windows and unix.
[SVN r39352]
2007-09-17 16:58:10 +00:00
Rene Rivera
a13eb14a1c Add test for ticket #431.
[SVN r39335]
2007-09-17 00:44:16 +00:00
Rene Rivera
a582ed8c51 Minor adjustment to -n test, and add corresponding -d2 test.
[SVN r38588]
2007-08-11 00:42:32 +00:00
Rene Rivera
1bd0bef046 Add test to check 'bjam -n'.
[SVN r38587]
2007-08-11 00:32:25 +00:00
Rene Rivera
87d0504845 Implement running action commands through pipes (-p option) to fix jumbled output when using parallel execution with -j option. This is implemented for Unix variants, and Windows (Win32/NT). [ticket #994]
[SVN r38009]
2007-06-16 20:52:36 +00:00
Rene Rivera
08bebc57f8 Minor edits. Add var expansion test that veryfies that "$(x:D)" is broken.
[SVN r35351]
2006-09-27 14:52:19 +00:00
Rene Rivera
e7f8022433 Cleanup.
[SVN r35279]
2006-09-22 16:07:59 +00:00