2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-14 12:42:11 +00:00
Commit Graph

2124 Commits

Author SHA1 Message Date
K. Noel Belcourt
7467bfb33a Fix a problem with the -lx timeout code on ppc darwin.
The intel based darwin system was killing subprocesses
okay but for some reason, ppc systems were not.  This
change fixes the timeout code so subprocesses are
properly killed on ppc darwin systems.



[SVN r39514]
2007-09-24 21:01:45 +00:00
Rene Rivera
f0f0ed36dd Make per target manifest files and a single global catalog files, so that one can have multiple boostbook targets in one project.
[SVN r39506]
2007-09-24 13:24:23 +00:00
Markus Schöpflin
be9e478dfa Add needed include (according to XOPEN) for definition of WIFEXITED and WEXITSTATUS.
[SVN r39499]
2007-09-24 07:38:35 +00:00
Markus Schöpflin
ee12ae74e0 Removed unused variable.
[SVN r39498]
2007-09-24 07:31:43 +00:00
K. Noel Belcourt
5b0fd488b3 Fix problems with Pathscale toolset (-G and -h options
are unknown).   Thanks John Maddock for pointing these
out.



[SVN r39492]
2007-09-23 21:31:43 +00:00
K. Noel Belcourt
27447ae6fa Another patch to fix the -lx timeout code. Some actions spawn
sub-processes after bjam forks a new process (for example, after
g++ is forked by bjam, g++ then forks sub-processes like cc1plus).
The timeout code would kill the g++ process, but might not kill
the subprocesses spawned by g++.

I fixed this problem by making the bjam fork'ed process (g++) a 
session leader by calling setsid() before calling exec.  The setsid 
call, in essence, gives all child processes a parent process id 
(ppid) of the g++ process id.  This guarantees that killing g++ 
will kill all child processes spawned by g++ as well.

One last comment on the maximum process time before a process is actually
killed.  The worst case process elapsed time is 2x seconds if -lx is
given.  The reason is that a process might be one second away from being
killed and, if there's no other signal activity, the select function will
wait x seconds before timing out and killing any active processes.  So
if you say -lx and monitor a build known to have lengthy processes, you 
may see a process with up to 2x seconds of time before it is killed.



[SVN r39467]
2007-09-21 22:38:17 +00:00
K. Noel Belcourt
fcd347ebde Added diagnostic message to output.c to inform users
when a process has timed out and been killed.

Because timed out processes now emit a diagnostic, I
had to update option_l.jam so we wouldn't break test.sh
when it runs.

Minor cleanup to execunix.c to remove unneeded code
and to set the process exit status as returned from
waitpid.  The exit status is used to identify timed
out processes so we can emit a diagnostic to the user.



[SVN r39423]
2007-09-20 19:06:54 +00:00
Rene Rivera
f267ee63a7 Add partial code for indicating to the output function that a command finished because of a timeout.
[SVN r39416]
2007-09-20 16:31:44 +00:00
Boris Gubenko
6f669e0b40 add -AA to link actions, remove +DD64
[SVN r39409]
2007-09-20 12:42:27 +00:00
Rene Rivera
5449daceab Now that the exec*.c files are really platform specific, adjust the build script to only build the needed ones for MinGW.
[SVN r39400]
2007-09-20 04:36:27 +00:00
K. Noel Belcourt
e50a11396b Fix a bug Chris Cambly reported with the timeout code on
AIX.  Apparently AIX doesn't permit a forked process to 
reference (set) memory in the parent's address space.  No 
other system seems to object to this practice but it taught
me a lesson!

The fix was to move the call to get the child process start 
time directly before calling vfork.  This isn't really fair 
to the forked process as we start counting time against the
child process that we haven't even forked (we count the 
vfork/exec call overhead against the child process).

Tested Rene's test.sh script on Sun, Linux, AIX, and Sgi.



[SVN r39399]
2007-09-20 04:11:11 +00:00
Rene Rivera
733d202e9d Make get-values preserve the values exactly, instead of treating them like paths and hence munging them.
[SVN r39395]
2007-09-19 19:29:31 +00:00
K. Noel Belcourt
6307475e08 Update the mipspro.jam file so have the compiler
emit each referenced template in the object file
where referenced and then rely on the linker to
remove duplicates.

