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)

Reply via email to