pkgsrc/meta-pkgs/boost/Makefile.common
adam 115ac23a4c Changes 1.63.0:
Atomic:
* Added the static constant atomic<T>::is_always_lock_free for conformance with C++17. The constant indicates that the given specialization always provides lock-free implementation of atomic operations.
* Improved support of Oracle Studio on x86 targets.

Container:
* Fixed bugs

Context:
* 11687 Xcode (Apple clang) and thread_local
* 12114 context does not preserve fpu context on ios arm64 devices (fixed for other architecturs too)
* 12411 fpu registers not preserved with O2 optimizations in Visual Studio (fixed for other architecturs too)
* 12551 building boost on arm64 causes error: unknown directive
* reduced signatur for ontop-functions
* unit-test for private fcontext-API
* performance-test for ucontext and fcontext fixed

Fiber:
* unbounded_channel and bounded_channel marked as deprecated
* new classes buffered_channel and unbuffered_channel
* performance improved

Fusion:
* Fixed fusion::vector buggy constructors (Thanks to Lee Clagett).
* BOOST_FUSION_ADAPT* and BOOST_FUSION_DEFINE* now allow empty structures. (6592)
* BOOST_FUSION_DEFINE* allows move constructor and assignment. (10099)
* Adaptor for std::array (Thanks to Mateusz Łoskot). (8241)
* Fixed returning temporary variable warnings on MSVC.

Geometry:
* Intersection: take care that output is valid (work in progres, not yet finished - but more is valid)
* 12289 Avoid warning/compilation error for std::cout
* 12412 Invalid result of covered_by() with geographic Points and Boxes
* 12413 rtree::remove() not working properly with geographic Points

Hash:
* Fixed some warnings.

Interprocess:
* Fixed bugs

Intrusive:
* Fixed bugs

Lexical Cast:
* Fixed issue found by -fsanitize=undefined 21

Log:
* Removed the previously deprecated type_info_wrapper.
* Added a way to access the current file name from the text file sink backend. The file name can be obtained with the get_current_file_name method.
* Bug fixes

Metaparse:
* Improved the implementation of BOOST_METAPARSE_STRING

Move:
* Improved experimental adaptive sort algorithm performance
* Activate BOOST_MOVE_FORCEINLINE

Optional:
* Added two new in-place constructors. They work similarly to emplace() functions: they initialize the contained value by perfect-forwarding the obtained arguments. One constructor always initializes the contained value, the other based on a boolean condition.
* Syntax o = {} now correctly un-initializes an optional, just like in std::optional.
* Fixed optional<optional<T>&> initialization. (12203)
* Optional constructors are sfinae-friendly. This fixes interaction with std::tuple. (12563)

Phoenix:
* Most of modules now support C++11 variadic templates.
* Fixed type deduction failure with result type.
* Suppress unused warnings.
* Fixed too few arguments error on binary math functions.
* Added workarounds for older compiler.

Python:
* Added (basic) support for C++11 (std::shared_ptr, std::unique_ptr)
* Incorporated an extension API to wrap NumPy
* Removed obsolete bits and pieces

Test:
* Boost.test v3.4 see the Change log section for more details.
* New feature: per_element and lexicographic modifiers of BOOST_TEST can also be applied to string comparison
* Breaking change: colons that appear in test case names are replaced with underscores
* Bug fixes

TypeIndex:
* Added runtime_cast to the library as an emulation of dynamic_cast. Thanks to Chris Glover for the implementation. See runtime_cast reference for more info.
* Internals of the CTTI were made more platform independant, due to change of the std::size_t type to unsigned int.

Units:
* Fix inspection warnings
* updated physico-chemical constants to CODATA 2014 values
* define biot correctly as 10 Ampere

Unordered:
* Fix an exception safety issue in assignment.
* Use std::allocator_traits where available, and support modern style rebind (12459).
* Add some allocator aware constructors.
* Use the hint iterator in emplace_hint.
* Fixed some warnings.
2017-01-01 15:32:47 +00:00