Added some missing macros to sgi_mipspro.hpp.



[SVN r39382]
2007-09-19 02:59:00 +00:00
K. Noel Belcourt
5431dfdbd2 Remove unnecessary overhead in execunix.c related to
the timeout implementation.  Also removed unused variables
as diagnosed by the Sgi (mipspro) compiler.

Fixed const-correctness error in operations.hpp that
Sgi complained about.

There's no strerror_r function on Irix 6.5 so I replaced
it with a strerror call.

With these changes, I can now build process jam log and
start running Sgi tests.



[SVN r39378]
2007-09-18 22:46:26 +00:00
K. Noel Belcourt
7fa6118e55 A minor optimization to eliminate two OS calls (one
to times, one to kill).  Now all expired processes
are killed in one place.  If the select command
times out, I set each processes start_time to zero
to ensure it is picked up as an expired process.



[SVN r39361]
2007-09-18 03:27:48 +00:00
K. Noel Belcourt
445da99019 Fix One more obscure way for the timeout to miss processes.
If select times out (no processes terminated), then all running
processes can be terminated.  Cleaned up code when this condition
applies.



[SVN r39360]
2007-09-18 02:42:13 +00:00
K. Noel Belcourt
4468f9e815 Rene found a problem with the code I committed to
terminate expired processes.  This patch basically
causes the select function to return after -l seconds.
This gives me a shot at killing processes still
running.



[SVN r39358]
2007-09-17 23:30:57 +00:00
Rene Rivera
63c43e0a65 Handle invalid formats of @() as doing a straight substitution instead of erroring out.
[SVN r39357]
2007-09-17 21:35:58 +00:00
Vladimir Prus
2a46723127 Allow to specify version, and explicitly specify
the command, when initializing the acc toolset.


