For certain build environments, it can be beneficial to have a version of arrow that only depends on boost headers:
- It is less brittle in terms of supporting different build environments than dynamically or statically linked boost libraries; also it might make it easier to integrate with an in-tree boost in the future.
- Especially if dynamically linked boost libraries need to be avoided, but the resulting binary is compiled as a shared library python extension, statically linking boost is not an option (many distributions distribute boost static libraries that were compiled without -fPIC)
We should therefore have a flag that makes arrow compile with a header-only boost. This comes at the cost of not supporting the HDFS bridge.