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.
113 lines
3.5 KiB
Text
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"
|