
On Tue, Dec 23, 2014 at 1:54 PM, Asbjørn <lordcrc@gmail.com> wrote:
On 23.12.2014 20:21, Kyle Lutz wrote:
Another concern is that Boost.Compute is a header-only library and doesn't control the build system or how it the library will be loaded. This limits our ability to pre-compile certain programs and "install" them for later use by the library.
Given that Boost.Compute relies on Boost.Chrono, and Boost.Chrono is not a head-only library, I don't see a strong reason why Boost.Compute should stay header-only if that blocks some interesting and/or important features.
Just my 2 cents as a library user :)
Boost.Compute only relies on the header-only porition of Boost.Chrono (specifically <boost/chrono/duration.hpp>) so it remains header-only. And I agree that being non-header-only would allow some features to be developed more easily. I have considered having a "BOOST_COMPUTE_NO_HEADER_ONLY" flag which would enable a compiled version of Boost.Compute which could support more features like this and also potentially improve compile times (though I would still want to keep a large majority of Boost.Compute's functionality available in header-only mode). -kyle