Commit Graph

  • d4201e6f4e Fixed a bug in Boost Jam's UPDATE_NOW builtin rule causing it to disable the -q option when requested to disable the -n option. This was also causing the -q option to be permanently disabled when requested to disable both -q & -n options. Jurko Gospodnetić 2012-06-25 15:34:17 +0000
  • 85219521b8 Boost Jam code cleanup - minor stylistic builtins.c module changes. Jurko Gospodnetić 2012-06-25 15:27:38 +0000
  • 6e9d78cdda Boost Jam code cleanup - minor stylistic builtins.c module changes. Jurko Gospodnetić 2012-06-25 15:27:38 +0000
  • 6d042d6039 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. Jurko Gospodnetić 2012-06-25 14:54:18 +0000
  • 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. Jurko Gospodnetić 2012-06-25 14:54:18 +0000
  • cce2a98e9b Made Boost Jam preserve trailing whitespace when executing its raw commands on Windows same as it does for other OSs (just the leading whitespace and trailing all-whitespace lines get trimmed). Command files used with external shells now also again get the complete action content without any whitespace trimming. This partially reverts a recent change from revision 78997 and also fixes the module_actions.py Boost Build test broken by that revision. Jurko Gospodnetić 2012-06-25 14:34:33 +0000
  • 268ad706d5 Made Boost Jam preserve trailing whitespace when executing its raw commands on Windows same as it does for other OSs (just the leading whitespace and trailing all-whitespace lines get trimmed). Command files used with external shells now also again get the complete action content without any whitespace trimming. This partially reverts a recent change from revision 78997 and also fixes the module_actions.py Boost Build test broken by that revision. Jurko Gospodnetić 2012-06-25 14:34:33 +0000
  • 411315fef4 Boost Jam code cleanup - minor stylistic execnt.c module change. Jurko Gospodnetić 2012-06-25 14:10:56 +0000
  • 46076765ed Boost Jam code cleanup - minor stylistic execnt.c module change. Jurko Gospodnetić 2012-06-25 14:10:56 +0000
  • 52e55fd455 Boost Jam code cleanup - minor stylistic execnt.c module changes. Jurko Gospodnetić 2012-06-25 14:06:35 +0000
  • 97ce67e09c Boost Jam code cleanup - minor stylistic execnt.c module changes. Jurko Gospodnetić 2012-06-25 14:06:35 +0000
  • d23202eeff 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. Jurko Gospodnetić 2012-06-25 13:42:00 +0000
  • 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. Jurko Gospodnetić 2012-06-25 13:42:00 +0000
  • 16b3c77d72 Boost Jam code cleanup - cmd_new() no longer does command string line length checking, removed duplicate cmd_new() invocation when a command was found to contain a too long line, corrected reusing targets & shell lists when constructing commands after rejecting a previously constructed one. Jurko Gospodnetić 2012-06-25 11:46:06 +0000
  • a07f8fb37f Boost Jam code cleanup - cmd_new() no longer does command string line length checking, removed duplicate cmd_new() invocation when a command was found to contain a too long line, corrected reusing targets & shell lists when constructing commands after rejecting a previously constructed one. Jurko Gospodnetić 2012-06-25 11:46:06 +0000
  • a1d76d06a2 Boost Jam now first tries alternate command-file names before waiting for 250ms when it fails to open its intended command-file for writing (most likely due so some anti-virus software still holding it open). This speeds up command running in such 'overly eager anti-virus software' scenarios. Jurko Gospodnetić 2012-06-25 09:39:46 +0000
  • b45c35b956 Boost Jam now first tries alternate command-file names before waiting for 250ms when it fails to open its intended command-file for writing (most likely due so some anti-virus software still holding it open). This speeds up command running in such 'overly eager anti-virus software' scenarios. Jurko Gospodnetić 2012-06-25 09:39:46 +0000
  • b1579a0ffe 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. Jurko Gospodnetić 2012-06-25 09:25:59 +0000
  • 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. Jurko Gospodnetić 2012-06-25 09:25:59 +0000
  • 783dfad810 Boost Jam code cleanup - ExecCmdCallback timing_info * parameter marked as pointer to const. Jurko Gospodnetić 2012-06-25 08:09:07 +0000
  • 4070a6957f Boost Jam code cleanup - ExecCmdCallback timing_info * parameter marked as pointer to const. Jurko Gospodnetić 2012-06-25 08:09:07 +0000
  • 7bc3bed307 Boost Jam code cleanup - execnt.c module no longer outputs its 'argv' related -d+4 debug output since its argv structure is just an intermediate structure contructed while preparing the final command string for passing to the CreateProcessA() Windows API. Actual final constructed command string still does get displayed as -d+4 debug output. Jurko Gospodnetić 2012-06-25 01:45:14 +0000
  • a06d5ddb4c Boost Jam code cleanup - execnt.c module no longer outputs its 'argv' related -d+4 debug output since its argv structure is just an intermediate structure contructed while preparing the final command string for passing to the CreateProcessA() Windows API. Actual final constructed command string still does get displayed as -d+4 debug output. Jurko Gospodnetić 2012-06-25 01:45:14 +0000
  • 69245164b9 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. Jurko Gospodnetić 2012-06-25 01:32:02 +0000
  • 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. Jurko Gospodnetić 2012-06-25 01:32:02 +0000
  • f79fe7fd34 Boost Jam code cleanup - removed a no longer useful constant_percent constant. Its one usage has been inlined, and even that is planned to be removed. Jurko Gospodnetić 2012-06-25 01:10:27 +0000
  • ca60f1b981 Boost Jam code cleanup - removed a no longer useful constant_percent constant. Its one usage has been inlined, and even that is planned to be removed. Jurko Gospodnetić 2012-06-25 01:10:27 +0000
  • 2541eb4cff Boost Jam code cleanup - updated Python related implementation to use the more efficient PyString_AS_STRING() API instead of PyString_AsString() when we already know we are passing it a valid Python string object. Jurko Gospodnetić 2012-06-25 00:59:47 +0000
  • 7979cd5012 Boost Jam code cleanup - updated Python related implementation to use the more efficient PyString_AS_STRING() API instead of PyString_AsString() when we already know we are passing it a valid Python string object. Jurko Gospodnetić 2012-06-25 00:59:47 +0000
  • fe6d47c464 Updated Boost Jam's Cygwin-to-Windows path conversion implementation to use the new cygwin_conv_path() API introduced in Cygwin 1.7 when building using a new enough Cygwin version headers. This avoids depreciation warnings about the old cygwin_conv_to_win32_path() API being used when building with newer Cygwin versions. The new API seems to support paths longer than MAX_PATH and allows for much better error handling. Jurko Gospodnetić 2012-06-25 00:57:40 +0000
  • d4e6d5a5a0 Updated Boost Jam's Cygwin-to-Windows path conversion implementation to use the new cygwin_conv_path() API introduced in Cygwin 1.7 when building using a new enough Cygwin version headers. This avoids depreciation warnings about the old cygwin_conv_to_win32_path() API being used when building with newer Cygwin versions. The new API seems to support paths longer than MAX_PATH and allows for much better error handling. Jurko Gospodnetić 2012-06-25 00:57:40 +0000
  • 605bc82e86 Boost Jam code cleanup - updated path_tmpdir() to return a string object instead of a raw C char pointer. Jurko Gospodnetić 2012-06-25 00:41:37 +0000
  • 7f30ec0101 Boost Jam code cleanup - updated path_tmpdir() to return a string object instead of a raw C char pointer. Jurko Gospodnetić 2012-06-25 00:41:37 +0000
  • 58fb165500 Boost Jam code cleanup - minor stylistic changes. Jurko Gospodnetić 2012-06-25 00:33:54 +0000
  • 2984c9dee7 Boost Jam code cleanup - minor stylistic changes. Jurko Gospodnetić 2012-06-25 00:33:54 +0000
  • bc8c2abb37 Boost Jam code cleanup - minor stylistic changes. Jurko Gospodnetić 2012-06-24 21:42:48 +0000
  • 55efe7798d Boost Jam code cleanup - minor stylistic changes. Jurko Gospodnetić 2012-06-24 21:42:48 +0000
  • d34ffa9d42 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. Jurko Gospodnetić 2012-06-24 16:10:58 +0000
  • 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. Jurko Gospodnetić 2012-06-24 16:10:58 +0000
  • e56812f2f7 Boost Jam code cleanup - extracted code making the actual CreateProcessA() call in the execnt.c module into a separate invoke_cmd() function. Jurko Gospodnetić 2012-06-24 14:57:41 +0000
  • 34e522ed74 Boost Jam code cleanup - extracted code making the actual CreateProcessA() call in the execnt.c module into a separate invoke_cmd() function. Jurko Gospodnetić 2012-06-24 14:57:41 +0000
  • d8dac3dbe7 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. Jurko Gospodnetić 2012-06-24 14:24:40 +0000
  • 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. Jurko Gospodnetić 2012-06-24 14:24:40 +0000
  • d2146b0e4c 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. Jurko Gospodnetić 2012-06-24 14:22:38 +0000
  • 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. Jurko Gospodnetić 2012-06-24 14:22:38 +0000
  • fd5a2cbc5d Boost Jam code cleanup - minor stylistic changes. Jurko Gospodnetić 2012-06-24 14:19:54 +0000
  • 6276126884 Boost Jam code cleanup - minor stylistic changes. Jurko Gospodnetić 2012-06-24 14:19:54 +0000
  • 8481d42296 Boost Jam code cleanup - minor stylistic change - added a const variable specifier. Jurko Gospodnetić 2012-06-24 13:30:08 +0000
  • 48148fe6a9 Boost Jam code cleanup - minor stylistic change - added a const variable specifier. Jurko Gospodnetić 2012-06-24 13:30:08 +0000
  • e18ae50fb5 Boost Jam code cleanup - minor stylistic changes in the make1.c module. Jurko Gospodnetić 2012-06-24 13:23:29 +0000
  • feba6a7d87 Boost Jam code cleanup - minor stylistic changes in the make1.c module. Jurko Gospodnetić 2012-06-24 13:23:29 +0000
  • 748a9cf5c3 Added the Boost Jam execcmd.c module that got skipped by accident in revision 79055. Jurko Gospodnetić 2012-06-24 12:10:04 +0000
  • ec6dd61bda Added the Boost Jam execcmd.c module that got skipped by accident in revision 79055. Jurko Gospodnetić 2012-06-24 12:10:04 +0000
  • 6c34e331cb Boost Jam code cleanup - minor stylistic build script changes. Jurko Gospodnetić 2012-06-24 12:06:44 +0000
  • 856e76157c Boost Jam code cleanup - minor stylistic build script changes. Jurko Gospodnetić 2012-06-24 12:06:44 +0000
  • 7e6b310623 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. Jurko Gospodnetić 2012-06-24 11:59:49 +0000
  • 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. Jurko Gospodnetić 2012-06-24 11:59:49 +0000
  • 041f665f19 Boost Jam code cleanup - better checking and error reporting related to the -j command-line option and the PARALLELISM built-in variable. Jurko Gospodnetić 2012-06-24 11:44:13 +0000
  • 7c98902acd Boost Jam code cleanup - better checking and error reporting related to the -j command-line option and the PARALLELISM built-in variable. Jurko Gospodnetić 2012-06-24 11:44:13 +0000
  • 4ee4244d6b Boost Jam code cleanup - minor stylistic changes in jam.c & jam.h modules. Jurko Gospodnetić 2012-06-24 11:33:05 +0000
  • 6c27b48f73 Boost Jam code cleanup - minor stylistic changes in jam.c & jam.h modules. Jurko Gospodnetić 2012-06-24 11:33:05 +0000
  • d4b88e9cdb 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). Jurko Gospodnetić 2012-06-24 10:58:58 +0000
  • 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). Jurko Gospodnetić 2012-06-24 10:58:58 +0000
  • 0bc246eb32 Boost Jam code cleanup - extracted functions for finding a free running tables command slot in execnt.c & execunix.c modules. Jurko Gospodnetić 2012-06-24 10:42:19 +0000
  • ed1c4c1d1a Boost Jam code cleanup - extracted functions for finding a free running tables command slot in execnt.c & execunix.c modules. Jurko Gospodnetić 2012-06-24 10:42:19 +0000
  • 9f01d3d262 Boost Jam code cleanup - removed an unused global variable in the execunix.c module. Jurko Gospodnetić 2012-06-24 10:31:48 +0000
  • e0a2ffe343 Boost Jam code cleanup - removed an unused global variable in the execunix.c module. Jurko Gospodnetić 2012-06-24 10:31:48 +0000
  • bdac9aa723 Boost Jam code cleanup - minor stylistic changes in the execunix.c module. Jurko Gospodnetić 2012-06-24 10:29:30 +0000
  • e101463453 Boost Jam code cleanup - minor stylistic changes in the execunix.c module. Jurko Gospodnetić 2012-06-24 10:29:30 +0000
  • f62bd6b933 Corrected a Boost Jam bug introduced in revision 79046 - the total running command count was not getting bumped correctly. Jurko Gospodnetić 2012-06-24 10:23:28 +0000
  • 89394668a0 Corrected a Boost Jam bug introduced in revision 79046 - the total running command count was not getting bumped correctly. Jurko Gospodnetić 2012-06-24 10:23:28 +0000
  • f86805e8ef Boost Jam code cleanup - declared a couple of variables as const. Jurko Gospodnetić 2012-06-24 08:41:02 +0000
  • 93a71560b7 Boost Jam code cleanup - declared a couple of variables as const. Jurko Gospodnetić 2012-06-24 08:41:02 +0000
  • 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. Jurko Gospodnetić 2012-06-24 01:09:18 +0000
  • e616b0cfea 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. Jurko Gospodnetić 2012-06-24 01:09:18 +0000
  • 6ae5f2e30d Boost Jam code cleanup - execnt.c module - minor stylistic changes. Jurko Gospodnetić 2012-06-24 01:02:39 +0000
  • cf8af65e01 Boost Jam code cleanup - execnt.c module - minor stylistic changes. Jurko Gospodnetić 2012-06-24 01:02:39 +0000
  • 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. Jurko Gospodnetić 2012-06-24 00:41:24 +0000
  • e8ff660750 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. Jurko Gospodnetić 2012-06-24 00:41:24 +0000
  • 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. Jurko Gospodnetić 2012-06-24 00:18:43 +0000
  • 2d1af99dc3 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. Jurko Gospodnetić 2012-06-24 00:18:43 +0000
  • 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. Jurko Gospodnetić 2012-06-24 00:12:41 +0000
  • bf9a2a9671 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. Jurko Gospodnetić 2012-06-24 00:12:41 +0000
  • 5622bb4a9d Code cleanup in Boost Jam's execnt.c module. Jurko Gospodnetić 2012-06-24 00:09:46 +0000
  • 2c7252a773 Code cleanup in Boost Jam's execnt.c module. Jurko Gospodnetić 2012-06-24 00:09:46 +0000
  • 6b36cfa238 Cleaned up and extended internal Boost Jam strings.c module unit tests. Jurko Gospodnetić 2012-06-24 00:00:35 +0000
  • 311d9a29d2 Cleaned up and extended internal Boost Jam strings.c module unit tests. Jurko Gospodnetić 2012-06-24 00:00:35 +0000
  • 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. Jurko Gospodnetić 2012-06-23 23:48:14 +0000
  • 8d2ea3c478 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. Jurko Gospodnetić 2012-06-23 23:48:14 +0000
  • c5acd8299e Minor stylistic changes in Boost Jam's strings.c module. Jurko Gospodnetić 2012-06-23 23:41:07 +0000
  • 64327ce706 Minor stylistic changes in Boost Jam's strings.c module. Jurko Gospodnetić 2012-06-23 23:41:07 +0000
  • d55d846b27 Updated Boost Build's internal test system to not report an error as if it was not able to run the external diff tool when that tool returns 1 to indicate that the two files given to it are different. Jurko Gospodnetić 2012-06-23 23:16:01 +0000
  • b2b495c285 Updated Boost Build's internal test system to not report an error as if it was not able to run the external diff tool when that tool returns 1 to indicate that the two files given to it are different. Jurko Gospodnetić 2012-06-23 23:16:01 +0000
  • 559765ff88 Minor stylistic change in the Boost Build test system. Jurko Gospodnetić 2012-06-23 23:12:21 +0000
  • 0561f77b48 Minor stylistic change in the Boost Build test system. Jurko Gospodnetić 2012-06-23 23:12:21 +0000
  • 16016a7b7a Minor stylistic changes in Boost Build tests. Jurko Gospodnetić 2012-06-23 23:07:29 +0000
  • 5bce542c2c Minor stylistic changes in Boost Build tests. Jurko Gospodnetić 2012-06-23 23:07:29 +0000
  • 9f82cfe8c3 Cleaned up the Boost Build module_actions.py test. Now the test's source file no longer needs to contain lines with trailing spaces. Jurko Gospodnetić 2012-06-23 21:18:32 +0000
  • a810fcf5eb Cleaned up the Boost Build module_actions.py test. Now the test's source file no longer needs to contain lines with trailing spaces. Jurko Gospodnetić 2012-06-23 21:18:32 +0000
  • d1748e252e Corrected some minor memory leaks and avoided extra list copying in Boost Jam when processing piecemeal actions. Jurko Gospodnetić 2012-06-19 12:43:40 +0000