Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Sep 2018 12:27:01 +0200
From:      Jan Beich <jbeich@FreeBSD.org>
To:        Alexey Dokuchaev <danfe@FreeBSD.org>
Cc:        svn-ports-head@freebsd.org, svn-ports-all@freebsd.org, ports-committers@freebsd.org
Subject:   Re: svn commit: r479222 - in head/devel: boost-all boost-libs boost-python-libs
Message-ID:  <musp-zlze-wny@FreeBSD.org>
In-Reply-To: <20180910044521.GA90644@FreeBSD.org> (Alexey Dokuchaev's message of "Mon, 10 Sep 2018 04:45:21 %2B0000")
References:  <201809080053.w880rArT081869@repo.freebsd.org> <20180910044521.GA90644@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Alexey Dokuchaev <danfe@FreeBSD.org> writes:

> On Sat, Sep 08, 2018 at 12:53:10AM +0000, Jan Beich wrote:
>
>> New Revision: 479222
>> URL: https://svnweb.freebsd.org/changeset/ports/479222
>> 
>> Log:
>>   devel/boost-all: switch to C++17 on FreeBSD >= 11.2
>
> Why?

In order to keep system Boost usable for most consumers and avoid
missing on new features on future upgrades. C++17 usage in ports is
growing. If something starts to depend on C++17-only feature in Boost
it'd require using non-default flavor but without variable dependencies
depending on default and non-default conflicting flavor is impossible.

>
>> +# XXX Drop conditional after 10.4 EOL as both libstdc++ 7 and libc++ 6
>> +#     have near complete C++17 support.
>> +.if exists(/usr/lib/libstdc++.so) || exists(/usr/include/c++/v1/__undef_macros)
>> +USES+=		compiler:c++17-lang
>> +USE_CXXSTD=	gnu++17
>> +.else
>>  USES+=		compiler:c++14-lang
>>  USE_CXXSTD=	gnu++14
>> +.endif
>
> Shouldn't things like Boost use the least supported version by default?

The opposite. Boost built against older C++ standards may be unusable in
ports that use it with later standards. Bumping to C++17 is simply a
continuation of C++03 -> C++11 -> C++14 change.

https://github.com/DragonFlyBSD/DeltaPorts/pull/690 # C++11
https://github.com/boostorg/system/issues/24 # C++14
https://lists.boost.org/Archives/boost/2018/08/242885.php # bikeshed
https://lists.boost.org/Archives/boost/2018/08/242770.php # ABI discussion
https://stackoverflow.com/questions/46746878/is-it-safe-to-link-c17-c14-and-c11-objects # libstdc++ ABI



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?musp-zlze-wny>