Commit Graph

  • 1b8eafc528 Boost Build code cleanup - minor stylistic changes. Jurko Gospodnetić 2012-07-20 14:42:18 +0000
  • 29d94131ee Fixed minor Boost Build error reporting bugs caused by module rules not being directly available using their full names when imported from inside a class rule - an error about rule errors.error or errors.user-error not being defined was getting reported instead of the desired error. This is due to the fact that rule name resolution does not look in the current module in that case but uses the class module instead. Jurko Gospodnetić 2012-07-20 14:39:50 +0000
  • 35fad6df6c Fixed minor Boost Build error reporting bugs caused by module rules not being directly available using their full names when imported from inside a class rule - an error about rule errors.error or errors.user-error not being defined was getting reported instead of the desired error. This is due to the fact that rule name resolution does not look in the current module in that case but uses the class module instead. Jurko Gospodnetić 2012-07-20 14:39:50 +0000
  • 89f740660f Boost Jam/Build code cleanup - minor stylistic changes. Jurko Gospodnetić 2012-07-20 14:20:55 +0000
  • 52ed6e5a98 Boost Jam/Build code cleanup - minor stylistic changes. Jurko Gospodnetić 2012-07-20 14:20:55 +0000
  • bae5e920ac Boost Jam code cleanup - removed an old, untested and up to recently definitely non-compiling 'old Borland compiler' code branch in the filent.c module. The compilers in question themselves are Borlands free compiler tools predating the more modern and more standard compliant free 'Visual Studio Express' toolchain so there should be no need for anyone to depend on them any more. Jurko Gospodnetić 2012-07-20 10:57:31 +0000
  • b95ccd82b9 Boost Jam code cleanup - removed an old, untested and up to recently definitely non-compiling 'old Borland compiler' code branch in the filent.c module. The compilers in question themselves are Borlands free compiler tools predating the more modern and more standard compliant free 'Visual Studio Express' toolchain so there should be no need for anyone to depend on them any more. Jurko Gospodnetić 2012-07-20 10:57:31 +0000
  • ae0e14f947 Fixed a Boost Build bug causing scanner targets to be rebuilt every time if their base target has already been marked as including another target with a newer timestamp. For example, this occurred every time a single action generated both the scanned and the included target and did so slowly enough that the included target got a newer timestamp. Fix originally prepared by Steven Watanabe. Jurko Gospodnetić 2012-07-19 14:32:31 +0000
  • 81e8b88e8a Fixed a Boost Build bug causing scanner targets to be rebuilt every time if their base target has already been marked as including another target with a newer timestamp. For example, this occurred every time a single action generated both the scanned and the included target and did so slowly enough that the included target got a newer timestamp. Fix originally prepared by Steven Watanabe. Jurko Gospodnetić 2012-07-19 14:32:31 +0000
  • a80848695b Corrected the internal Boost Build library_order.py unit test - updated its test run parameter passing to use lists of strings instead of simple strings (was causing assertion failures with the latest internal Boost Build testing framework implementation), minor stylistic changes. Jurko Gospodnetić 2012-07-19 12:30:48 +0000
  • 523f030192 Corrected the internal Boost Build library_order.py unit test - updated its test run parameter passing to use lists of strings instead of simple strings (was causing assertion failures with the latest internal Boost Build testing framework implementation), minor stylistic changes. Jurko Gospodnetić 2012-07-19 12:30:48 +0000
  • 0e4d14bfe6 Added a new internal Boost Build test illustrating a bug in the current Boost Build/Jam implementation and causing targets to be rebuilt when not necessary in some cases. Jurko Gospodnetić 2012-07-19 11:53:30 +0000
  • a3dde2e151 Added a new internal Boost Build test illustrating a bug in the current Boost Build/Jam implementation and causing targets to be rebuilt when not necessary in some cases. Jurko Gospodnetić 2012-07-19 11:53:30 +0000
  • cc5e96ab49 Boost Build cleanup - minor stylistic change. Jurko Gospodnetić 2012-07-19 11:37:03 +0000
  • b88ca73c88 Boost Build cleanup - minor stylistic change. Jurko Gospodnetić 2012-07-19 11:37:03 +0000
  • e85732818d Corrected internal Boost Build testing framework bug causing it to report detected filesystem changes from a previous instead of the failed test run when the failure was caused by an unexpected exit code, unexpected stderr content, unexpected stdout content or exceeded maximal test duration. Jurko Gospodnetić 2012-07-19 10:16:41 +0000
  • f4dd360dd7 Corrected internal Boost Build testing framework bug causing it to report detected filesystem changes from a previous instead of the failed test run when the failure was caused by an unexpected exit code, unexpected stderr content, unexpected stdout content or exceeded maximal test duration. Jurko Gospodnetić 2012-07-19 10:16:41 +0000
  • e0f7059b26 Removed an unused variable from one of the internal Boost Build tests. Jurko Gospodnetić 2012-07-19 04:39:42 +0000
  • d32d7ee1cb Removed an unused variable from one of the internal Boost Build tests. Jurko Gospodnetić 2012-07-19 04:39:42 +0000
  • 3c935afa5f Cleaned up Boost Build's internal 'parallel multi-file actions' tests a bit - removed some dead code and updated description comments. Jurko Gospodnetić 2012-07-19 04:11:50 +0000
  • 489d184636 Cleaned up Boost Build's internal 'parallel multi-file actions' tests a bit - removed some dead code and updated description comments. Jurko Gospodnetić 2012-07-19 04:11:50 +0000
  • 2f64a35846 Boost Build code cleanup - minor stylistic changes (trimmed trailing spaces, corrected a typo in the main module comment). Jurko Gospodnetić 2012-07-19 03:47:31 +0000
  • 776deb54b3 Boost Build code cleanup - minor stylistic changes (trimmed trailing spaces, corrected a typo in the main module comment). Jurko Gospodnetić 2012-07-19 03:47:31 +0000
  • 4e711ebd44 Minor stylistic change. Jurko Gospodnetić 2012-07-19 02:58:55 +0000
  • f06f2eccff Minor stylistic change. Jurko Gospodnetić 2012-07-19 02:58:55 +0000
  • 681b6609af Boost Jam code cleanup - minor stylistic changes (added missing spaces around some parameters inside brackets in C code). Jurko Gospodnetić 2012-07-18 15:06:44 +0000
  • 727365fb20 Boost Jam code cleanup - minor stylistic changes (added missing spaces around some parameters inside brackets in C code). Jurko Gospodnetić 2012-07-18 15:06:44 +0000
  • cbb48b5d01 Updated Boost Jam implementation comment related to it adding internal fake INCLUDES relationships between targets built by a single action in order to make sure none of them may get used until their action had successfully completed its work. Jurko Gospodnetić 2012-07-18 14:50:53 +0000
  • f2c607bc0d Updated Boost Jam implementation comment related to it adding internal fake INCLUDES relationships between targets built by a single action in order to make sure none of them may get used until their action had successfully completed its work. Jurko Gospodnetić 2012-07-18 14:50:53 +0000
  • 35883dacc0 Boost Build build bug corrected when compiling using old Borland compilers. This has been in for a long time and has been noticed only as part of a quick code review. It could be there is no need to support this 'old Borland compilers' code branch. Jurko Gospodnetić 2012-07-18 14:27:22 +0000
  • 3462295cf2 Boost Build build bug corrected when compiling using old Borland compilers. This has been in for a long time and has been noticed only as part of a quick code review. It could be there is no need to support this 'old Borland compilers' code branch. Jurko Gospodnetić 2012-07-18 14:27:22 +0000
  • 58beabb9dc Boost Jam code cleanup - moved code for creating new internal include targets into a single location (rules.c module) instead of having it done in two (rules.c & builtins.c modules). Jurko Gospodnetić 2012-07-18 14:24:19 +0000
  • 116439c266 Boost Jam code cleanup - moved code for creating new internal include targets into a single location (rules.c module) instead of having it done in two (rules.c & builtins.c modules). Jurko Gospodnetić 2012-07-18 14:24:19 +0000
  • 1961065003 Boost Build no longer needs to add a fake INCLUDES relationship between targets generated by a single Boost Build action (reapplying revision [79571]). This is already done by Boost Jam internally for a single Boost Jam action and in case when the Boost Build action is actually a rule registering multiple actions - this was not causing any desirable behaviour. Jurko Gospodnetić 2012-07-18 14:08:35 +0000
  • 5a2b9e404a Boost Build no longer needs to add a fake INCLUDES relationship between targets generated by a single Boost Build action (reapplying revision [79571]). This is already done by Boost Jam internally for a single Boost Jam action and in case when the Boost Build action is actually a rule registering multiple actions - this was not causing any desirable behaviour. Jurko Gospodnetić 2012-07-18 14:08:35 +0000
  • ca78bc40b2 Minor stylistic changes made to the Python Boost Build comment updated in the previous commit. Jurko Gospodnetić 2012-07-18 13:26:02 +0000
  • 1f8e7334ee Minor stylistic changes made to the Python Boost Build comment updated in the previous commit. Jurko Gospodnetić 2012-07-18 13:26:02 +0000
  • 714ed09cf4 Updated Boost Build implementation note comment related to why it adds an INCLUDES relation between all sources registered for a single Boost Build action. Jurko Gospodnetić 2012-07-18 13:24:40 +0000
  • fca2444fe2 Updated Boost Build implementation note comment related to why it adds an INCLUDES relation between all sources registered for a single Boost Build action. Jurko Gospodnetić 2012-07-18 13:24:40 +0000
  • 1b98bbbf74 Boost Build comment cleanup. Jurko Gospodnetić 2012-07-18 12:42:17 +0000
  • e2daee8663 Boost Build comment cleanup. Jurko Gospodnetić 2012-07-18 12:42:17 +0000
  • e6a3faf35d Corrected the internal Boost Build generators_test.py unit test to correctly split its appender 'action' into separate appender1 actions (building only a single target each), and still have them all called correctly together or none at all. Old and too-simplistic solution registered called completely independent actions for each target, causing Boost Jam to build only some of the targets in some cases, unlike what it would have done had they all actually been built by a single action. Jurko Gospodnetić 2012-07-18 12:23:18 +0000
  • a11cbcada3 Corrected the internal Boost Build generators_test.py unit test to correctly split its appender 'action' into separate appender1 actions (building only a single target each), and still have them all called correctly together or none at all. Old and too-simplistic solution registered called completely independent actions for each target, causing Boost Jam to build only some of the targets in some cases, unlike what it would have done had they all actually been built by a single action. Jurko Gospodnetić 2012-07-18 12:23:18 +0000
  • ddbdcd0c04 Reverting revision [79571] since it broke the generators_test.py Boost Build test. It seems Boost Jam might not have the complete fix implemented to allow us to avoid this Boost Build code. Jurko Gospodnetić 2012-07-17 09:29:02 +0000
  • 0677deb372 Reverting revision [79571] since it broke the generators_test.py Boost Build test. It seems Boost Jam might not have the complete fix implemented to allow us to avoid this Boost Build code. Jurko Gospodnetić 2012-07-17 09:29:02 +0000
  • ef8a393163 Boost Build code cleanup - Boost Build no longer needs to add a fake INCLUDES relationship between targets generated by a single action as this is already done by Boost Jam internally. Jurko Gospodnetić 2012-07-17 09:08:10 +0000
  • 1b73d419e7 Boost Build code cleanup - Boost Build no longer needs to add a fake INCLUDES relationship between targets generated by a single action as this is already done by Boost Jam internally. Jurko Gospodnetić 2012-07-17 09:08:10 +0000
  • 21e5ae661a Boost Build code cleanup - scanner.install no longer taking an extra & never used vtarget parameter. Jurko Gospodnetić 2012-07-17 09:03:38 +0000
  • d3f709b3af Boost Build code cleanup - scanner.install no longer taking an extra & never used vtarget parameter. Jurko Gospodnetić 2012-07-17 09:03:38 +0000
  • c16ae1c68a Boost Jam/Build cleanup - minor stylistic changes (comment updates; line wrapping; removed some dead/unused function declarations, parameters & code; declared variables as const; reordered some #include directives alphabetically, removed some unnecessary ones and added several missing ones discovered by the reordering). Jurko Gospodnetić 2012-07-17 08:56:49 +0000
  • fa43d8fa93 Boost Jam/Build cleanup - minor stylistic changes (comment updates; line wrapping; removed some dead/unused function declarations, parameters & code; declared variables as const; reordered some #include directives alphabetically, removed some unnecessary ones and added several missing ones discovered by the reordering). Jurko Gospodnetić 2012-07-17 08:56:49 +0000
  • 145ce56f80 Windows Boost Jam implementation now uses finer resolution than 1 second when creating timestamps based on the current system time. Since these are never (and should never be!) compared to file system timestamps - this causes no conflicts with file system timestamps still using 1 second resolution at best. Jurko Gospodnetić 2012-07-14 18:55:06 +0000
  • 1f4e39984b Windows Boost Jam implementation now uses finer resolution than 1 second when creating timestamps based on the current system time. Since these are never (and should never be!) compared to file system timestamps - this causes no conflicts with file system timestamps still using 1 second resolution at best. Jurko Gospodnetić 2012-07-14 18:55:06 +0000
  • c2858c8b5d Boost Jam code cleanup - extracted code for getting a timestamp for the current system time to timestamp_current(). Jurko Gospodnetić 2012-07-14 17:28:50 +0000
  • 0ff040d3a0 Boost Jam code cleanup - extracted code for getting a timestamp for the current system time to timestamp_current(). Jurko Gospodnetić 2012-07-14 17:28:50 +0000
  • e548f836d9 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). Jurko Gospodnetić 2012-07-14 17:17:09 +0000
  • 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). Jurko Gospodnetić 2012-07-14 17:17:09 +0000
  • f18abd8674 Boost Jam now reports its timestamps using a bit more complete format (still ISO-8601 compliant) to include nanosecond information. The new format is 'YYYY-MM-DD HH:MM:SS.ZZZZZZZZZ +0000'. Currently the nanosecond part value is always 0. Jurko Gospodnetić 2012-07-14 16:36:56 +0000
  • 3ca9fc5911 Boost Jam now reports its timestamps using a bit more complete format (still ISO-8601 compliant) to include nanosecond information. The new format is 'YYYY-MM-DD HH:MM:SS.ZZZZZZZZZ +0000'. Currently the nanosecond part value is always 0. Jurko Gospodnetić 2012-07-14 16:36:56 +0000
  • 3736a64fd6 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. Jurko Gospodnetić 2012-07-14 16:11:16 +0000
  • 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. Jurko Gospodnetić 2012-07-14 16:11:16 +0000
  • 8202d97670 Boost Jam code cleanup - extracted Windows specific FILETIME structure conversion functions from execnt.c to a lowel level filent.c Windows specific module so they may be reused in both. Renamed the functions to make their purpose clearer. Jurko Gospodnetić 2012-07-14 13:23:45 +0000
  • e8febc705c Boost Jam code cleanup - extracted Windows specific FILETIME structure conversion functions from execnt.c to a lowel level filent.c Windows specific module so they may be reused in both. Renamed the functions to make their purpose clearer. Jurko Gospodnetić 2012-07-14 13:23:45 +0000
  • eb8c859a26 Boost Jam execnt.c module code cleanup. No longer attempts to perform some operations like closing alert windows or reading their output (before the code depended on some operations not doing anything if given invalid handles or process ids). No longer needs to find out the process id from a process handle (since it actually already had these process ids all along), thus avoiding hacks needed to support this on Windows versions prior to Windows XP SP1 (where there was no GetProcessId() Windows API). Minor stylistic changes. Jurko Gospodnetić 2012-07-14 13:10:00 +0000
  • 9f5192acff Boost Jam execnt.c module code cleanup. No longer attempts to perform some operations like closing alert windows or reading their output (before the code depended on some operations not doing anything if given invalid handles or process ids). No longer needs to find out the process id from a process handle (since it actually already had these process ids all along), thus avoiding hacks needed to support this on Windows versions prior to Windows XP SP1 (where there was no GetProcessId() Windows API). Minor stylistic changes. Jurko Gospodnetić 2012-07-14 13:10:00 +0000
  • fe47abe424 Boost Jam code cleanup - removed a redundant #include directive. Jurko Gospodnetić 2012-07-14 11:49:52 +0000
  • c4229062d2 Boost Jam code cleanup - removed a redundant #include directive. Jurko Gospodnetić 2012-07-14 11:49:52 +0000
  • 8e716991c8 Corrected Boost Jam's Windows FILETIME to POSIX time_t conversion. New implementation lifted shamelessly from the CPython implementation. The old implementation did not work correctly in all cases depending on the user's regional (timezone & daylight saving time) settings as well as the TZ environment variable (affects some C runtime library routines). It also used the double type to represent some interim values during its calculation - sometimes causing off-by-one rounding errors. Jurko Gospodnetić 2012-07-14 11:42:58 +0000
  • 69f101b623 Corrected Boost Jam's Windows FILETIME to POSIX time_t conversion. New implementation lifted shamelessly from the CPython implementation. The old implementation did not work correctly in all cases depending on the user's regional (timezone & daylight saving time) settings as well as the TZ environment variable (affects some C runtime library routines). It also used the double type to represent some interim values during its calculation - sometimes causing off-by-one rounding errors. Jurko Gospodnetić 2012-07-14 11:42:58 +0000
  • 743cc7ed4b Boost Jam code cleanup - minor stylistic code changes & comment updates. Jurko Gospodnetić 2012-07-14 11:35:29 +0000
  • ce0b0668b2 Boost Jam code cleanup - minor stylistic code changes & comment updates. Jurko Gospodnetić 2012-07-14 11:35:29 +0000
  • 0a656de095 Boost Jam code cleanup - cleaned up the timestamp.c module identifiers and better commented its functions. Jurko Gospodnetić 2012-07-13 23:14:40 +0000
  • 140242a5f5 Boost Jam code cleanup - cleaned up the timestamp.c module identifiers and better commented its functions. Jurko Gospodnetić 2012-07-13 23:14:40 +0000
  • fb8fb8317e Boost Jam code cleanup - minor stylistic code changes & comment updates. Jurko Gospodnetić 2012-07-13 23:11:45 +0000
  • d7a0d333e4 Boost Jam code cleanup - minor stylistic code changes & comment updates. Jurko Gospodnetić 2012-07-13 23:11:45 +0000
  • d7cf40907c Reverted accidental commit in revision 79486. Jurko Gospodnetić 2012-07-13 23:09:58 +0000
  • 64f4372f29 Reverted accidental commit in revision 79486. Jurko Gospodnetić 2012-07-13 23:09:58 +0000
  • ada97b6599 Boost Jam code cleanup - minor stylistic code changes & comment updates. Jurko Gospodnetić 2012-07-13 22:48:58 +0000
  • d4a061618b Boost Jam code cleanup - minor stylistic code changes & comment updates. Jurko Gospodnetić 2012-07-13 22:48:58 +0000
  • b9fa41fecd Boost Jam code cleanup - minor stylistic changes. Jurko Gospodnetić 2012-07-13 20:15:00 +0000
  • c284fac693 Boost Jam code cleanup - minor stylistic changes. Jurko Gospodnetić 2012-07-13 20:15:00 +0000
  • 678fe54e15 Updated Boost Build tests to run the collect_debug_info.py test only when running the tests non-interactively, i.e. when collecting the test results in an xml output file. When running the tests interactively and observing the results on the console there is no need for this always-failing test to spoil the 'all tests passed' result - the user will generally know everything about his system and can still run this test directly if he wishes to see what it would have returned. Jurko Gospodnetić 2012-07-13 19:17:04 +0000
  • 0afcd1285b Updated Boost Build tests to run the collect_debug_info.py test only when running the tests non-interactively, i.e. when collecting the test results in an xml output file. When running the tests interactively and observing the results on the console there is no need for this always-failing test to spoil the 'all tests passed' result - the user will generally know everything about his system and can still run this test directly if he wishes to see what it would have returned. Jurko Gospodnetić 2012-07-13 19:17:04 +0000
  • 53576e4073 Boost Build testing system code cleanup. Mainly stylistic changes + stopped using old deprecated string module functions in the test_all.py module. Jurko Gospodnetić 2012-07-13 19:03:54 +0000
  • 43a3331dc4 Boost Build testing system code cleanup. Mainly stylistic changes + stopped using old deprecated string module functions in the test_all.py module. Jurko Gospodnetić 2012-07-13 19:03:54 +0000
  • 8bc155d307 Boost Build testing system cleanup - separated the concept of the 'time when a test run finished' from 'highest timestamp assigned by a test run'. This is a tiny preparation step towards making Boost Build support timestamp resolutions finer than 1 second. Jurko Gospodnetić 2012-07-13 18:43:18 +0000
  • 6ebe5f9cdb Boost Build testing system cleanup - separated the concept of the 'time when a test run finished' from 'highest timestamp assigned by a test run'. This is a tiny preparation step towards making Boost Build support timestamp resolutions finer than 1 second. Jurko Gospodnetić 2012-07-13 18:43:18 +0000
  • 740cb760de Minor stylistic internal Boost Build testing system changes. Jurko Gospodnetić 2012-07-13 18:30:09 +0000
  • a811156478 Minor stylistic internal Boost Build testing system changes. Jurko Gospodnetić 2012-07-13 18:30:09 +0000
  • 09e4708742 Boost Build cleanup - removed an extra Python module import from the internal core_at_file.py Boost Build test. Jurko Gospodnetić 2012-07-13 18:20:34 +0000
  • 8cad7b46aa Boost Build cleanup - removed an extra Python module import from the internal core_at_file.py Boost Build test. Jurko Gospodnetić 2012-07-13 18:20:34 +0000
  • f0a27a9473 Minor stylistic changes. Jurko Gospodnetić 2012-07-13 16:42:25 +0000
  • 81d08a7afd Minor stylistic changes. Jurko Gospodnetić 2012-07-13 16:42:25 +0000
  • 8c067504b8 Make annoying unconditional hcache message only appear with DEBUG_HEADER. Steven Watanabe 2012-07-13 01:53:46 +0000
  • 59fbc6c52e Make annoying unconditional hcache message only appear with DEBUG_HEADER. Steven Watanabe 2012-07-13 01:53:46 +0000
  • 8bef878ab5 Boost Jam cleanup - minor stylistic changes. Jurko Gospodnetić 2012-07-12 13:36:31 +0000
  • 4728e87bf0 Boost Jam cleanup - minor stylistic changes. Jurko Gospodnetić 2012-07-12 13:36:31 +0000
  • 9905deabee Fixed a Boost Jam error reporting bug where it would report the error as originating from an incorrect file & line in case the error occurred after parsing the final token in some file. It usually reported it as the file including the file in question or, if the file is the main project build script not included from anywhere, then it reported the error as originating from file '(builtin)' and line -1. Added a related internal Boost Build unit test (core_source_line_tracking.py). Jurko Gospodnetić 2012-07-12 13:21:46 +0000
  • 6001461227 Fixed a Boost Jam error reporting bug where it would report the error as originating from an incorrect file & line in case the error occurred after parsing the final token in some file. It usually reported it as the file including the file in question or, if the file is the main project build script not included from anywhere, then it reported the error as originating from file '(builtin)' and line -1. Added a related internal Boost Build unit test (core_source_line_tracking.py). Jurko Gospodnetić 2012-07-12 13:21:46 +0000
  • 343b4d6532 Updated the internal Boost Build testing system to use the Python subprocess module (introduced in Python 2.4) for running external processes instead of popen2 (deprecated since Python 2.6). We are already using Python 2.4 features in this codebase so there is no need to support Python releases older than 2.4. Jurko Gospodnetić 2012-07-12 12:55:25 +0000