Rene Rivera
698aac70d5
Minimal changes to compile with C++.
...
These are some minimal changes to compile with C++. Here begins
the road to rewriting the bjam engine in C++. So far this is only built
and tested with XCode clang on OSX.
2018-10-20 17:36:10 -05:00
Steven Watanabe
192dedd2ee
Fix debug builds of the debugger. Fixes #245 . Fixes #246 .
2017-12-05 18:26:09 -07:00
Rene Rivera
2b44ccf5dc
Avoid various pedantic warnings.
2017-10-28 23:21:40 -05:00
Alexander Karzhenkov
48e9017139
Fix compiler warnings about deprecated language features ( #238 )
2017-10-28 22:50:55 -05:00
Steven Watanabe
4aa88f9d5d
Merge branch 'debug' into develop
2017-05-02 16:03:45 -06:00
Steven Watanabe
316e26ca71
Remove fixed limit to -j. Fixes #189 .
...
* execunix.c: Replace select with poll.
* execnt.c: Use RegisterWaitForSingleObject when the number of jobs exceeds MAXIMUM_WAIT_OBJECTS.
2017-04-26 14:22:06 -06:00
Steven Watanabe
0d7e0c9c27
Fix performance problems when not using the debugger.
2017-03-11 09:38:21 -07:00
Steven Watanabe
8f92b128bd
Get mi working again. Improve tests and error handling.
2017-03-06 17:48:37 -07:00
Steven Watanabe
e9db80896f
Merge remote-tracking branch 'origin/develop' into debug
...
Conflicts:
src/engine/builtins.c
src/engine/builtins.h
src/engine/function.c
src/engine/jam.c
2016-02-19 12:02:22 -07:00
Steven Watanabe
0704b0f0af
Create a flag for running the debugger. Also start splitting the text interface from the gdm/mi interface.
2015-12-14 13:33:55 -07:00
Steven Watanabe
c0ef46eeab
Add support for clearing breakpoints.
2015-12-11 13:34:11 -07:00
Artur Shepilko
c696419e2a
Add bootstrap on VMS, use POSIX-style path handling.
2015-10-24 12:21:31 -05:00
Aaron Boman
b04bfcf171
Add type checking to help ease porting.
...
- Adds python optimization by default with a "-z" disable flag.
- Add type checking to bjam_signature and type checking asserts.
- Fix a type assertion in testing.
2015-09-17 09:54:46 +03:00
Rene Rivera
5f22da72aa
Reporpous "-o" option to mirror all BB output to the specified file.
...
Useful for script control and for users to obtain a log in an easier
cross-platform manner.
2015-04-10 09:07:56 -05:00
Steven Watanabe
3721fec260
Initial implementation of a debugger for Jam.
...
The interface is a subset of gdb.
TODO:
* Put this behind flag, so it's possible to run b2 without the debugger.
Perhaps -db?
* Keep a command history and allow it to be accessed.
* Abbreviate long arguments in the backtrace, and wrap
long lines better.
* Implement more commands. I'm thinking of watch, condition, and ignore in
particular.
* Test the runtime cost. If it doesn't have any noticable penalty
when it's off, then it's safe to integrate this functionality
into the primary b2 executable.
* Write documentation.
* IDE integration. I'm hoping that I can hijack gdb support for any
editor that has built in support for gdb.
2015-03-21 17:21:36 -06:00
kjedruczyk
c79ea493ff
Fixed null ptr dereference in executable_path on solaris when getexecname fails.
2014-10-24 11:05:42 +04:00
Steven Watanabe
2402d57e65
Revert [80304]. It's badly broken. (a) the buffer size is wrong, and (b) strncpy is the wrong function here.
...
[SVN r83889]
2013-04-14 00:09:21 +00:00
Steven Watanabe
adb5c7ffda
Reduce property-set memory usage.
...
[SVN r83779]
2013-04-06 20:55:25 +00:00
Jurko Gospodnetić
cc67036dab
Internal Boost Jam pwd.c module cleanup - module renamed to cwd.c, refactored to initialize the current working folder at program startup and exit if this operation fails instead of attempting to plow on with an empty current working folder, the internal cwd() operation now returns an OBJECT instead of a LIST pointer so it would be more generic and not specialized just for the PWD builtin rule implementation.
...
[SVN r80373]
2012-09-03 14:31:46 +00:00
Jurko Gospodnetić
cfb54c8213
Internal Boost Jam cleanup - minor stylistic changes.
...
[SVN r80305]
2012-08-29 16:18:06 +00:00
Jurko Gospodnetić
8de03be9b2
Boost Jam cleanup on Linux/Free-BSD - replaced strndup() usage with malloc()/strncpy() as strndup() does not get declared in older glibc version header files unless some version specific symbols are defined first. This corrects a compiler warning on such systems about strndup() function being implicitly (and incorrectly) declared.
...
[SVN r80304]
2012-08-29 15:52:29 +00:00
Jurko Gospodnetić
a62e58fab6
Boost Jam cleanup - minor stylistic changes.
...
[SVN r80179]
2012-08-24 23:23:44 +00:00
Jurko Gospodnetić
dabb720a6d
Boost Jam cleanup - added #define WIN32_LEAN_AND_MEAN before including the windows.h header to make it more light-weight in a couple of places. Minor stylistic changes.
...
[SVN r80176]
2012-08-24 22:52:32 +00:00
Jurko Gospodnetić
a2413be235
Restored old Boost Jam '-v' version information screen to what it was like before revision [79779] as requested by Steven Watanabe. Boost Jam now reports its minimum supported path modification timestamp resolution using a new builtin JAM_TIMESTAMP_RESOLUTION variable. Updated Boost Build's internal testing system to correctly fetch this Boost Jam version information.
...
[SVN r79880]
2012-08-05 18:31:19 +00:00
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ć
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ć
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ć
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ć
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ć
91e29f3735
Boost Jam code cleanup - minor stylistic changes.
...
[SVN r79442]
2012-07-12 10:28:58 +00:00
Jurko Gospodnetić
041f665f19
Boost Jam code cleanup - better checking and error reporting related to the -j command-line option and the PARALLELISM built-in variable.
...
[SVN r79054]
2012-06-24 11:44:13 +00:00
Jurko Gospodnetić
4ee4244d6b
Boost Jam code cleanup - minor stylistic changes in jam.c & jam.h modules.
...
[SVN r79053]
2012-06-24 11:33:05 +00:00
Jurko Gospodnetić
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).
...
[SVN r79052]
2012-06-24 10:58:58 +00:00
K. Noel Belcourt
a8344266f3
Add ability to limit amount of target output that is
...
output by bjam. Added bjam argument -mx where x is
the maximum amount of output to be captured from a
target, in kb.
This fix will enable, PGI, VACPP, and Clang to cycle
normally in the nightly testing.
[SVN r78847]
2012-06-07 15:36:46 +00:00
K. Noel Belcourt
6e89b4abac
Revert commit 76862, restore FreeBSD and other
...
unix testers that I broke with this commit.
[SVN r78800]
2012-06-02 18:26:35 +00:00
Steven Watanabe
8db046a1f4
Make list_new take one argument. Rename the two argument form to list_push_back.
...
[SVN r77522]
2012-03-24 23:03:10 +00:00
Steven Watanabe
f64a17d8b9
Change make to take a LIST *. There's no good reason to create a separate array.
...
[SVN r77511]
2012-03-23 22:55:50 +00:00
Steven Watanabe
60d66ca888
Use dynamic arrays instead of linked lists. Reduces memory use about 10% overall.
...
[SVN r77408]
2012-03-19 18:17:36 +00:00
K. Noel Belcourt
a65106928d
Eliminate uninitialized memory problem with sigemptyset.
...
[SVN r77220]
2012-03-04 17:23:44 +00:00
K. Noel Belcourt
584a0636af
Use c, not c++, comments.
...
[SVN r77198]
2012-03-04 05:59:29 +00:00
K. Noel Belcourt
f38f7f06d1
Undo previous bad commit.
...
[SVN r77197]
2012-03-04 05:58:05 +00:00
K. Noel Belcourt
9e86e2fbb5
Use sigemptyset to initialize sa_mask instead of zero.
...
[SVN r77193]
2012-03-03 22:49:23 +00:00
K. Noel Belcourt
baa8a64459
Initialize variable in sigset_t. Thanks Steve
...
for pointing this out.
[SVN r77192]
2012-03-03 22:31:51 +00:00
K. Noel Belcourt
3c7724acc5
Revert 77005, biffed the revert of 76862.
...
[SVN r77009]
2012-02-13 20:08:20 +00:00
K. Noel Belcourt
11f03ee4cd
Revert commit 76862. This causes problems for a
...
tester that we need to track down.
[SVN r77005]
2012-02-13 16:36:00 +00:00
K. Noel Belcourt
ececb00bfb
Handle message truncation, zombies, sigchld handling.
...
Changes to get verbose compiler output down to a manageable
size. Added option, -mN to limit output to N kb. Default
is to capture all compiler generated output. Added this
option to ignore massive compiler diagnostic outout
associated with some compilers. With this change, I can
increase the nightly timeout to longer than 300 seconds to
give some slower compilers a change to finish compiling.
[SVN r76862]
2012-02-03 23:11:16 +00:00
Steven Watanabe
77f10e6561
Clean up the evil 'variables of the running module are swapped with the global variable table' hack.
...
[SVN r75912]
2011-12-12 02:02:20 +00:00