CVSROOT: /cvs
Module name: ports
Changes by: [email protected] 2016/06/01 08:56:54
Modified files:
devel/boost : Makefile
Added files:
devel/boost/patches: patch-boost_config_compiler_clang_hpp
patch-boost_config_compiler_gcc_hpp
patch-libs_filesystem_src_unique_path_cpp
Log message:
boost does not like mixing different compilers at build and compile
time.
We build boost itself with gcc-4.2.1 from base, which doesn't support
the integer scalar type __int128, and this results in a
/usr/local/include/boost/config/user.hpp lacking the "BOOST_HAS_INT128"
define.
When compiling something that depends on boost using a newer compiler
like gcc-4.9 or clang, a code snippet in
/usr/local/include/boost/config/compiler/{clang,gcc}.hpp reactivates
__int128 support, but the code containing typedef declarations
inside /usr/local/include/boost/config/suffix.hpp is never reached,
because /usr/local/include/boost/config/user.hpp lacks "BOOST_HAS_INT128".
Hence, the following errors occur:
/usr/local/include/boost/type_traits/is_integral.hpp:72:1: error: 'int128_type'
is not a member of 'boost'
/usr/local/include/boost/type_traits/is_integral.hpp:73:1: error:
'uint128_type' is not a member of 'boost'
As a temporary band-aid, completely disable __int128 support on
OpenBSD.
OK jca@, sthen@