113 lines
3.5 KiB
Text

# $NetBSD: Makefile.common,v 1.63 2017/01/01 15:32:47 adam Exp $
#
# used by devel/boost-build/Makefile
# used by devel/boost-docs/Makefile
# used by devel/boost-jam/Makefile
# used by devel/boost-headers/Makefile
# used by devel/boost-libs/Makefile
# used by devel/py-boost/Makefile
BOOST_PACKAGE?= undefined
BOOST_COMMENT?= undefined
BOOST_VERSION= 1.63.0
BOOST_SHORT_VERSION= ${BOOST_VERSION:S/./_/:C/\..*$//}
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= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.boost.org/
COMMENT= Free, peer-reviewed portable C++ source libraries ${BOOST_COMMENT}
LICENSE= boost-license
CONFLICTS+= boost<1.36.0
DISTINFO_FILE= ${.CURDIR}/../../meta-pkgs/boost/distinfo
PATCHDIR= ${.CURDIR}/../../meta-pkgs/boost/patches
.include "../../mk/bsd.prefs.mk"
USE_TOOLS+= pax
USE_LANGUAGES= c c++
# IMPORTANT: sync this with devel/boost-libs/buildlink3.mk
# GCC 4.5 or later is required to build, and GCC 4.5 is not provided for OpenBSD
. if ${OPSYS} == "OpenBSD"
. if ${MACHINE_ARCH} != "sparc64"
GCC_REQD+= 4.6
. endif
. elif ${LOWER_VENDOR} == "redhat"
GCC_REQD+= 4.4
. else
GCC_REQD+= 4.5
. endif
PLIST_SUBST+= BOOST_VERSION="${BOOST_VERSION}"
SUBST_CLASSES+= prefix
SUBST_STAGE.prefix= pre-configure
SUBST_MESSAGE.prefix= Fixing prefix.
SUBST_FILES.prefix= boostcpp.jam
SUBST_VARS.prefix= PREFIX
SUBST_CLASSES+= darwin
SUBST_STAGE.darwin= pre-configure
SUBST_MESSAGE.darwin= Fixing install_name for Darwin.
SUBST_FILES.darwin= tools/build/src/tools/*darwin.jam
SUBST_SED.darwin= -e 's,-install_name "@rpath,-install_name "${PREFIX}/lib,g'
SUBST_SED.darwin+= -e 's,-install_name "\$$,-install_name "${PREFIX}/lib/\$$,g'
# On SunOS, extract using pkgsrc nbtar to avoid warnings from native gtar.
. if ${OPSYS} == "SunOS"
TOOLS_PLATFORM.tar= #empty
. include "../../mk/compiler.mk"
. if !empty(CC_VERSION:Mgcc-4.[6-9]*)
BUILDLINK_TRANSFORM+= opt:-D_XOPEN_SOURCE=500:-D_XOPEN_SOURCE=600
. endif
. endif
. if ${OPSYS} == "Darwin"
# Prevent using a pkgsrc libtool in OS X because the darwin toolset needs
# the native libtool from /Developer/usr/bin or /usr/bin.
post-wrapper:
${RM} -f ${WRAPPER_BINDIR}/libtool
. if exists(/Developer/usr/bin/libtool)
${LN} -s /Developer/usr/bin/libtool ${WRAPPER_BINDIR}/libtool
. else
${LN} -s /usr/bin/libtool ${WRAPPER_BINDIR}/libtool
. endif
. endif
# 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 -print | ${XARGS} ${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:
${INSTALL_LIB_DIR} ${DESTDIR}${PREFIX}/lib
cd ${WRKSRC}/stage/lib && pax -rw -p p libboost* ${DESTDIR}${PREFIX}/lib
.endif # ${BOOST_PACKAGE} == "meta-pkg"