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

3139 Commits

Author SHA1 Message Date
Jurko Gospodnetić
d9b64c670e Boost Jam cleanup - synchronized changes between Windows and Unix file_dirscan() implementations, removed some unnecessary short-to-long path conversions on Windows (for root folders), minor stylistic code changes.
BUG: May cause access violations (crashes, core dumps or other undefined behaviour) by dereferencing a NULL pointer on non-Windows builds.

[SVN r79311]
2012-07-06 03:04:32 +00:00
Jurko Gospodnetić
77a0170c84 Boost Jam cleanup - minor stylistic code change.
[SVN r79310]
2012-07-06 02:13:44 +00:00
Jurko Gospodnetić
5b364fa966 Brown paper bag fix for a Boost Jam bug introduced in revision [73907] causing Boost Jam not to build at all (actually - not to be able to find any files in folders other than the current one).
[SVN r79309]
2012-07-06 02:08:13 +00:00
Jurko Gospodnetić
d430819efa Fixed a Boost Jam crash bug when its Windows specific file_dirscan() function gets called for a non-existent folder.
[SVN r79308]
2012-07-06 01:28:13 +00:00
Jurko Gospodnetić
d3b327e22c Boost Jam code cleanup - removed unused variables and unnecessary variable setting, added some more description comments, minor stylistic changes.
[SVN r79307]
2012-07-06 01:26:03 +00:00
Jurko Gospodnetić
64b368bd04 Boost Jam cleanup - renamed path_add_key() to path_key__register_long_path().
[SVN r79304]
2012-07-05 23:39:45 +00:00
Jurko Gospodnetić
4efad5b55e Boost Jam optimization - avoid unnecessary FindFirstFile() Windows API calls (and related unnecessary file system access) used to determine a file's long name in case that file's given name does not meet the short file name (8+3) criteria.
[SVN r79303]
2012-07-05 23:20:38 +00:00
Jurko Gospodnetić
af65544399 Boost Jam cleanup - merged pathunix.c module's Windows specific ShortPathToLongPath() & path_write_key() function implementations that were calling each other recursively. Now we have a single function that seems easier to understand and refactor further.
[SVN r79295]
2012-07-05 19:12:20 +00:00
Jurko Gospodnetić
e034b6440b Corrected a potential access violation in Boost Jam introduced in revision [79281] by incorrectly comparing new strings with already existing ones in the OBJECT hash table.
[SVN r79291]
2012-07-05 18:40:38 +00:00
Jurko Gospodnetić
ac58313c4b Boost Jam cleanup - made the buf variable in pathunix.c module's path_key() function more local instead of it being named a temporary but being used a long way away. This could not be done before because ShortPathToLongPath() used to cheat and temporarily change its 'const string' parameter internally which would cause the ShortPathToLongPath() call in this function to fail if we passed it object_str( normalized ) instead of buf->value even though they hold the same content.
[SVN r79287]
2012-07-05 15:56:50 +00:00
Jurko Gospodnetić
4e20d35df4 Boost Jam cleanup - Windows ShortPathToLongPath() implementation no longer cheats & temporarily modifies the const string it is passed as a parameter but instead passes string lengths explicitly.
[SVN r79282]
2012-07-05 13:15:25 +00:00
Jurko Gospodnetić
24142c5df2 Updated the Boost Jam OBJECT interface to allow creating OBJECT instances from a non-0 terminated string.
[SVN r79281]
2012-07-05 12:57:25 +00:00
Jurko Gospodnetić
b260763794 Boost Jam cleanup - removed one extra object copy in path_key().
[SVN r79279]
2012-07-05 08:00:13 +00:00
Jurko Gospodnetić
042283da4b Boost Jam cleanup - removed code duplication between path_add_key() and path_as_key() in pathunix.c.
[SVN r79278]
2012-07-05 07:55:55 +00:00
Jurko Gospodnetić
7dab571b66 Boost Jam cleanup - minor stylistic code changes.
[SVN r79277]
2012-07-05 07:54:42 +00:00
Jurko Gospodnetić
daa0cbb5a6 Boost Jam cleanup - minor stylistic code changes.
[SVN r79276]
2012-07-05 07:35:03 +00:00
Jurko Gospodnetić
85f285ad88 Boost Jam cleanup - removed and unnecessary header include + minor stylistic code change.
[SVN r79275]
2012-07-05 06:57:26 +00:00
Jurko Gospodnetić
91323959f4 Boost Jam cleanup - minor stylistic code changes.
[SVN r79263]
2012-07-04 15:58:30 +00:00
Jurko Gospodnetić
ab1620c580 Boost Jam cleanup. frames.c module was never compiled and its content was copied to compile.c and tweaked a bit. Related code now all moved to the frames.c and the module cleaned up. PARSE typedef moved from the frames.h header into parse.h where it seems to belong naturally.
[SVN r79262]
2012-07-04 15:54:15 +00:00
Jurko Gospodnetić
0d06e080dc Removed a seemingly redundant #include <sys/stat.h> in the main Boost Jam header file.
[SVN r79259]
2012-07-04 09:45:54 +00:00
Jurko Gospodnetić
ac84e70307 Boost Jam now correctly reports its dangling string object count when displaying DEBUG_MEM messages independent of whether it is configured to use its hash-table OBJECT cache implementation or not.
[SVN r79258]
2012-07-04 09:40:11 +00:00
Jurko Gospodnetić
5e171c2c8c Bost Jam cleanup - removed some dead code from the compile.c module.
[SVN r79256]
2012-07-04 09:09:21 +00:00
Jurko Gospodnetić
d26a70ac3e Boost Jam cleanup - minor stylistic changes.
[SVN r79255]
2012-07-04 09:04:29 +00:00
Jurko Gospodnetić
3575868660 Boost Jam cleanup - touched up error messages displayed when a rule can not be found, removed trailing dot from the displayed module name in error messages displayed when requesting a non-existing rule in import or export builtin rules & removed related code duplication between builtins.c & compile.c modules.
[SVN r79254]
2012-07-04 09:02:28 +00:00
Jurko Gospodnetić
1791d078cc Boost Build/Jam cleanup - stylistic code changes.
[SVN r79244]
2012-07-03 15:58:26 +00:00
Jurko Gospodnetić
a01bf36f06 Boost Jam cleanup - removed some internal memory management macro definition duplication.
[SVN r79242]
2012-07-03 10:47:13 +00:00
K. Noel Belcourt
a698b523b4 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ć
8f021f4bfc Boost Build cleanup - minor stylistic changes. Added some FIXME comments.
[SVN r79176]
2012-06-29 19:20:56 +00:00
Jurko Gospodnetić
7f0741c2a9 Cleaned up Boost Build error & debugging messages displayed when loading configuration files.
[SVN r79167]
2012-06-29 18:03:57 +00:00
Jurko Gospodnetić
41125133ad Boost Build cleanup - minor stylistic changes & comment typo corrections.
[SVN r79166]
2012-06-29 17:59:49 +00:00
Jurko Gospodnetić
834b0d9b45 Corrected a typo in Boost Build's common.jam module causing some incorrect error reporting when the --debug-configuration command-line option is specified.
[SVN r79159]
2012-06-28 13:31:13 +00:00
Jurko Gospodnetić
13966e5564 Minor stylistic indentation change.
[SVN r79157]
2012-06-28 13:10:14 +00:00
Jurko Gospodnetić
23946de20c Boost Build code cleanup - minor stylistic comment change.
[SVN r79146]
2012-06-27 19:55:44 +00:00
Jurko Gospodnetić
75e4ad056d Made Boost Build's rc file include scanner ignore folders when binding the included files (similar to how this is done for the c-scanner object in tools/types/cpp.jam).
[SVN r79145]
2012-06-27 19:36:16 +00:00
Jurko Gospodnetić
8eaf4dc277 Slight code duplication in the Boost Build rc.jam module cleaned up.
[SVN r79144]
2012-06-27 19:34:48 +00:00
Jurko Gospodnetić
04faaa1831 Fixed a Boost Build bug - files included by a .rc file were being interpreted as sources instead of siblings for the .rc file. This effectively caused anything depending on the .rc file to get rebuilt every time if the included file had a newer timestamp then the .rc file including it. Problem reported by Pavel Machyniak <machyniak.at.gmail.com>.
[SVN r79143]
2012-06-27 19:33:01 +00:00
Jurko Gospodnetić
8ef637f823 Boost Build code cleanup - minor stylistic changes.
[SVN r79142]
2012-06-27 19:27:10 +00:00
Jurko Gospodnetić
fb8b750d9c Boost Build code cleanup - minor stylistic changes to synchronize sources to .c/.cpp & .rc scanner objects.
[SVN r79140]
2012-06-27 15:33:59 +00:00
Jurko Gospodnetić
cc6eb2bb6b Minor stylistic Boost Build xsltproc toolset code changes.
[SVN r79139]
2012-06-27 14:27:23 +00:00
Jurko Gospodnetić
887cde8664 Bumped up the Boost Jam version on the trunk to 2011.12.1 (i.e. bumped the patch level from 0 to 1) to be able to track which test runners updated to using the latest Boost Jam engine.
[SVN r79129]
2012-06-27 01:07:04 +00:00
Jurko Gospodnetić
24e362ffb2 Boost Jam code cleanup - internal bump_version.py support script now has better error checking and more robust version value construction in some cases.
[SVN r79128]
2012-06-27 01:01:58 +00:00
Jurko Gospodnetić
5edf0e45ee Minor stylistic Boost Build changes.
[SVN r79127]
2012-06-27 00:58:04 +00:00
Jurko Gospodnetić
88b24aba84 Updated Boost Jam's child process output handling on Windows based on the -p command-line option to match the one used on Unix.
If -p option value 0 is specified (the default), the child's stdout & stderr output streams are both collected into a single pipe and sent merged to the build process's stdout output.

If any other -p option value is specified, the child's stdout & stderr output streams are collected separately and redirected based on the -p parameter value:
  1 - stdout to stdout, stderr forgotten
  2 - stdout forgotten, stderr to stderr
  3 - stdout to stdout, stderr to stderr.

[SVN r79123]
2012-06-26 19:44:47 +00:00
Jurko Gospodnetić
d040beb6c2 Boost Jam code cleanup - added symbolic constant names for read and write pipe end indices used in the running commands table data structure in the execnt.c module. Minor stylistic changes.
[SVN r79121]
2012-06-26 19:40:36 +00:00
Jurko Gospodnetić
48fad62381 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ć
2b90f86094 Boost Jam code cleanup - internal execunix.c refactoring.
[SVN r79118]
2012-06-26 17:25:33 +00:00
Jurko Gospodnetić
7942dc524a 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ć
0e1e424997 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ć
95b13f83f7 Boost Jam code cleanup - reduced special handling needed for executing commands while the -n option is in effect. Now make_closure() gets called consistently after all executed commands (whether actually executed by the OS, faked due to the -n option or due to exec_check() previously reporting them as NO-OPs).
[SVN r79114]
2012-06-26 15:25:01 +00:00
Jurko Gospodnetić
e28a24a962 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