kjedruczyk
c79ea493ff
Fixed null ptr dereference in executable_path on solaris when getexecname fails.
2014-10-24 11:05:42 +04:00
Jurko
f929602088
Return valid exit code from Windows batch scripts.
...
Technique used for setting Windows batch script exit codes in Boost.Build worked
correctly when the script is called from a Windows shell process and then checked
from inside that process. However, when run from a temporary shell process that
needs to terminate after running the script, such a process would always return
exit code 0.
This prevented anyone automating those scripts from detecting their success/
failure status by using their exit code without adding an additional batch script
layer.
For example, consider the following two script files:
ret666.cmd:
exit /b 666
wrapper.cmd:
call ret666.cmd
They both 'should return the value 666' and when run directly from a cmd.exe
console indeed both do (they set the shell process's ERRORLEVEL environment
variable to 666). However, when run like this:
cmd /c <script-name>
running ret666.cmd causes the temporary cmd.exe process to exit with exit code
666, while running wrapper.cmd causes it to exit with exit code 0.
2014-10-24 11:03:15 +04:00
Noel Belcourt
252b5aa019
Block SIGCHLD during select.
...
Select was losing child termination signals so we explictly
block SIGCHLD during select, and unblock after select returns.
Tested on 256 core smp system, no hangs or zombies. Thanks
to Alain Miniussi <alain.miniussi@oca.eu > for reporting this.
2014-10-21 00:23:53 -06:00
Jürgen Hunold
20a3fb2981
Merge pull request #5 from jivancic/more_than_64_jobs
...
[b2] support more than 64 parallel jobs (-j)
2014-07-02 16:55:03 +02:00
Marcel Raad
a106dd3798
Add support for MSVC 14
2014-06-11 21:14:03 +02:00
Steven Watanabe
d782ec52d0
Don't exit immediately on Windows if JAMSHELL is % and CreateProcess fails.
2014-04-03 14:13:33 -07:00
Steven Watanabe
23032af425
Parentheses are not allowed in REMs. Fixes #9800 .
2014-04-03 09:13:53 -07:00
Steven Watanabe
702d40baf9
Fix build with MinGW. Fixes #9301 .
2014-04-03 09:00:19 -07:00
Steven Watanabe
9732c695d1
Fix bug in pathnt.c that caused the results of GLOB to be downcased under some circumstances.
2014-03-24 15:18:37 -07:00
Steven Watanabe
9fb7faedcc
Increment Boost.Build version
2014-03-07 12:24:12 -08:00
Steven Watanabe
7f8aac5d5e
Add support for junctions on Windows
2014-02-06 14:54:40 -08:00
Dan Smith
28b7d5f82f
Export BOOST_JAM_TOOLSET to calling script.
...
This change allows top-level scripts to determine which
toolchain was used by Boost.Build engine bootstrap process.
Top-level script of Boost C++ Libraries will be updated
separately.
2014-02-01 14:05:31 +04:00
K. Noel Belcourt
0ef40cb867
Need to bump MAXJOBS to 256.
...
Having to move to larger smp clusters so need more build
parallelism.
2014-01-29 10:22:01 -07:00
Juraj Ivančić
d2cf5aed72
Avoid creating a thread if remaining jobs can be placed in the same array as thread handles.
...
If we have to wait for, e.g. 65 jobs, first we create a thread which waits for first 63.
The remaining two can be waited on by the same WFMO call which waits for thread
completion. This will avoid creating 2 threads in this case.
2014-01-14 16:11:37 +01:00
Juraj Ivančić
db6c3d7a79
Support more than 64 parallel jobs (-j).
...
Windows WaitForMultipleObjects() can wait on max. 64 handles. This limitation is overcome by splitting the handle set into parts which are of adequate size, and spawning a thread which does the waiting.
2014-01-14 14:05:29 +01:00
Jürgen Hunold
4d5c1f1306
Ignore build directories
2013-12-20 11:33:30 +01:00
Steven Watanabe
c1395b4961
Make the handling of actions that produce multiple targets more correct.
...
[SVN r86561]
2013-11-04 22:35:14 +00:00
Eric Niebler
5e39960efd
mingw patch for bootstrap from Stephan T. Lavavej, refs #8762
...
[SVN r86460]
2013-10-26 21:02:15 +00:00
Jürgen Hunold
acac696eac
Fix #8754 : Add support for upcoming msvc-12.0
...
Thanks to Lars Viklund for the patch
[SVN r84983]
2013-07-08 13:12:18 +00:00
Steven Watanabe
df2b34d63c
Initial supprort for creating symlinks in the git layout.
...
[SVN r84524]
2013-05-27 00:02:43 +00:00
Steven Watanabe
ba1a63750c
Increment Boost.Build version.
...
[SVN r84445]
2013-05-23 16:38:02 +00:00
Vladimir Prus
956bfb8dd6
Unreak compilation with Python support.
...
[SVN r84083]
2013-04-29 11:00:25 +00:00
Steven Watanabe
061f998f43
Optimize member function calls to use less string manipulation.
...
[SVN r83937]
2013-04-16 23:54:54 +00:00
Steven Watanabe
1f1f57dd08
Optimize generator.match-rank
...
[SVN r83933]
2013-04-16 20:48:13 +00:00
Steven Watanabe
dddeab8810
Enable /GL. It seems to help about 10%.
...
[SVN r83921]
2013-04-15 23:48:28 +00:00
Steven Watanabe
840dff3727
Eliminate some extra list_copy/INSTR_POPs.
...
[SVN r83920]
2013-04-15 23:30:36 +00:00
Steven Watanabe
700087b6cb
Small optimization for [ on target return var ].
...
[SVN r83919]
2013-04-15 22:55:49 +00:00
Steven Watanabe
f9c3758b83
Skip searching inside non-existant directories.
...
[SVN r83892]
2013-04-14 02:40:08 +00: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
24e81a0202
Don't create a separate timestamp table. The file table already contains everything we need.
...
[SVN r83888]
2013-04-13 23:09:57 +00:00
Steven Watanabe
43a8ec898f
Fix valgrind errors
...
[SVN r83886]
2013-04-13 22:34:45 +00:00
Steven Watanabe
3f5c9749a7
Separate the code for recording explicit bindings from search.
...
[SVN r83858]
2013-04-12 20:36:52 +00:00
Steven Watanabe
2a75a35f2e
Implement sequence.transform as a native rule.
...
[SVN r83855]
2013-04-11 22:55:25 +00:00
Steven Watanabe
5246c76b45
Add the size of the hash object itself to the profiling output.
...
[SVN r83853]
2013-04-11 22:52:16 +00:00
Steven Watanabe
67a4c83e87
Avoid creating the hash in an object when it isn't needed.
...
[SVN r83834]
2013-04-10 18:50:33 +00:00
Steven Watanabe
d9edc2aae8
Make property-set.get a native-rule. Use a binary search instead of creating a hash table. Reduces memory usage by 20% in trunk/status.
...
[SVN r83826]
2013-04-09 22:16:35 +00:00
Steven Watanabe
0009cda003
Optimize property-set initialization by reducing passing of large lists.
...
[SVN r83825]
2013-04-09 21:07:47 +00:00
Steven Watanabe
f7ca478bdd
Adjust regex to improve performance.
...
[SVN r83821]
2013-04-09 19:25:12 +00:00
Steven Watanabe
f72b3ad06b
Implement native_rules for regex.split and regex.replace.
...
[SVN r83816]
2013-04-08 19:43:36 +00:00
Steven Watanabe
62b79b8ebe
Special case for $(x:G)
...
[SVN r83812]
2013-04-08 17:40:28 +00:00
Steven Watanabe
8980ef13e8
Simplify string_append.
...
[SVN r83809]
2013-04-08 15:15:50 +00:00
Steven Watanabe
adb5c7ffda
Reduce property-set memory usage.
...
[SVN r83779]
2013-04-06 20:55:25 +00:00
Steven Watanabe
813552d5ce
Fix the return status when updating targets that have failed in a prior call to UPDATE_NOW.
...
[SVN r83778]
2013-04-06 17:18:20 +00:00
Steven Watanabe
7850bae328
Add missing object_copy. Refs #8283 .
...
[SVN r83630]
2013-03-29 16:39:26 +00:00
Steven Watanabe
94de4748d9
Don't reset -q after calling UPDATE_NOW with ignore-minus-n
...
[SVN r83629]
2013-03-29 15:41:19 +00:00
Steven Watanabe
2a4cd854da
Prevent incorrect reordering with xlc -qalias=ansi. Fixes #7093 .
...
[SVN r83408]
2013-03-11 17:23:07 +00:00
Vladimir Prus
6e660c615c
Don't include wait.h on Linux.
...
The function we use are all supposed to be in sys/wait.h
Fixes #7847 .
[SVN r82549]
2013-01-19 12:02:57 +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ć
a1d23db44c
Internal Boost Jam cleanup - corrected the make1.c module's make1cmds() function description comment to note that the commands it creates have already had any variable references embedded in them processed instead of still needing processing using some no longer existing var_string() function.
...
[SVN r80322]
2012-08-30 14:07:42 +00:00
Jurko Gospodnetić
8694e1fc85
Replaced a goto based loop construct with a while loop in Boost Jam function.c module's expand() function to avoid a gcc 4.6.0 compiler optimizer bug on Linux (not reproducible using later GCC releases, and never reported on other OSs).
...
The bug was causing the inner while loop to be completely ignored, effectively causing concatenated Jam variable expansions to ignore all but the first variable value. For example, the following code:
local a = one two ;
ECHO /$(a)/ ;
would output '/one/' instead of '/one/ /two/'.
Kudos to Kim Rasmussen <rasmussen74 at gmail dot com> for detecting and helping debug & test the issue.
[SVN r80319]
2012-08-30 10:39:31 +00:00