Boost Jam 3.1.15 release 2007-09-30...

This release sees a variety of fixes for long standing Perforce/Jam problems. Most of them relating to running actions in parallel with the -jN option. The end result of the changes is that running parallel actions is now reliably possible in Unix and Windows environments. Many thanks to Noel for joining the effort, to implement and fix the Unix side of stuff.

* Add support for building bjam with pgi and pathscale toolsets. -- Noel B.
* Implement running action commands through pipes (-p option) to fix jumbled output when using parallel execution with -j option. This is implemented for Unix variants, and Windows (Win32/NT). -- Rene R., Noel B.
* Add "sun" as alias to Sun Workshop compiler tools. -- Rene R.
* Set MAXLINE in jam.h to 23k bytes for AIX. The piecemeal archive action was broken with the default MAXLINE of 102400. Because the AIX shell uses some of the 24k default buffer size for its own use, I reduced it to 23k. -- Noel B.
* Make use of output dir options of msvc to not polute src dir with compiled files. -- Rene R.
* A small fix, so -d+2 will always show the "real" commands being executed instead of casually the name of a temporary batch file. -- Roland S.
* Add test to check 'bjam -n'. -- Rene R.
* Add test to check 'bjam -d2'. -- Rene R.
* Bring back missing 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. -- Rene R.
* Update GC support to work with Boehm GC 7.0. -- Rene R.
* Revert the BOOST_BUILD_PATH 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. -- Roland S.
* Initial support for defining action body from Python. -- Vladimir P.
* Implement @() expansion during parse phase. -- Rene R.
* Define OSPLAT var unconditionally, and more generically, when possible. -- Rene R.
* Fix undeclared INT_MAX on some platforms, i.e. Linux. -- Rene R.
* 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. -- Noel B.
* Add internal dependencies for multi-file generating actions to indicate that the targets all only appear when the first target appears. This fixes the long standing problem Perforce/Jam has with multi-file actions and parallel execution (-jN). -- Rene R.
* Add test of -l limit option now that it's implemented on windows and unix. -- Rene R.
* Add test for no-op @() expansion. -- Rene R.
* Handle invalid formats of @() as doing a straight substitution instead of erroring out. -- Rene R.
* Various fixes to compile on SGI/Irix. -- Noel B.
* Add output for when actions timeout with -lN option. -- Rene R., Noel B.
* Add needed include (according to XOPEN) for definition of WIFEXITED and WEXITSTATUS. -- Markus S.

svn path=/; revision=39618
Moved remotely

svn path=/; revision=39733
Renamed remotely

svn path=/; revision=39765
Translate the Jam grammar to lemon parser.

svn path=/; revision=40258
These tools are not used any more.

svn path=/; revision=41392
Boost Jam 3.1.16 Release

svn path=/; revision=41628
Move the unordered library into 'branches' now that it has been accepted.

svn path=/; revision=42181
Actually, there are some things in the unordered code that aren't ready for
trunk, so I'll rename the branch and create another one to be added to trunk
later.

svn path=/; revision=42182
Use pre-review copy of unordered for trunk.

svn path=/; revision=42183
Merged revisions 41822-41992,41994-42101 via svnmerge from 
https://svn.boost.org/svn/boost/branches/unordered/dev

........
  r41822 | danieljames | 2007-12-07 12:51:54 +0000 (Fri, 07 Dec 2007) | 5 lines
  
  Change the macros to meet boost guidelines.
  
  I should really have done this before the review. At least it'll give them
  something to say.
........
  r41928 | danieljames | 2007-12-09 19:23:27 +0000 (Sun, 09 Dec 2007) | 1 line
  
  Add some parameters to standalone documentation build.
........
  r41929 | danieljames | 2007-12-09 19:24:07 +0000 (Sun, 09 Dec 2007) | 1 line
  
  An extra rehash test for inserting a range.
........
  r41930 | danieljames | 2007-12-09 19:24:52 +0000 (Sun, 09 Dec 2007) | 1 line
  
  get_for_erase can be static because all the required information is in the iterator.
........
  r41931 | danieljames | 2007-12-09 19:31:00 +0000 (Sun, 09 Dec 2007) | 1 line
  
  ADL doesn't seem to be working properly on Visual C++ 7.1 when calling swap, so workaround this in the compile tests.
........
  r41932 | danieljames | 2007-12-09 19:44:46 +0000 (Sun, 09 Dec 2007) | 1 line
  
  Try to make the erase exception requirements a little clearer.
........
  r41933 | danieljames | 2007-12-09 19:52:50 +0000 (Sun, 09 Dec 2007) | 1 line
  
  Hopefully clearer comparison of accessors for comparison/hash function objects.
........
  r41943 | danieljames | 2007-12-10 00:03:53 +0000 (Mon, 10 Dec 2007) | 1 line
  
  Fix a typo.
........
  r41951 | danieljames | 2007-12-10 11:08:02 +0000 (Mon, 10 Dec 2007) | 1 line
  
  Use the locale in the case insensitive comparison, I really should add a test for this.
........
  r41994 | danieljames | 2007-12-13 00:26:05 +0000 (Thu, 13 Dec 2007) | 3 lines
  
  Hervé Brönnimann's improved explanation of the formula for avoiding
  invalidating iterators.
