2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-16 13:22:11 +00:00
Commit Graph

42 Commits

Author SHA1 Message Date
Jurko Gospodnetić
727365fb20 Boost Jam code cleanup - minor stylistic changes (added missing spaces around some parameters inside brackets in C code).
[SVN r79587]
2012-07-18 15:06:44 +00:00
Jurko Gospodnetić
0ff040d3a0 Boost Jam code cleanup - extracted code for getting a timestamp for the current system time to timestamp_current().
[SVN r79507]
2012-07-14 17:28:50 +00:00
Jurko Gospodnetić
ace6747054 Boost Jam's internal timestamp data structure now holds a member for nanosecond information. This information is still always set to 0 but, if set, is used when needed. Updated Boost Jam's header cache file format to hold the new extended timestamp information (bumped format version up to 5).
[SVN r79506]
2012-07-14 17:17:09 +00:00
Jurko Gospodnetić
6383f7f161 Boost Jam code cleanup - wrapped up timestamp values inside a timstamp structure instead of using a raw time_t value as another preparation step towards implementing support for timestamps with resolution finer than 1 second. All timestamp manipulation now done using the new timestamp_XXX() API.
File timestamps displayed with -d+3 debug output now presented in UTC (+0000) timezone.

Other related minor stylistic changes:
  - timestamp_from_target() renamed to timestamp_from_path()
  - timestamp_from_target() parameter order switched
  - comment updates
  - added some const function parameter modifiers
  - some header #include directives reordered alphabetically

[SVN r79501]
2012-07-14 16:11:16 +00:00
Jurko Gospodnetić
22359b004a Restoring Boost Build & Jam changes from revisions [79281 - 79310] (inclusive) previously temporarily reverted in revision [79321]. This is done to test whether the problem causing the original revert was introduced in revision [79311] (a bug has been found in that revision that could cause the observed Boost Jam crashes). Remaining reverted changes will be reverted if we do not detect any Boost library tester failures with this revision.
[SVN r79402]
2012-07-10 15:27:58 +00:00
K. Noel Belcourt
3c3e5d01d3 Fix buffer output so newline is actully written to
cmd buffer.  Also move some closure diagnostics to
avoid interleaved output (no functional change, just
better encapsulation).



[SVN r79341]
2012-07-08 02:36:24 +00:00
Jurko Gospodnetić
7c5dac15be Boost Build/Jam cleanup - stylistic code changes.
[SVN r79244]
2012-07-03 15:58:26 +00:00
K. Noel Belcourt
4cccbd74e6 Fix bug where process jam log could not find
command status when max buffer not size not
unlimited and buffer full.  Change character
before buffer null terminator to be a newline
so command status appears on its own line.



