Boost C++ Libraries / News: Recent posts

Boost Jam 3.1.16

This is mostly a bug fix release.

* Work around some Windows CMD.EXE programs that will
fail executing a totally empty batch file. -- Rene R.
* Add support for detection and building with vc9.
-- John P.
* Plug memory leak when closing out actions. Thanks to
Martin Kortmann for finding this. -- Rene R.
* Various improvements to __TIMING_RULE__ and
__ACTION_RULE__ target variable hooks. -- Rene R.
* Change JAMDATE to use common ISO date format.
-- Rene R.
* Add test for result status values of simple actions,
i.e. empty actions. -- Rene R.
* Fix buffer overrun bug in expanding @()
subexpressions. -- Rene R.
* Check empty string invariants, instead of assuming all
strings are allocated. And reset strings when they are
freed. -- Rene R.
* Add OSPLAT=PARISC for HP-UX PA-RISC. -- Boris G.
* Make quietly actions really quiet by not printing the
command output. The output for the quietly actions is
still available through __ACTION_RULE__. -- Rene R.
* Switch intel-win32 to use static multi thread runtime
since the single thread static runtime is no longer
available. -- Rene R.
* When setting OSPLAT, check __ia64 macro. -- Boris G.
* Get the unix timing working correctly. -- Noel B.
* Add -fno-strict-aliasing to compilation with gcc.
Which works around GCC-4.2 crash problems. -- Boris G.
* Increased support for Python integration.
-- Vladimir P., Daniel W.
* Allow specifying options with quotes, i.e.
--with-python=xyz, to work around the CMD shell using
= as an argument separator. -- Rene R.
* Add values of variables specified with -s to .EVNRION
module, so that we can override environment on command
line. -- Vladimir P.
* Make NORMALIZE_PATH convert \ to /. -- Vladimir P.

Posted by Rene Rivera 2007-12-03

Boost Jam 3.1.15

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.

Posted by Rene Rivera 2007-09-30

Boost 1.34.0 Released

Boost 1.34.0, the latest version of peer-reviewed, portable C++
libraries, has been released. This release brings five new libraries
and extensive updates to existing libraries.

New Libraries

* Foreach Library:
BOOST_FOREACH macro for easily iterating over the elements of a
sequence, from Eric Niebler.
* Statechart Library:
Arbitrarily complex finite state machines can be implemented in
easily readable and maintainable C++ code, from Andreas Huber.
* TR1 Library:
An implementation of the C++ Technical Report on Standard Library
Extensions, from John Maddock.
This library does not itself implement the TR1 components, rather
it's a thin wrapper that will include your standard library's TR1
implementation (if it has one), otherwise it will include the Boost
Library equivalents, and import them into namespace std::tr1. Highlights
include: Reference Wrappers, Smart Pointers, result_of,
Function Object Binders, Polymorphic function wrappers, Type Traits,
Random Number Generators and Distributions, Tuples, Fixed Size Array,
Hash Function Objects, Regular Expressions and
Complex Number Additional Algorithms.
* Typeof Library:
Typeof operator emulation, from Arkadiy Vertleyb and Peder Holt.
* Xpressive Library:
Regular expressions that can be written as strings or as expression
templates, and that can refer to each other and themselves recursively
with the power of context-free grammars, from Eric Niebler.... read more

Posted by Thomas Witt 2007-05-12

Boost.Jam 3.1.13

Minor changes, release that will match the sources with the Boost 1.34.0 release.

* Reordering of built in BOOST_BUILD_PATH directories.
* Builds with intel-win32.
* -lx option now attempts to close dead dialogs, win32 only. THanks to Bronek Kozicki.
* Fix return value from Python calls.
* Patch from Andreas Fredriksson.

Posted by Rene Rivera 2006-06-08

Boost 1.33.1 Released

Boost 1.33.1, the latest version of peer-reviewed, portable C++
libraries, has been released. This is a bug fix release addressing
many small problems with the 1.33.0 release. It is a recommended upgrade for all users of Boost 1.33.0.

Updated Libraries include:

* Any Library: Cast to reference types introduced in 1.33.0 is
now documented on any_cast documentation page.
* Config Library: Don't undef BOOST_LIB_TOOLSET after use.
* Boost.Python:
o The build now assumes Python 2.4 by default, rather
than 2.2
o Support Python that's built without Unicode support
o Support for wrapping classes with overloaded
address-of (&) operators
* Smart Pointer Library: Fixed problems under Metrowerks
CodeWarrior on PowerPC (Mac OS X) with inlining on, GNU
GCC on PowerPC 64.
* Regex Library: Fixed the supplied makefiles, and other small
compiler specific changes. Refer to the regex history page
for more information on these and other small changes.
* Iostreams Library: Improved the interface for accessing a
chain's components, added is_open members to the file and
file descriptor devices, fixed memory-mapped files on
Windows, and made minor changes to the documentation.
* Functional/Hash Library: Fixed the points example.
* Multi-index Containers Library: Fixed a problem with
multithreaded code, and other minor changes. Refer to the
library release notes for further details.
* Graph Library:
o Fixed a problem with the relaxed heap on x86 Linux
(fixes bug in dijkstra_shortest_paths).
o Fixed problems with cuthill_mckee_ordering and
king_ordering producing no results.
o Added color_map parameter to dijkstra_shortest_paths.
* Signals Library: Fixed problems with the use of Signals
across shared library boundaries.
* Thread library: read_write_mutex has been removed due to
problems with deadlocks.
* Wave library (V1.2.1) Fixed a couple of problems, refer to
the change log for further details.... read more

Posted by Douglas Gregor 2005-12-06

Boost C++ Libraries -- Version 1.33 Released

Boost 1.33, the latest version of peer-reviewed, portable C++ libraries, has been released. This release includes 5 new libraries and major feature additions to 12 others.

New libraries include:
* Iostreams Library: Framework for defining streams, stream buffers and i/o filters, from Jonathan Turkanis. http://www.boost.org/libs/iostreams/doc/index.html
* Functional/Hash Library: A TR1 hash function object that can be extended to hash user defined types, from Daniel James. http://www.boost.org/doc/html/hash.html
* Parameter Library: Write functions that accept arguments by name: especially useful when a function has more than one argument with a useful default value, since named arguments can be passed in any order. http://www.boost.org/libs/parameter/doc/html/index.html
* Pointer Container Library: Containers for storing heap-allocated polymorphic objects to ease OO-programming, from Thorsten Ottosen. http://www.boost.org/libs/ptr_container/doc/ptr_container.html
* Wave: Standards conformant implementation of the mandated C99/C++ preprocessor functionality packed behind an easy to use iterator interface, from Hartmut Kaiser. http://www.boost.org/libs/wave/index.html... read more

Posted by Jeff Garland 2005-08-21