FWIW for perspective, we ended up just using our own Cmake file to build arrow, we needed a minimal subset of functionality on a tight size budget and it was easier doing that than configuring all the flags.
https://github.com/finos/perspective/blob/master/cmake/arrow/CMakeLists.txt Tim Paine tim.paine.nyc 908-721-1185 > On Oct 10, 2019, at 06:02, Antoine Pitrou <anto...@python.org> wrote: > > > Hi all, > > I'm a bit concerned that we're planning to add many additional build > options in the quest to have a core zero-dependency build in C++. > See for example https://issues.apache.org/jira/browse/ARROW-6633 or > https://issues.apache.org/jira/browse/ARROW-6612. > > The problem is that this is creating many possible configurations and we > will only be testing a tiny subset of them. Inevitably, users will try > other option combinations and they'll fail building for some random > reason. It will not be a very good user experience. > > Another related issue is user perception when doing a default build. > For example https://issues.apache.org/jira/browse/ARROW-6638 proposes to > build with jemalloc disabled by default. Inevitably, people will be > doing benchmarks with this (publicly or not) and they'll conclude Arrow > is not as performant as it claims to be. > > Perhaps we should look for another approach instead? > > For example we could have a single ARROW_BARE_CORE (whatever the name) > option that when enabled (not by default) builds the tiniest minimal > subset of Arrow. It's more inflexible, but at least it's something that > we can reasonably test. > > Regards > > Antoine.