Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Boost is currently a transitive dependency of many of Gandiva's public header files. I suggest the following:
- Do not include Boost transitively in any installed header file
- Reduce usages of Boost altogether
On the latter point, most usages of Boost can be trimmed by having a hash_combine function inside the Arrow codebase. See results of grepping the codebase
https://gist.github.com/wesm/190006d91628e6bf7c04deb596a52cff
It seems that Boost cannot be easily eliminated altogether at the present moment because of a use of Boost.Multiprecision (int256_t). At some point someone may want to implement sufficient 256-bit integer functions so that we don't have to depend on Boost.Multiprecision