0bd68b9f62
New Libraries * Iostreams Library: Framework for defining streams, stream buffers and i/o filters, from Jonathan Turkanis. * Functional/Hash Library: A TR1 hash function object that can be extended to hash user defined types, from Daniel James. * 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. * Pointer Container Library: Containers for storing heap-allocated polymorphic objects to ease OO-programming, from Thorsten Ottosen. * Wave: Standards conformant implementation of the mandated C99/C++ preprocessor functionality packed behind an easy to use iterator interface, from Hartmut Kaiser. Updated Libraries * Assignment Library: Support for Pointer Container Library and new efficient functions ref_list_of() and cref_list_of() for generating anonymous ranges. * Bind Library: Bind expressions now support comparisons and negation. Example: bind(&X::name, _1) < bind(&X::name, _2). * Date-Time Library: o Added local time and time zone classes. o Added format-based Input/Output facets. o For a complete list of changes, see the library change history. * Graph Library: Introduced several new algorithms and improved existing algorithms: o Experimental Python bindings, from Doug Gregor and Indiana University. o floyd_warshall_all_pairs_shortest_paths, from Lauren Foutz and Scott Hill. o astar_search, from Kristopher Beevers and Jufeng Peng. o fruchterman_reingold_force_directed_layout, from Doug Gregor and Indiana University. o biconnected_components and articulation_points, from Jeremy Siek, Janusz Piwowarski, and Doug Gregor. o sequential_vertex_coloring has been updated, tested, and documented. o gursoy_atun_layout, from Jeremiah Willcock and Doug Gregor of Indiana University. o king_ordering, from D. Kevin McGrath of Indiana University. o cuthill_mckee ordering has been recast as an invocation of breadth_first_search and now supports graphs with multiple components. o dijkstra_shortest_paths now uses a relaxed heap as its priority queue, improving its complexity to O(V log V) and improving real-world performance for larger graphs. o read_graphviz now has a new, Spirit-based parser that works for all graph types and supports arbitrary properties on the graph, from Ron Garcia. The old, Bison-based GraphViz reader has been deprecated and will be removed in a future Boost release. write_graphviz also supports dynamic properties. o subgraph: get_property now refers to the subgraph property, not the root graph's property. o See the history for additional changes and bug fixes. * Multi-index Containers Library: o New hashed indices. o Added serialization support. o For a complete list of changes, see the library release notes. * Program Options Library: o Option descriptions are now printed with word wrapping. o Command line parser can bypass unregistered options, instead of throwing. o Removed support for "implicit" (optional) values. o New customization method 'command_line_parser::extra_style_parser'. Unlike 'additional_parser', allows the user to parse several tokens and return a vector of options, not just a single option. o Work with disabled exceptions. * Property Map Library: Introduced the dynamic properties class, which provides dynamically-typed access to a set of property maps. * Random Number Library: improved initialization for mersenne_twister, algorithm by Makoto Matsumoto and Takuji Nishimura, implemented for Boost by Jens Maurer. Note: All test vectors for mersenne_twisters constructed or seeded without parameters or with a single unsigned int parameter become invalid. * Range Library: Minor addition of convenience functions to iterator range like front(), back() and operator[](). * Regex Library: o Rewritten front end parser now supports (?imsx-imsx) constructs, plus lookbehind assertions and conditional expressions. o Thin wrapper classes improve integration with MFC/ATL code. o Full (optional) Unicode support via the ICU library. Refer to the regex history page for more information on these and other small changes. * Serialization Library: o DLL version. o Auto-linking. o Serialization of variants. o Improved seialization of shared pointers. * Signals Library: added slot blocking/unblocking, from Frantz Maerten. Huge improvements to signal invocation performance from Robert Zeh. This update has been tested on NetBSD 2.0.2, 3.0_BETA and current.
60 lines
1.7 KiB
Makefile
60 lines
1.7 KiB
Makefile
# $NetBSD: Makefile.common,v 1.5 2005/08/12 20:58:45 jmmv Exp $
|
|
#
|
|
|
|
BOOST_PACKAGE?= undefined
|
|
BOOST_COMMENT?= undefined
|
|
|
|
BOOST_VERSION= 1.33.0
|
|
BOOST_SHORT_VERSION= 1_33
|
|
|
|
DISTNAME= boost_${BOOST_VERSION:S/./_/g}
|
|
CATEGORIES= devel
|
|
|
|
.if ${BOOST_PACKAGE} == "meta-pkg"
|
|
|
|
PKGNAME= boost-${BOOST_VERSION}
|
|
|
|
.else # ${BOOST_PACKAGE} != "meta-pkg"
|
|
|
|
PKGNAME= boost-${BOOST_PACKAGE}-${BOOST_VERSION}
|
|
|
|
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=boost/}
|
|
EXTRACT_SUFX= .tar.bz2
|
|
|
|
MAINTAINER= jmmv@NetBSD.org
|
|
HOMEPAGE= http://www.boost.org/
|
|
COMMENT= Free, peer-reviewed portable C++ source libraries ${BOOST_COMMENT}
|
|
|
|
CONFLICTS+= boost<1.32.0
|
|
|
|
DISTINFO_FILE= ${.CURDIR}/../../meta-pkgs/boost/distinfo
|
|
PATCHDIR= ${.CURDIR}/../../meta-pkgs/boost/patches
|
|
|
|
USE_LANGUAGES+= c++
|
|
GCC_REQD+= 3.2 # if using gcc; ignored otherwise
|
|
|
|
# We can't do this at post-extract because the extract cookie will get a
|
|
# future timestamp than the sources. If this happens, print-PLIST does
|
|
# not work.
|
|
pre-configure:
|
|
@cd ${WRKSRC} && ${FIND} . -type f -exec ${TOUCH} {} \;
|
|
|
|
# Generate a new user.hpp or use the installed one, depending on the
|
|
# package we are building.
|
|
.if ${BOOST_CONFIG} == "installed"
|
|
. include "../../devel/boost-headers/buildlink3.mk"
|
|
do-configure:
|
|
${CP} -f \
|
|
${BUILDLINK_PREFIX.boost-headers}/include/boost/config/user.hpp \
|
|
${WRKSRC}/boost/config/user.hpp
|
|
.elif ${BOOST_CONFIG} == "generate"
|
|
do-configure:
|
|
@cd ${WRKSRC}/libs/config && \
|
|
${SETENV} ${CONFIGURE_ENV} ${SH} ./configure
|
|
${CP} -f ${WRKSRC}/libs/config/user.hpp ${WRKSRC}/boost/config/user.hpp
|
|
.endif
|
|
|
|
boost-install-libs:
|
|
cd ${WRKSRC}/stage/lib && ${PAX} -rwpe libboost* ${PREFIX}/lib
|
|
|
|
.endif # ${BOOST_PACKAGE} == "meta-pkg"
|