[SVN r79184]
2012-06-30 05:40:36 +00:00
Jurko Gospodnetić
e09ccc984f Boost Jam code cleanup - execunix.c module no longer opens a separate stderr pipe for communicating with its child process in case it is going to have it send both its stderr & stdout output to the stdout pipe, i.e. if the -p0 option is specified (which is actually the default). Minor stylistic comment updates.
[SVN r79120]
2012-06-26 18:12:40 +00:00
Jurko Gospodnetić
9e4cbd1017 Boost Jam code cleanup - internal execunix.c refactoring.
[SVN r79118]
2012-06-26 17:25:33 +00:00
Jurko Gospodnetić
8e61df4ecc Boost Jam code cleanup - marked several internal execunix.c module functions as static.
[SVN r79117]
2012-06-26 16:24:36 +00:00
Jurko Gospodnetić
3c5398ca2c Boost Jam code cleanup - moved checking for quiet actions from make1c() into make_closure(). This removes the need to tunnel related rule_name & target_name strings through all the exec*.c module command execution functionality.
[SVN r79115]
2012-06-26 15:36:47 +00:00
Jurko Gospodnetić
c9fdc14f55 Boost Jam code cleanup - out_action() calls from different platform specific exec*.c modules now moved into the central make_closure() function in the main build state machine implementation. exec_cmd() callbacks fitted with additional parameters to make this work but this should be temporary. exec*.c modules no longer need to remember their original command string given to execute just so they could pass them back to their out_action() calls since the central make_closure() function already has this information.
[SVN r79113]
2012-06-26 15:08:50 +00:00
Jurko Gospodnetić
d1edcc2be9 Boost Jam code cleanup - minor stylistic const correctness & comment changes.
[SVN r79110]
2012-06-26 13:49:06 +00:00
Jurko Gospodnetić
3e956219be Boost Jam code cleanup - minor stylistic execunix.c module comment changes.
[SVN r79105]
2012-06-26 10:48:55 +00:00
Jurko Gospodnetić
f7ac3e9810 Corrected how Boost Jam handles no-op actions, i.e. those that the used exec*.c platform specific implementation module flagged as a no-op. They still do not cause an external process to be triggered but internally Boost Jam now processes their results the same as if they had been triggered and had done nothing except return EXIT_OK (i.e. they get reported correctly with -d1 & -d2 options, their timing and action rules get triggered and such). This fixes the core_d12.py Boost Build test which was failing due to no-op actions no causing their names to be reported to stdout when run with -d1.
[SVN r79104]
2012-06-26 10:42:58 +00:00
Jurko Gospodnetić
e04c4eba68 Boost Jam code cleanup - added support for exec*.c modules deciding that there is really no purpose in running the given 'do-nothing' command on their platform and simply telling the main build state machine to consider that command successfully executed. This is a preparation step for implementing a better 'raw command execution' criteria on Windows where attempting to execute an empty raw command would issue an error.
[SVN r79082]
2012-06-25 14:54:18 +00:00
Jurko Gospodnetić
fad63f7d5a Boost Jam code cleanup - added a new exec_check() exec*.c module platform specific functions and moved all command validation into them. MAXLINE macro is no longer needed globally for all platforms, and those platforms that do not have a fixed constant for their maximum command line length (e.g. Windows) may now hold that knowledge inside their exec*.c modules and not export it in any way. Windows execnt.c implementation still does some extra command-trimming that needs to be cleaned up.
[SVN r79078]
2012-06-25 13:42:00 +00:00
Jurko Gospodnetić
e413acfebb Boost Jam code cleanup - extracted running command counting out of platform specific exec*.c modules and moved it to the central make1.c module. Simplified upper running command count checking since with the new '-j' command-line parameter and the PARALLELISM built-in variable value checking we now know that globs.jobs is always in the [1, MAXJOBS] range.
[SVN r79075]
2012-06-25 09:25:59 +00:00
Jurko Gospodnetić
4a96c4dd2c Boost Jam code cleanup - more standardized 'default shell' implementation in both execnt.c & execunix.c modules. This removes the knowledge duplication in code about what default shell we are using as well as allows us to process default & non-default shells equally.
[SVN r79072]
2012-06-25 01:32:02 +00:00
Jurko Gospodnetić
5fe0d49e68 Boost Jam code cleanup - refactored code in exec*.c module for executing child processes to reduce duplication and function size. The only externally visible change is in several debug (-d+4) messages.
[SVN r79065]
2012-06-24 16:10:58 +00:00
Jurko Gospodnetić
3f8d389814 Boost Jam now correctly reports an end-user error message when its pipe() system call fails on unix. Previously it just did a silent exit.
[SVN r79062]
2012-06-24 14:24:40 +00:00
Jurko Gospodnetić
c417befae9 Boost Jam code cleanup - minor stylistic change - pipes used to communicate with child processes no longer have their parent side descriptors inherited by the child process instead of being explicitly closed in the child process.
[SVN r79061]
2012-06-24 14:22:38 +00:00
Jurko Gospodnetić
bd1a5eff25 Boost Jam code cleanup - added a new execcmd.c module to hold shared implementation between different exec*.c modules. Extracted external command process interrupt handling code into the new module.
BROKEN: execcmd.c not actually added in this revision.

