Neal Richardson created ARROW-8222:
--------------------------------------
Summary: [C++] Use bcp to make a slim boost for bundled build
Key: ARROW-8222
URL: https://issues.apache.org/jira/browse/ARROW-8222
Project: Apache Arrow
Issue Type: Improvement
Components: C++
Reporter: Neal Richardson
We don't use much of Boost (just system, filesystem, and regex), but when we do
a bundled build, we still download and extract all of boost. The tarball itself
is 113mb, expanded is over 700mb. This can be slow, and it requires a lot of
free disk space that we don't really need.
[bcp|https://www.boost.org/doc/libs/1_72_0/tools/bcp/doc/html/index.html] is a
boost tool that lets you extract a subset of boost, resolving any of its
necessary dependencies across boost. The savings for us could be huge:
{code}
mkdir test
./bcp system.hpp filesystem.hpp regex.hpp test
tar -czf test.tar.gz test/
{code}
The resulting tarball is 885K (kilobytes!).
{{bcp}} also lets you re-namespace, so this would (IIUC) solve ARROW-4286 as
well.
We would need a place to host this tarball, and we would have to updated it
whenever we (1) bump the boost version or (2) add a new boost library
dependency. This patch would of course include a script that would generate the
tarball. Given the small size, we could also consider just vendoring it.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)