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

10944 Commits

Author SHA1 Message Date
Jurko Gospodnetić
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.
[SVN r79585]
2012-07-18 14:27:22 +00:00
Jurko Gospodnetić
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).
[SVN r79584]
2012-07-18 14:24:19 +00:00
Jurko Gospodnetić
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).
[SVN r79584]
2012-07-18 14:24:19 +00:00
Jurko Gospodnetić
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.
[SVN r79583]
2012-07-18 14:08:35 +00:00
Jurko Gospodnetić
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.
[SVN r79583]
2012-07-18 14:08:35 +00:00
Jurko Gospodnetić
ca78bc40b2 Minor stylistic changes made to the Python Boost Build comment updated in the previous commit.
[SVN r79582]
2012-07-18 13:26:02 +00:00
Jurko Gospodnetić
1f8e7334ee Minor stylistic changes made to the Python Boost Build comment updated in the previous commit.
[SVN r79582]
2012-07-18 13:26:02 +00:00
Jurko Gospodnetić
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.
[SVN r79581]
2012-07-18 13:24:40 +00:00
Jurko Gospodnetić
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.
[SVN r79581]
2012-07-18 13:24:40 +00:00
Jurko Gospodnetić
1b98bbbf74 Boost Build comment cleanup.
[SVN r79580]
2012-07-18 12:42:17 +00:00
Jurko Gospodnetić
e2daee8663 Boost Build comment cleanup.
[SVN r79580]
2012-07-18 12:42:17 +00:00
Jurko Gospodnetić
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.
[SVN r79579]
2012-07-18 12:23:18 +00:00
Jurko Gospodnetić
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.
[SVN r79579]
2012-07-18 12:23:18 +00:00
Jurko Gospodnetić
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.
[SVN r79573]
2012-07-17 09:29:02 +00:00
Jurko Gospodnetić
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.
[SVN r79573]
2012-07-17 09:29:02 +00:00
Jurko Gospodnetić
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.
[SVN r79571]
2012-07-17 09:08:10 +00:00
Jurko Gospodnetić
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.
[SVN r79571]
2012-07-17 09:08:10 +00:00
Jurko Gospodnetić
21e5ae661a Boost Build code cleanup - scanner.install no longer taking an extra & never used vtarget parameter.
NOTE: Defective - breaks the generators_test.py Boost Build test.

[SVN r79570]
2012-07-17 09:03:38 +00:00
Jurko Gospodnetić
d3f709b3af Boost Build code cleanup - scanner.install no longer taking an extra & never used vtarget parameter.
NOTE: Defective - breaks the generators_test.py Boost Build test.

[SVN r79570]
2012-07-17 09:03:38 +00:00
Jurko Gospodnetić
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).
[SVN r79569]
2012-07-17 08:56:49 +00:00
Jurko Gospodnetić
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).
[SVN r79569]
2012-07-17 08:56:49 +00:00
Jurko Gospodnetić
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.
Related stylistic changes:
  - filetime_to_timestamp() function renamed to timestamp_from_filetime() and moved to the timestamp.c module.
  - filetime_to_seconds() function moved back to the execnt.c module as a static function as it only used from there after the timestamp_from_filetime() reimplementation in revision [79494].
  - filent.h header now empty and removed.

[SVN r79511]
2012-07-14 18:55:06 +00:00
Jurko Gospodnetić
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.
Related stylistic changes:
  - filetime_to_timestamp() function renamed to timestamp_from_filetime() and moved to the timestamp.c module.
  - filetime_to_seconds() function moved back to the execnt.c module as a static function as it only used from there after the timestamp_from_filetime() reimplementation in revision [79494].
  - filent.h header now empty and removed.

[SVN r79511]
2012-07-14 18:55:06 +00:00
Jurko Gospodnetić
c2858c8b5d 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ć
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ć
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).
[SVN r79506]
2012-07-14 17:17:09 +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ć
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.
[SVN r79502]
2012-07-14 16:36:56 +00:00
Jurko Gospodnetić
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.
[SVN r79502]
2012-07-14 16:36:56 +00:00
Jurko Gospodnetić
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.
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ć
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ć
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.
[SVN r79497]
2012-07-14 13:23:45 +00:00
Jurko Gospodnetić
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.
[SVN r79497]
2012-07-14 13:23:45 +00:00
Jurko Gospodnetić
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.
[SVN r79496]
2012-07-14 13:10:00 +00:00
Jurko Gospodnetić
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.
[SVN r79496]
2012-07-14 13:10:00 +00:00
Jurko Gospodnetić
fe47abe424 Boost Jam code cleanup - removed a redundant #include directive.
[SVN r79495]
2012-07-14 11:49:52 +00:00
Jurko Gospodnetić
c4229062d2 Boost Jam code cleanup - removed a redundant #include directive.
[SVN r79495]
2012-07-14 11:49:52 +00:00
Jurko Gospodnetić
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.
[SVN r79494]
2012-07-14 11:42:58 +00:00
Jurko Gospodnetić
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.
[SVN r79494]
2012-07-14 11:42:58 +00:00
Jurko Gospodnetić
743cc7ed4b Boost Jam code cleanup - minor stylistic code changes & comment updates.
[SVN r79493]
2012-07-14 11:35:29 +00:00
Jurko Gospodnetić
ce0b0668b2 Boost Jam code cleanup - minor stylistic code changes & comment updates.
[SVN r79493]
2012-07-14 11:35:29 +00:00
Jurko Gospodnetić
0a656de095 Boost Jam code cleanup - cleaned up the timestamp.c module identifiers and better commented its functions.
[SVN r79489]
2012-07-13 23:14:40 +00:00
Jurko Gospodnetić
140242a5f5 Boost Jam code cleanup - cleaned up the timestamp.c module identifiers and better commented its functions.
[SVN r79489]
2012-07-13 23:14:40 +00:00
Jurko Gospodnetić
fb8fb8317e Boost Jam code cleanup - minor stylistic code changes & comment updates.
[SVN r79488]
2012-07-13 23:11:45 +00:00
Jurko Gospodnetić
d7a0d333e4 Boost Jam code cleanup - minor stylistic code changes & comment updates.
[SVN r79488]
2012-07-13 23:11:45 +00:00
Jurko Gospodnetić
d7cf40907c Reverted accidental commit in revision 79486.
[SVN r79487]
2012-07-13 23:09:58 +00:00
Jurko Gospodnetić
64f4372f29 Reverted accidental commit in revision 79486.
[SVN r79487]
2012-07-13 23:09:58 +00:00
Jurko Gospodnetić
ada97b6599 Boost Jam code cleanup - minor stylistic code changes & comment updates.
[SVN r79486]
2012-07-13 22:48:58 +00:00
Jurko Gospodnetić
d4a061618b Boost Jam code cleanup - minor stylistic code changes & comment updates.
[SVN r79486]
2012-07-13 22:48:58 +00:00
Jurko Gospodnetić
b9fa41fecd Boost Jam code cleanup - minor stylistic changes.
[SVN r79483]
2012-07-13 20:15:00 +00:00