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

1003 Commits

Author SHA1 Message Date
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