Jurko Gospodnetić
9f01d3d262
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ć
bdac9aa723
Boost Jam code cleanup - minor stylistic changes in the execunix.c module.
...
[SVN r79049]
2012-06-24 10:29:30 +00:00
Jurko Gospodnetić
f62bd6b933
Corrected a Boost Jam bug introduced in revision 79046 - the total running command count was not getting bumped correctly.
...
[SVN r79048]
2012-06-24 10:23:28 +00:00
Jurko Gospodnetić
f86805e8ef
Boost Jam code cleanup - declared a couple of variables as const.
...
[SVN r79047]
2012-06-24 08:41:02 +00:00
Jurko Gospodnetić
8e8a55d779
Boost Jam code cleanup - execnt.c module code for registering its Ctrl-C related interrupt signal handler. Static variables no longer explicitly initialized to 0 since the compiler/loader does this for us.
...
BROKEN - fails to bump the total running command count.
[SVN r79046]
2012-06-24 01:09:18 +00:00
Jurko Gospodnetić
6ae5f2e30d
Boost Jam code cleanup - execnt.c module - minor stylistic changes.
...
[SVN r79045]
2012-06-24 01:02:39 +00:00
Jurko Gospodnetić
3476bbc69e
Boost Jam code cleanup - execnt.c module no longer frees its temporary command file name storage buffer since it reuses the same file name for the next command run from the same running commands table slot anyway and the final command's temporary file name storage buffer will get released on program exit anyway.
...
[SVN r79044]
2012-06-24 00:41:24 +00:00
Jurko Gospodnetić
2a8058aff3
Boost Jam code cleanup - execnt.c module no longer double-frees its running commands table slot's action & target variables when reusing the same slot for multiple commands.
...
[SVN r79043]
2012-06-24 00:18:43 +00:00
Jurko Gospodnetić
49f1b006f8
Updated Boost Jam's execnt.c module to report correct Windows API error messages instead of incorrectly expecting them to set the global errno C library variable and printing out error messages related to this invalid/random/unrelated value.
...
[SVN r79042]
2012-06-24 00:12:41 +00:00
Jurko Gospodnetić
5622bb4a9d
Code cleanup in Boost Jam's execnt.c module.
...
[SVN r79041]
2012-06-24 00:09:46 +00:00
Jurko Gospodnetić
6b36cfa238
Cleaned up and extended internal Boost Jam strings.c module unit tests.
...
[SVN r79040]
2012-06-24 00:00:35 +00:00
Jurko Gospodnetić
50fdc84a85
Fixed a Boost Jam debug assertion bug encountered when creating string objects with embedded '\0' characters as done for example by the SPLIT_BY_CHARACTERS builtin rule implementation.
...
[SVN r79039]
2012-06-23 23:48:14 +00:00
Jurko Gospodnetić
c5acd8299e
Minor stylistic changes in Boost Jam's strings.c module.
...
[SVN r79038]
2012-06-23 23:41:07 +00:00
Jurko Gospodnetić
d1748e252e
Corrected some minor memory leaks and avoided extra list copying in Boost Jam when processing piecemeal actions.
...
[SVN r79008]
2012-06-19 12:43:40 +00:00
Jurko Gospodnetić
b45ec34c91
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ć
09e976d0cb
Removed a printf() statement in Boost Jam's execnt.c module leftover by accident from a previous debugging session.
...
[SVN r79006]
2012-06-19 12:28:30 +00:00
Jurko Gospodnetić
fd4d69acd6
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
Jurko Gospodnetić
f658bf410a
Minor stylistic changes - renamed command parameter in string_new_trimmed() in Boost Jam's execnt.c module to source.
...
[SVN r79004]
2012-06-19 12:07:23 +00:00
Jurko Gospodnetić
a9d0cdd8e2
Added explicit checking for too long command-line arguments for running directly using the CreateProcessA() API.
...
[SVN r79000]
2012-06-19 00:55:44 +00:00
Jurko Gospodnetić
2dfef646c3
Refactoring Boost Build's execnt.c module - can_spawn() now takes a string * instead of a char * argument. Minor stylistic changes.
...
[SVN r78999]
2012-06-19 00:51:37 +00:00
Jurko Gospodnetić
360d573e96
Minor stylistic changes.
...
[SVN r78998]
2012-06-19 00:48:27 +00:00
Jurko Gospodnetić
5c9c05e42b
Refactored Boost Build's execnt.c module - commands to execute are now trimmed of all their leading and trailing spaces up front instead of 'whenever that becomes needed', removed redundant extra splitting of directly executed command strings into arguments. This fixes a bug caused by this extra splitting removing quotes around the executable (argument 0) - e.g. when executing the program 'C:\Program Files\dummy.exe' this would cause the program 'C:\Program.exe' to be executed instead if it exists.
...
[SVN r78997]
2012-06-19 00:23:18 +00:00
Jurko Gospodnetić
0a2eb316a6
Cleaned up end-user debug messages related to Boost Build's execnt.c module (-d+4).
...
[SVN r78996]
2012-06-19 00:02:25 +00:00
Jurko Gospodnetić
18e5ffe6cc
Minor stylistic changes.
...
[SVN r78995]
2012-06-18 23:56:01 +00:00
Jurko Gospodnetić
9ee9f351d4
Minor stylistic changes.
...
[SVN r78994]
2012-06-18 23:39:12 +00:00
Jurko Gospodnetić
a639ea7188
Minor stylistic end-user error message update in Boost Build's execnt.c module.
...
[SVN r78993]
2012-06-18 23:31:40 +00:00
Jurko Gospodnetić
c63206558f
Added logging the exact command-line string passed to the CreateProcessA() Windows API in Boost Build's execnt.c module.
...
[SVN r78992]
2012-06-18 23:30:58 +00:00
Jurko Gospodnetić
92296ee7a4
Code cleanup in Boost Build's execnt.c module - using the CreateProcessA() API directly instead of the CreateProcess() wrapper now & made some code more localized.
...
[SVN r78991]
2012-06-18 23:28:30 +00:00
Jurko Gospodnetić
3f6421cd91
Checking whether a command can be spawned directly (as opposed to invoking it via an external shell) in Boost Build's execnt.c module now correctly skips all leading whitespace characters and not just tabs and spaces.
...
[SVN r78990]
2012-06-18 23:17:33 +00:00
Jurko Gospodnetić
992931ee90
Refactored the Boost Build execnt.c module's maxline() function to cache its result instead of calling the GetVersionEx() Windows API on every call.
...
[SVN r78989]
2012-06-18 23:12:33 +00:00
Jurko Gospodnetić
e25c77fc7d
Minor stylistic changes - standardized relative type name and const modifier positions in Boost Build's execnt.c C module.
...
[SVN r78988]
2012-06-18 23:08:52 +00:00
Jurko Gospodnetić
8bdc35427c
Minor stylistic changes.
...
[SVN r78987]
2012-06-18 23:02:48 +00:00
K. Noel Belcourt
b5588a25aa
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ć
fc6a60ee1e
Minor stylistic changes. Removed some minor code duplication.
...
[SVN r78862]
2012-06-09 07:28:42 +00:00
K. Noel Belcourt
c851e03de3
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
a8344266f3
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
6e89b4abac
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
Jurko Gospodnetić
564fda1ae6
Updated the SPLIT_BY_CHARACTERS builtin rule signature so invalid calls get rejected with a correct error message instead of silently causing the rule to return an empty list.
...
[SVN r78608]
2012-05-25 10:16:36 +00:00
Jurko Gospodnetić
0c65651300
Minor stylistic change - trimmed trailing whitespace.
...
[SVN r78576]
2012-05-24 09:56:23 +00:00
Jurko Gospodnetić
0b1a787f20
Fixed Boost Jam crash when the SPLIT_BY_CHARACTERS rule gets passed an empty list as any of its arguments.
...
[SVN r78575]
2012-05-24 09:53:24 +00:00
Jurko Gospodnetić
10bf219ca4
Explicitly flushed bjam's standard output after printing out '...patience...' lines. Without a fflush() call these lines may get buffered and displayed all at once only after the first actual target has been built. It seems that Visual C++ compiler's runtime does not use line buffering for its standard output stream if given a pipe as its standard output (encountered with bjam compiled using msvc 10 and run by piping its output through the Cygwin tee utility).
...
[SVN r78545]
2012-05-22 21:06:47 +00:00
Steven Watanabe
c770907c69
Avoid a spurious dependency.
...
[SVN r78302]
2012-05-02 06:55:44 +00:00
Steven Watanabe
64add142e1
Replace ad hoc (incorrect) cycle detection code with a variation of Tarjan's algorithm.
...
[SVN r78287]
2012-05-01 06:45:35 +00:00
Steven Watanabe
e7e546092b
Avoid a self-cycle in scc_root.
...
[SVN r78283]
2012-04-30 18:21:47 +00:00
Steven Watanabe
2ddd4f5f69
Fix an infinite loop caused by creating a cycle in the strongly connected component links.
...
[SVN r78282]
2012-04-30 18:11:35 +00:00
Steven Watanabe
656fffe626
Don't assume that make1a processes targets in the same order as make0. It doesn't. Start a new stack when rescanning to avoid spurious cycles which cause a seg-fault.
...
[SVN r78281]
2012-04-30 16:49:42 +00:00
Steven Watanabe
d3b0ec3508
Handle cycles when determining target fate in make0.
...
[SVN r78259]
2012-04-30 01:21:04 +00:00
Steven Watanabe
4fbd8fa775
Pass the correct argument to make1breakcycle and make sure that we don't add a spurious self-dependency.
...
[SVN r78252]
2012-04-29 04:27:55 +00:00
Steven Watanabe
9e04ceafc3
Stop targets that depend on an include cycle from updating before all the required generated headers are built.
...
[SVN r78250]
2012-04-29 01:06:55 +00:00
Steven Watanabe
e6b3927ef3
Detect cycles created by rescanning.
...
[SVN r78249]
2012-04-28 22:05:28 +00:00