Jurko Gospodnetić
103f8d7893
Updated Boost Jam to know how to report its minimum supported file modification timestamp resolution (currently reported as part of Boost Jam's version information). This allows external tools using Boost Jam to adapt to Boost Jam's potential ignorance of fine file modification timestamp changes.
...
For example, Boost Build's internal testing framework may use this information to reduce the time it spends doing nothing by sleeping until enough time passes to make newly created or touched files be correctly recognized by Boost Build.
[SVN r79780]
2012-07-28 09:20:29 +00:00
Jurko Gospodnetić
f7316995e6
Boost Jam version information output cleaned up a bit to make it easier to update it with additional information.
...
[SVN r79779]
2012-07-28 09:04:41 +00:00
Jurko Gospodnetić
b28fc465c3
Boost Jam code cleanup - minor stylistic changes.
...
[SVN r79778]
2012-07-28 08:58:39 +00:00
Jurko Gospodnetić
53d4c9d5b9
Boost Build cleanup - minor stylistic changes.
...
[SVN r79734]
2012-07-25 05:36:38 +00:00
Jurko Gospodnetić
dff942e14b
Boost Build cleanup - minor stylistic changes & comment updates.
...
[SVN r79733]
2012-07-25 05:15:42 +00:00
Jurko Gospodnetić
b68013587a
Boost Build code cleanup - improved support for initializing toolset & extension modules with more than 8 parameters (current Boost Jam supports up to 19 numbered parameter references) + minor stylistic changes.
...
[SVN r79720]
2012-07-24 10:33:34 +00:00
Jurko Gospodnetić
a3a1170ec1
Boost Jam cleanup - minor stylistic changes.
...
[SVN r79693]
2012-07-23 09:02:49 +00:00
Jurko Gospodnetić
f9f7b0204e
Updated the Windows Boost Build implementation to use direct Windows APIs instead of the Windows POSIX layer & standard C library functionality for collecting information about files. Now returns file timestamps with much better precision than 1 second.
...
[SVN r79691]
2012-07-23 07:26:02 +00:00
Jurko Gospodnetić
344d758e94
Boost Jam cleanup - removed internal file size tracking. The data was being collected but never actually used and did not support file sizes larger than can fit in a 32 bit integer.
...
[SVN r79677]
2012-07-22 16:52:53 +00:00
Jurko Gospodnetić
28200e7f97
Boost Jam cleanup - minor comment corrections.
...
[SVN r79675]
2012-07-22 16:10:36 +00:00
Jurko Gospodnetić
64494521bf
Boost Jam cleanup - removed defective header parsing code seemingly intended for stripping trailing newline characters from read lines. This code has never done anything since it was originally added so there seems no reason to 'fix' it to do what it 'seems to have been intended to do'.
...
[SVN r79674]
2012-07-22 16:05:58 +00:00
Jurko Gospodnetić
fde452f38f
Boost Jam cleanup - minor stylistic changes.
...
[SVN r79673]
2012-07-22 15:43:04 +00:00
Jurko Gospodnetić
35f4195ec7
Boost Jam cleanup - cleaned up some header includes, minor stylistic changes.
...
[SVN r79672]
2012-07-22 14:53:50 +00:00
Jurko Gospodnetić
66f0980384
Fixed a Boost Build bug with path feature requirements not getting expanded to a correct relative path depending on where the build was getting run from, if added by an indirect conditional feature rule. Fixes ticket http://svn.boost.org/trac/boost/ticket/7144 . Thanks to dimak <dvb.kharkov _at_ gmail _dot_ com> for reporting this and preparing a reproducible test case.
...
[SVN r79665]
2012-07-22 07:40:52 +00:00
Jurko Gospodnetić
59ccb1f48b
Allowed Boost Build option rule to be used in test-config configuration files. Corrected and updated the related end-user error message.
...
[SVN r79656]
2012-07-22 07:17:43 +00:00
Jurko Gospodnetić
ca0d98cc38
Boots Build cleanup - minor stylistic changes.
...
[SVN r79650]
2012-07-22 07:01:36 +00:00
Jurko Gospodnetić
1082919fb8
Corrected a Boost Build bug causing it to not report an error if a generator needed to determine its target name itself when a source target passed to it as third or later did not have the same name as the first one. Added a related internal Boost Build unit test.
...
Caught and reported by Adder <adder.thief _at_ gmail.com>.
[SVN r79629]
2012-07-20 19:12:59 +00:00
Jurko Gospodnetić
3f00e9c0b1
Boost Build code cleanup - minor stylistic changes.
...
[SVN r79626]
2012-07-20 18:49:07 +00:00
Jurko Gospodnetić
8f72b65456
Boost Build code cleanup - minor stylistic changes.
...
[SVN r79622]
2012-07-20 14:42:18 +00:00
Jurko Gospodnetić
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.
...
[SVN r79621]
2012-07-20 14:39:50 +00:00
Jurko Gospodnetić
89f740660f
Boost Jam/Build code cleanup - minor stylistic changes.
...
[SVN r79620]
2012-07-20 14:20:55 +00:00
Jurko Gospodnetić
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.
...
[SVN r79618]
2012-07-20 10:57:31 +00:00
Jurko Gospodnetić
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.
...
[SVN r79601]
2012-07-19 14:32:31 +00:00
Jurko Gospodnetić
cc5e96ab49
Boost Build cleanup - minor stylistic change.
...
[SVN r79598]
2012-07-19 11:37:03 +00:00
Jurko Gospodnetić
2f64a35846
Boost Build code cleanup - minor stylistic changes (trimmed trailing spaces, corrected a typo in the main module comment).
...
[SVN r79594]
2012-07-19 03:47:31 +00:00
Jurko Gospodnetić
4e711ebd44
Minor stylistic change.
...
[SVN r79593]
2012-07-19 02:58:55 +00:00
Jurko Gospodnetić
681b6609af
Boost Jam code cleanup - minor stylistic changes (added missing spaces around some parameters inside brackets in C code).
...
[SVN r79587]
2012-07-18 15:06:44 +00:00
Jurko Gospodnetić
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.
...
[SVN r79586]
2012-07-18 14:50:53 +00:00
Jurko Gospodnetić
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.
...
[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ć
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ć
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ć
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ć
1b98bbbf74
Boost Build comment cleanup.
...
[SVN r79580]
2012-07-18 12:42:17 +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ć
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ć
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ć
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ć
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ć
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ć
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ć
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ć
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ć
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ć
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ć
fe47abe424
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ć
743cc7ed4b
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ć
fb8fb8317e
Boost Jam code cleanup - minor stylistic code changes & comment updates.
...
[SVN r79488]
2012-07-13 23:11:45 +00:00