[SVN r79055]
2012-06-24 11:59:49 +00:00
Jurko Gospodnetić
ee3337d46c Boost Jam code cleanup - removed global exec*.c module exec_done() cleanup routines as they were either not doing anything (execnt.c) or just releasing memory that would get released automatically by the OS on the imminent process exit (execunix.c).
[SVN r79052]
2012-06-24 10:58:58 +00:00
Jurko Gospodnetić
ed1c4c1d1a Boost Jam code cleanup - extracted functions for finding a free running tables command slot in execnt.c & execunix.c modules.
[SVN r79051]
2012-06-24 10:42:19 +00:00
Jurko Gospodnetić
e0a2ffe343 Boost Jam code cleanup - removed an unused global variable in the execunix.c module.
[SVN r79050]
2012-06-24 10:31:48 +00:00
Jurko Gospodnetić
e101463453 Boost Jam code cleanup - minor stylistic changes in the execunix.c module.
[SVN r79049]
2012-06-24 10:29:30 +00:00
Jurko Gospodnetić
5206ea3f95 Updated the Boost.Jam exec_cmd() interface to take its command parameter as a string object instead of a raw char *.
[SVN r79007]
2012-06-19 12:33:49 +00:00
Jurko Gospodnetić
2fcbd23c3e Cleaned up Boost Jam's exec_cmd() interface a bit to avoid its callback definition duplication. Minor stylistic changes.
[SVN r79005]
2012-06-19 12:13:42 +00:00
K. Noel Belcourt
3d7cdbc654 Fix off by one error that resulted in less than the
full amount of target output being output to the user.



[SVN r78874]
2012-06-10 23:05:25 +00:00
Jurko Gospodnetić
184ac58165 Minor stylistic changes. Removed some minor code duplication.
[SVN r78862]
2012-06-09 07:28:42 +00:00
K. Noel Belcourt
9ccc28c59c Handle signals causing early returns from select
and waitpid.  Should fix FreeBSD reported problem.



[SVN r78861]
2012-06-09 00:21:03 +00:00
K. Noel Belcourt
30130783cb Add ability to limit amount of target output that is
output by bjam.  Added bjam argument -mx where x is
the maximum amount of output to be captured from a 
target, in kb.

This fix will enable, PGI, VACPP, and Clang to cycle
normally in the nightly testing.



[SVN r78847]
2012-06-07 15:36:46 +00:00
K. Noel Belcourt
3cf875e93b Revert commit 76862, restore FreeBSD and other
unix testers that I broke with this commit.



[SVN r78800]
2012-06-02 18:26:35 +00:00
Steven Watanabe
26703a88ab Use dynamic arrays instead of linked lists. Reduces memory use about 10% overall.
[SVN r77408]
2012-03-19 18:17:36 +00:00
K. Noel Belcourt
0fe5fe4d51 Revert 77005, biffed the revert of 76862.
[SVN r77009]
2012-02-13 20:08:20 +00:00
K. Noel Belcourt
8b685581ea Revert commit 76862. This causes problems for a
tester that we need to track down.



[SVN r77005]
2012-02-13 16:36:00 +00:00
K. Noel Belcourt
baf008bcbe Handle message truncation, zombies, sigchld handling.
Changes to get verbose compiler output down to a manageable
size.  Added option, -mN to limit output to N kb.  Default
is to capture all compiler generated output.  Added this
option to ignore massive compiler diagnostic outout 
associated with some compilers.  With this change, I can
increase the nightly timeout to longer than 300 seconds to
give some slower compilers a change to finish compiling.



[SVN r76862]
2012-02-03 23:11:16 +00:00
Steven Watanabe
70d5029905 Replace newstr with object. Use OBJECT * instead of char *. Fix a few bugs uncovered by the better typechecking.
[SVN r75609]
2011-11-22 23:04:09 +00:00
Steven Watanabe
e1f9c906cd Fix memory leaks. Make sure that newstr and copystr are always used as needed.
[SVN r75502]
2011-11-16 03:00:54 +00:00
Vladimir Prus
c5c0853519 Kill 'engine/src', moving all content to 'engine'.
[SVN r68592]
2011-02-01 08:16:47 +00:00