Re: [Capy review] On peer dependencies

Dmitry Arkhipov via Boost <[email protected]> Sun, 28 Jun 2026 18:09:40 +0300
Newsgroups gmane.comp.lib.boost.devel
Message-ID <3955931.kQq0lBPeGt@stupidpad2>
В письме от воскресенье, 28 июня 2026 г. 17:53:40 MSK пользователь Peter Dimov via Boost написал:
> The way package managers such as vcpkg handle these cases is by having
> "optional features" that can be installed separately. If you install `capy`,
> you don't get Asio support, but if you install `capy[asio]` or `capy+asio` or
> whatever, you do get it.
> 
> This is also useful for things like bzip2 or zstd support.
> 
> Actually, if you install `capy`, you get the default features, which may
> or may not include `asio`. So you might need to install `capy[]` or `capy-asio`
> or `capy-core` or whatever to not get Asio support.

Piggybacking on my suggestion. boost/capy/ext/asio.hpp and boost/capy/ext/asio/foo.hpp would map to `asio` option/feature of Capy. This would allow packagers to programmatically determine which options a library has. Boost libraries already have a lot of optional features. E.g. Asio itself _optionally_ depends on OpenSSL.

> I'm not at all sure that we need all that complexity.

This is indeed a big question.


_______________________________________________
Boost mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://lists.boost.org/mailman3/lists/boost.lists.boost.org/
Archived at: https://lists.boost.org/archives/list/[email protected]/message/CHSXJXEKDSC5SSDWIFIB3XQBWLACA2P5/