pkgsrc/devel/boost-jam/Makefile

32 lines
782 B
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.6 2011/10/11 10:02:08 adam Exp $
PKG_DESTDIR_SUPPORT= user-destdir
BOOST_PACKAGE= jam
BOOST_COMMENT= (Boost.Jam utility)
BOOST_CONFIG= no
CONFLICTS+= boost-build<=1.33.1
.include "../../meta-pkgs/boost/Makefile.common"
SUBST_CLASSES+= bb
SUBST_MESSAGE.bb= Fixing path to Boost.Build files.
SUBST_STAGE.bb= pre-build
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.
2008-01-04 20:58:39 +01:00
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
do-build:
cd ${WRKSRC}/tools/build/v2/engine && \
Changes 1.45.0: * Fixed a problem on kqueue-based platforms where a deadline_timer may never fire if the io_service is running in a background thread * Fixed a const-correctness issue that prevented valid uses of has_service<> from compiling * Fixed MinGW cross-compilation * Removed dependency on deprecated Boost.System functions * Ensured close()/closesocket() failures are correctly propagated * Added a check for errors returned by InitializeCriticalSectionAndSpinCount * Added support for hardware flow control on QNX * Always use pselect() on HP-UX, if it is available. * Ensured handler arguments are passed as lvalues * Fixed Windows build when thread support is disabled * Fixed a Windows-specific problem where deadline_timer objects with expiry times set more than 5 minutes in the future may never expire * Fixed the resolver backend on BSD platforms so that an empty service name resolves to port number 0, as per the documentation * Fixed read operations so that they do not accept buffer sequences of type const_buffers_1 * Redefined Protocol and id to avoid clashing with Objective-C++ keywords * Fixed a vector reallocation performance issue that can occur when there are many active deadline_timer objects * Fixed the kqueue backend so that it compiles on NetBSD * Fixed the socket io_control() implementation on 64-bit Mac OS X and BSD platforms * Fixed a Windows-specific problem where failures from accept() are incorrectly treated as successes * Deprecated the separate compilation header <boost/asio/impl/src.cpp> in favour of <boost/asio/impl/src.hpp>
2010-11-26 21:46:59 +01:00
${SETENV} ${MAKE_ENV} ${SH} ./build.sh ${BOOST_TOOLSET}
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/tools/build/v2/engine/bin.*/bjam \
Changes 1.45.0: * Fixed a problem on kqueue-based platforms where a deadline_timer may never fire if the io_service is running in a background thread * Fixed a const-correctness issue that prevented valid uses of has_service<> from compiling * Fixed MinGW cross-compilation * Removed dependency on deprecated Boost.System functions * Ensured close()/closesocket() failures are correctly propagated * Added a check for errors returned by InitializeCriticalSectionAndSpinCount * Added support for hardware flow control on QNX * Always use pselect() on HP-UX, if it is available. * Ensured handler arguments are passed as lvalues * Fixed Windows build when thread support is disabled * Fixed a Windows-specific problem where deadline_timer objects with expiry times set more than 5 minutes in the future may never expire * Fixed the resolver backend on BSD platforms so that an empty service name resolves to port number 0, as per the documentation * Fixed read operations so that they do not accept buffer sequences of type const_buffers_1 * Redefined Protocol and id to avoid clashing with Objective-C++ keywords * Fixed a vector reallocation performance issue that can occur when there are many active deadline_timer objects * Fixed the kqueue backend so that it compiles on NetBSD * Fixed the socket io_control() implementation on 64-bit Mac OS X and BSD platforms * Fixed a Windows-specific problem where failures from accept() are incorrectly treated as successes * Deprecated the separate compilation header <boost/asio/impl/src.cpp> in favour of <boost/asio/impl/src.hpp>
2010-11-26 21:46:59 +01:00
${DESTDIR}${PREFIX}/bin
.include "../../mk/bsd.pkg.mk"