........
  r41995 | danieljames | 2007-12-13 00:30:46 +0000 (Thu, 13 Dec 2007) | 4 lines
  
  Explicity use the classic locale in the case insensitive example. I could make
  the locale a member, but that would make the example longer. Also, this would be
  a good place to put a note about the need for constant function objects.
........
  r41996 | danieljames | 2007-12-13 00:31:55 +0000 (Thu, 13 Dec 2007) | 1 line
  
  Pull the point examples out into test files - fixing a few bugs in the process.
........
  r41997 | danieljames | 2007-12-13 00:41:30 +0000 (Thu, 13 Dec 2007) | 3 lines
  
  A few reference links for boost::hash, it might be better to link to the
  first page of the Boost.Hash documentation though.
........
  r42092 | danieljames | 2007-12-16 10:07:27 +0000 (Sun, 16 Dec 2007) | 2 lines
  
  Fix some typos, and use American spelling.
........
  r42093 | danieljames | 2007-12-16 10:11:00 +0000 (Sun, 16 Dec 2007) | 1 line
  
  Small documentation tweak.
........
  r42096 | danieljames | 2007-12-16 10:17:03 +0000 (Sun, 16 Dec 2007) | 1 line
  
  Fix some reference documentation errors.
........
  r42097 | danieljames | 2007-12-16 10:28:08 +0000 (Sun, 16 Dec 2007) | 1 line
  
  Document the explicit constructors.
........
  r42098 | danieljames | 2007-12-16 10:47:13 +0000 (Sun, 16 Dec 2007) | 1 line
  
  Try to make the active issues and proposals a little clearer - including more obvious links to the relevant papers.
........
  r42099 | danieljames | 2007-12-16 10:52:30 +0000 (Sun, 16 Dec 2007) | 1 line
  
  Fix some complexity errors in the comparison table.
........
  r42100 | danieljames | 2007-12-16 10:59:45 +0000 (Sun, 16 Dec 2007) | 1 line
  
  Use Mapped instead of T in the documentation.
........
  r42101 | danieljames | 2007-12-16 11:06:16 +0000 (Sun, 16 Dec 2007) | 1 line
  
  Remove hard-coded length of prime numbers.
........


svn path=/; revision=42187
Merge: Support for cbegin(n), cend(n).

svn path=/; revision=42188
Remove 'local_iterator_base'.

Merged revisions 42153-42156 via svnmerge from 
https://svn.boost.org/svn/boost/branches/unordered/dev

........
  r42153 | danieljames | 2007-12-18 22:51:31 +0000 (Tue, 18 Dec 2007) | 2 lines
  
  Remove 'local_iterator_base'. It isn't really needed.
........
  r42155 | danieljames | 2007-12-18 22:58:12 +0000 (Tue, 18 Dec 2007) | 1 line
  
  Add a helper function for creating null pointers.
........
  r42156 | danieljames | 2007-12-18 23:14:49 +0000 (Tue, 18 Dec 2007) | 3 lines
  
  Check that I'm using link_ptr & bucket_ptr correctly (they should be distinct
  types with an explicit conversion from bucket_ptr to link_ptr).
........


svn path=/; revision=42189
Merge in some minor changes.

Merged revisions 42157-42182 via svnmerge from 
https://svn.boost.org/svn/boost/branches/unordered/dev

........
  r42157 | danieljames | 2007-12-18 23:26:06 +0000 (Tue, 18 Dec 2007) | 1 line
  
  Tweak the function specifiers a tad bit.
........
  r42158 | danieljames | 2007-12-18 23:30:52 +0000 (Tue, 18 Dec 2007) | 1 line
  
  No need to create a node_constructor for every iteration.
........
  r42159 | danieljames | 2007-12-18 23:50:29 +0000 (Tue, 18 Dec 2007) | 1 line
  
  Pull another node_constructor out of a loop.
........
  r42172 | danieljames | 2007-12-19 17:51:41 +0000 (Wed, 19 Dec 2007) | 1 line
  
  Remove unrequired include.
........
  r42181 | danieljames | 2007-12-19 22:37:34 +0000 (Wed, 19 Dec 2007) | 2 lines
  
  Move the unordered library into 'branches' now that it has been accepted.
........
  r42182 | danieljames | 2007-12-19 22:39:54 +0000 (Wed, 19 Dec 2007) | 4 lines
  
  Actually, there are some things in the unordered code that aren't ready for
  trunk, so I'll rename the branch and create another one to be added to trunk
  later.
........


svn path=/; revision=42190
Merge: When allocators aren't equal use a slow swap.

svn path=/; revision=42191
Fix group_hash's return type.

svn path=/; revision=42197
Restore the extra warnings in the unit tests.

svn path=/; revision=42198
Make a cast explicit in order to avoid a warning.

svn path=/; revision=42199
Use 'BOOST_UNORDERED' prefix for macros.

svn path=/; revision=42203
Make some of the changes suggested by Steve Watanabe.

Explicitly use unordered_detail namespace to avoid ADL.
Only clear buckets starting with cached_begin_bucket_ in clear.
Use BOOST_DEDUCED_TYPENAME more consistently.

svn path=/; revision=42206
Use BOOST_DEDUCED_TYPENAME in unordered_set.hpp and unordered_map.hpp

svn path=/; revision=42207