diff options
author | jmmv <jmmv@pkgsrc.org> | 2008-01-04 19:58:39 +0000 |
---|---|---|
committer | jmmv <jmmv@pkgsrc.org> | 2008-01-04 19:58:39 +0000 |
commit | 106f6e10a540663e81edcf0839ada919bf2d150b (patch) | |
tree | 9b9bd7d108a9bed0659b3ba8104a217cbf9c19d5 /devel/boost-jam | |
parent | f3ff9a627fcbd371c3969c7770e0ae8ee559c394 (diff) | |
download | pkgsrc-106f6e10a540663e81edcf0839ada919bf2d150b.tar.gz |
Update boost to 1.34.1. This is based on the patches provided by Brook Milligan
in PR pkg/36558. Committing it right after the freeze so that we have enough
time to resolve the problems that this will surely cause.
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.
Updated Libraries
* Assign Library:
o Support for ptr_map<key,T> via the new function ptr_map_insert()
o Support for initialization of Pointer Containers when the containers
hold pointers to an abstract base class.
* Date_time library:
o Support for new US/Canada timezone rules and other bug fixes.
See Change History for details.
* Filesystem Library:
Major upgrade in preparation for submission to the C++ Standards Committee
for TR2. Changes include:
o Internationalization, provided by class templates basic_path,
basic_filesystem_error, basic_directory_iterator
and basic_directory_entry.
o Simplification of the path interface by eliminating special constructors
to identify native formats.
o Rationalization of predicate function design, including the addition of
several new functions.
o Clearer specification by reference to POSIX, the ISO/IEEE Single Unix
Standard, with provisions for Windows and other operating systems.
o Preservation of existing user code whenever possible.
o More efficient directory iteration.
o Addition of a recursive directory iterator.
* Function Library:
Boost.Function now implements a small buffer optimization, which can
drastically improve the performance when copying or constructing
Boost.Function objects storing small function objects. For instance,
bind(&X:foo, &x, _1, _2) requires no heap allocation when placed into
a Boost.Function object.
* Functional/Hash Library
o Use declarations for standard classes, so that the library doesn't
need to include all of their headers
o Deprecated the <boost/functional/hash/*.hpp> headers.
o Add support for the BOOST_HASH_NO_EXTENSIONS macro, which disables
the extensions to TR1
o Minor improvements to the hash functions for floating point numbers.
* Graph Library:
o edmonds_maximum_cardinality_matching, from Aaron Windsor.
o lengauer_tarjan_dominator_tree, from JongSoo Park.
o compressed_sparse_row_graph, from Jeremiah Willcock and Douglas Gregor
of Indiana University.
o sorted_erdos_renyi_iterator, from Jeremiah Willcock
of Indiana University.
o biconnected_components now supports a visitor and named parameters,
from Janusz Piwowarski.
o adjacency_matrix now models the Bidirectional Graph concept.
o dijkstra_shortest_paths now calls vis.initialize_vertex for each
vertex during initialization.
o Note: the name of the compiled library for the GraphViz reader has
changed to boost_graph (from bgl-viz) to match Boost conventions.
o See the complete revision history for more information.
* MultiArray Library:
Boost.MultiArray now by default provides range-checking for operator[].
Range checking can be disabled by defining the macro BOOST_DISABLE_ASSERTS
before including multi_array.hpp. A bug in multi_array::resize() related
to storage orders was fixed.
* Multi-index Containers Library:
o New random access indices.
o Non key-based indices feature new rearrange facilities.
o This version also includes a number of optimizations and usage
improvements. For a complete list of changes,
see the library release notes.
* Optional Library:
o boost::none_t and boost::none now added to Optional's documentation
o Relational operators now directly support arguments of type 'T'
and 'none_t'
o operator->() now also works with reference types.
o Helper functions make_optional(val), make_optional(cond,val)
and get_optional_value_or(opt,alternative_value) added.
o Constructor taking a boolean condition (as well as a value) added.
o Member function get_value_or(alternative_value) added.
o Incompatbility bug with mpl::apply<> fixed.
o Converting assignment bug with uninitialized lvalues fixed.
* Parameter Library:
o Every ArgumentPack is now a valid MPL Forward Sequence.
o Support for unnamed arguments (those whose keyword is deduced from
their types) is added.
o Support for named and unnamed template arguments is added.
o New overload generation macros solve the forwarding problem directly.
o See also the Python library changes, below.
* Pointer Container Library:
o Support for serialization via Boost.Serialization.
o Exceptions can be disabled by defining the macro
BOOST_PTR_CONTAINER_NO_EXCEPTIONS before including any header.
This macro is defined by default if BOOST_NO_EXCEPTIONS is defined.
o Additional std::auto_ptr<T> overloads added s.t. one can also pass
std::auto_ptr<T> instead of only T* arguments to member functions.
o transfer() now has weaker requirements s.t. one can transfer objects
from ptr_container<Derived> to ptr_container<Base>,
* Python Library:
o Boost.Python now automatically appends C++ signatures to docstrings.
The new docstring_options.hpp header is available to control the
content of docstrings.
o stl_input_iterator, for turning a Python iterable object into an STL
input iterator, from Eric Niebler.
o Support for void* conversions is added.
o Integrated support for wrapping C++ functions built with the
parameter library; keyword names are automatically known to
docsstrings.
o Enhancements to the API for better embedding support
(boost::python::import(), boost::python::exec()
and boost::python::exec_file()).
* Signals Library:
More improvements to signal invocation performance from Robert Zeh.
* Smart Pointers Library:
o Allocator support as proposed in N1851 (162 Kb PDF).
o pointer_cast and pointer_to_other utilities to allow
pointer-independent code, from Ion Gaztanaga.
* String Algorithm Library:
o lexicographical_compare
o join
o New comparison predicates is_less, is_not_greater.
o Negative indexes support (like Perl) in various algorihtms
(*_head/tail, *_nth).
* Wave Library:
o Wave now correctly recognizes pp-number tokens as mandated by the
C++ Standard, which are converted to C++ tokens right before they are
returned from the library.
o Several new preprocessing hooks have been added. For a complete
description please refer to the related documentation page:
The Context Policy.
o Shared library (dll) support has been added for the generated Wave
libraries.
o The overall error handling has been improved. It is now possible to
recover and continue after an error or a warning was issued.
o Support for optional comment and/or full whitespace preservation
in the generated output stream has been added.
o The Wave library now performs automatic include guard detection to
avoid accessing header files more than once, if appropriate.
o Full interactive mode has been added to the Wave tool. Now the Wave
tool can be used just like Python or Perl for instance to
interactively try out your BOOST_PP macros. Additionally it is now
possible to load and save the current state of an interactive
session (macro tables et.al.).
o The overall performance has been improved by upto 40-60%, depending
on the concrete files to process.
o Support for new pragmas has been added allowing to control certain
library features from inside the preprocessed sources (partial
output redirection, control of generated whitespace and #line
directives).
o Optional support for #pragma message "..." has been added.
o This version also includes a number of bug fixes and usage
improvements. For a complete list of changes, see the libraries
change log.
Diffstat (limited to 'devel/boost-jam')
-rw-r--r-- | devel/boost-jam/Makefile | 11 | ||||
-rw-r--r-- | devel/boost-jam/bjam.mk | 30 | ||||
-rw-r--r-- | devel/boost-jam/buildlink3.mk | 4 |
3 files changed, 27 insertions, 18 deletions
diff --git a/devel/boost-jam/Makefile b/devel/boost-jam/Makefile index 93f32b8a6a4..be7680d3d43 100644 --- a/devel/boost-jam/Makefile +++ b/devel/boost-jam/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.2 2007/11/29 22:27:13 heinz Exp $ +# $NetBSD: Makefile,v 1.3 2008/01/04 19:58:40 jmmv Exp $ # PKG_DESTDIR_SUPPORT= user-destdir @@ -14,22 +14,19 @@ CONFLICTS+= boost-build<=1.33.1 SUBST_CLASSES+= bb SUBST_MESSAGE.bb= Fixing path to Boost.Build files. SUBST_STAGE.bb= pre-build -SUBST_FILES.bb= tools/build/jam_src/Jambase +SUBST_FILES.bb= tools/jam/src/Jambase SUBST_SED.bb= -e 's,/usr/share/boost-build,${PREFIX}/share/boost-build,g' .include "../../devel/boost-build/toolset.mk" INSTALLATION_DIRS= bin -pre-build: - rm ${WRKSRC}/tools/build/jam_src/jambase.c - do-build: - cd ${WRKSRC}/tools/build/jam_src && \ + cd ${WRKSRC}/tools/jam/src && \ ${SETENV} ${MAKE_ENV} ${SH} ./build.sh ${BOOST_TOOLSET} do-install: - ${INSTALL_PROGRAM} ${WRKSRC}/tools/build/jam_src/bin.*/bjam \ + ${INSTALL_PROGRAM} ${WRKSRC}/tools/jam/src/bin.*/bjam \ ${DESTDIR:Q}${PREFIX}/bin .include "../../mk/bsd.pkg.mk" diff --git a/devel/boost-jam/bjam.mk b/devel/boost-jam/bjam.mk index 7cee298fc77..7b58f1630f5 100644 --- a/devel/boost-jam/bjam.mk +++ b/devel/boost-jam/bjam.mk @@ -1,4 +1,4 @@ -# $NetBSD: bjam.mk,v 1.1.1.1 2007/06/02 17:48:51 jmmv Exp $ +# $NetBSD: bjam.mk,v 1.2 2008/01/04 19:58:40 jmmv Exp $ # .include "../../devel/boost-jam/buildlink3.mk" @@ -7,24 +7,36 @@ .include "../../mk/bsd.prefs.mk" BJAM= ${BUILDLINK_PREFIX.boost-jam}/bin/bjam + BJAM_ARGS+= --builddir=${WRKSRC}/build BJAM_ARGS+= --layout=system BJAM_ARGS+= --prefix=${PREFIX} -BJAM_ARGS+= -sBUILD=${BJAM_BUILD:Q} -BJAM_ARGS+= -sTOOLS=${BOOST_TOOLSET} +BJAM_ARGS+= --toolset=${BOOST_TOOLSET} .if ${OPSYS} == "Darwin" BJAM_ARGS+= -sTARGET_LIBDIR=${PREFIX}/lib .endif -.if defined(BOOST_DEBUG) && !empty(BOOST_DEBUG:M[Yy][Ee][Ss]) +BJAM_ARGS+= ${BJAM_BUILD} + BJAM_BUILD+= debug -.endif -BJAM_BUILD+= <linkflags>${COMPILER_RPATH_FLAG}${PREFIX}/lib -BJAM_BUILD+= <threading>multi BJAM_BUILD+= release +BJAM_BUILD+= threading=multi +BJAM_BUILD+= link=shared,static + BJAM_CMD= ${SETENV} ${MAKE_ENV} ${BJAM} ${BJAM_ARGS} +PKG_OPTIONS_VAR= PKG_OPTIONS.boost +PKG_SUPPORTED_OPTIONS= debug + +.include "../../mk/bsd.options.mk" + +PLIST_SRC+= PLIST + +UNLIMIT_RESOURCES+= datasize + bjam-build: - @cd ${WRKSRC} && ${BJAM_CMD} stage + @${_ULIMIT_CMD} \ + cd ${WRKSRC} && ${BJAM_CMD} stage bjam-install: - @cd ${WRKSRC} && ${BJAM_CMD} install + @${_ULIMIT_CMD} \ + cd ${WRKSRC} && ${BJAM_CMD} install diff --git a/devel/boost-jam/buildlink3.mk b/devel/boost-jam/buildlink3.mk index 2d4ce89e76c..f99a5a50c80 100644 --- a/devel/boost-jam/buildlink3.mk +++ b/devel/boost-jam/buildlink3.mk @@ -1,4 +1,4 @@ -# $NetBSD: buildlink3.mk,v 1.1.1.1 2007/06/02 17:48:51 jmmv Exp $ +# $NetBSD: buildlink3.mk,v 1.2 2008/01/04 19:58:40 jmmv Exp $ BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+ BOOST_JAM_BUILDLINK3_MK:= ${BOOST_JAM_BUILDLINK3_MK}+ @@ -12,7 +12,7 @@ BUILDLINK_PACKAGES+= boost-jam BUILDLINK_ORDER:= ${BUILDLINK_ORDER} ${BUILDLINK_DEPTH}boost-jam .if !empty(BOOST_JAM_BUILDLINK3_MK:M+) -BUILDLINK_API_DEPENDS.boost-jam+= boost-jam-1.33.* +BUILDLINK_API_DEPENDS.boost-jam+= boost-jam-1.34.* BUILDLINK_DEPMETHOD.boost-jam?= build BUILDLINK_PKGSRCDIR.boost-jam?= ../../devel/boost-jam .endif # BOOST_JAM_BUILDLINK3_MK |