[SVN r39354]
2007-09-17 19:29:06 +00:00
Rene Rivera
b19a4d5589 Add internal dependencies for multi-file generating actions to indicate that the targets all only appear when the first target appears. (fixes ticket #431)
[SVN r39341]
2007-09-17 08:32:24 +00:00
Rene Rivera
9685e0489f Really fix missing INT_MAX declaration. And fix pma.jam test on Unix.
[SVN r39336]
2007-09-17 00:54:20 +00:00
K. Noel Belcourt
df836c6bd9 Added missing #include <utility> and qualified
make_pair with std:: to library_status.cpp.

Added missing headers to make1.c and missing prototypes
to builtin.h

Modified execunix.c to add support for terminating
processes that consume too much cpu or that hang and
fail to consume cpu at all.  This in support of the
bjam -lx option.

http://svn.boost.org/trac/boost/ticket/1266#comment:2



[SVN r39334]
2007-09-17 00:27:37 +00:00
Rene Rivera
f0a4613cf9 Fix undeclared INT_MAX on some platforms, i.e. Linux.
[SVN r39332]
2007-09-16 22:13:02 +00:00
Rene Rivera
acb224e465 Define OSPLAT var unconditionally, and more generically, when possible. (fixes #798)
[SVN r39331]
2007-09-16 21:55:02 +00:00
Rene Rivera
1859f9fb44 Implement @() expansion during parse phase. (fixes #721)
[SVN r39330]
2007-09-16 21:35:19 +00:00
Vladimir Prus
a5777c5893 Remove acc_pa_risc.jam. Given that it's a copy
of acc.jam with only toolset name changed, I see
no point in having this file.


[SVN r39268]
2007-09-14 15:30:42 +00:00
Vladimir Prus
074a8759f1 * gcc.jam (init-link-flags): Add missing
'unchecked'. This was breaking intel.


[SVN r39267]
2007-09-14 15:28:13 +00:00
Vladimir Prus
3bac4643ae Don't try to apply --build-dir to standalone projects.
Fixes build_dir test failure on linux.


[SVN r39194]
2007-09-11 19:16:06 +00:00
Vladimir Prus
259e5a2843 Implement --ignore-toolset-requirements and set in
during testing.


[SVN r39164]
2007-09-07 23:59:54 +00:00
Boris Gubenko
a568cc7006 Boost.Build V2 toolset for the HP aC++ compiler on PA-RISC
[SVN r39132]
2007-09-05 23:43:40 +00:00
Roland Schwarz
05c93e4d3c Make use of gnu ld's -Bstatic and -Bdynamic switches to choose order of libraries searched by -l switch.
[SVN r39113]
2007-09-03 19:38:40 +00:00
Roland Schwarz
5d6be523a2 Changed library naming convention for mingw and cygwin. For details see comment in file. Also should resolve Ticket #1058 .
[SVN r39107]
2007-09-02 18:37:14 +00:00
Vladimir Prus
42c9e46f9e Previously, I've accidentally committed a patch
to make <tag> affect names of searched libraries.
This commit greatly simplifies that.


[SVN r39105]
2007-09-01 22:10:46 +00:00
Vladimir Prus
aef14d8748 Make free features on the command line affect all targets,
not just directly requested ones.

Fixes #985.


[SVN r39104]
2007-09-01 21:46:09 +00:00
Vladimir Prus
4f5947ca91 Fix glob excludes in subdirectories.
Thanks to Norbert Unterberg for the bug report.


[SVN r39103]
2007-09-01 20:28:42 +00:00
Vladimir Prus
566764c705 Initial support for defining action body from Python.
[SVN r39102]
2007-09-01 08:55:35 +00:00
Vladimir Prus
578f6bd326 Use SVN for nightly builds
[SVN r38968]
2007-08-26 17:15:51 +00:00
Vladimir Prus
581361c1fd Revert mistaken commit
[SVN r38920]
2007-08-25 04:36:02 +00:00
Vladimir Prus
1da1fa9aee Use -KPIC for shared libs. Addresses #1186.
[SVN r38919]
2007-08-25 04:34:31 +00:00
Vladimir Prus
05c2cfc57c Support the address-model feature for the sun
toolset. Addresses #1186.


[SVN r38872]
2007-08-23 19:57:23 +00:00
Roland Schwarz
cd7aabdb8d Merge from RC_1_34_0 (CVS 1.12.2.53) to trunk. CVS RC_1_34_0 - 1.12.2.23 and CVS HEAD - 1.51 are the last versions that were equal. Between these and trunk was only a small diff for HPUX that removed pthread lib. This fix seems to be already present in the merged in version.
[SVN r38803]
2007-08-20 19:14:14 +00:00
Rene Rivera
09f2e196ff Merge changes from Version_1_34_1 back to trunk.
[SVN r38792]
2007-08-20 16:52:55 +00:00
Roland Schwarz
9eaf0e2045 Changed BOOST_USER_CONFIG to BOOST_BUILD_USER_CONFIG as this is a more systematic name.
[SVN r38711]
2007-08-16 12:05:44 +00:00
Roland Schwarz
1874137fc2 Added support for BOOST_USER_CONFIG environment variable. This variable is able to take the same rhs as --user-config= switch. The switch still overrides the variable when present. (This has been added to allow for the BOOST_BUILD_PATH to be restored to its original i.e. documented behaviour.)
[SVN r38620]
2007-08-13 16:39:02 +00:00
Roland Schwarz
94497c088b Revert the last change, since the directory passed to boost-build should be first in searched paths, else project local build system will not be picked correctly.
The order had been changed to allow searching of alternate user-config.jam files from boost build. This better should be done with --user-config= switch or similar. 

[SVN r38618]
2007-08-13 15:35:16 +00:00
Rene Rivera
8810fb0b7e Update GC support to work with Boehm GC 7.0.
[SVN r38594]
2007-08-11 05:53:37 +00:00
Rene Rivera
b04bb27397 Bring back midding output of -n option. The -o option continues to be broken as it has been for a long time now because of the @ file feature. (fixes #1155)
[SVN r38590]
2007-08-11 02:39:13 +00:00
Roland Schwarz
9806110f88 made the feature "format" propagated
[SVN r38558]
2007-08-10 01:22:59 +00:00
Vladimir Prus
5b0b22460e Clarify error message
[SVN r38515]
2007-08-08 18:51:35 +00:00
Vladimir Prus
1474f468cf More quoting fixes. Closes #853.
[SVN r38499]
2007-08-07 19:59:19 +00:00