You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@arrow.apache.org by "Wes McKinney (Jira)" <ji...@apache.org> on 2020/03/18 22:58:00 UTC

[jira] [Created] (ARROW-8155) [C++] Add "ON only if system dependencies available" build mode for certain optional Arrow components

Wes McKinney created ARROW-8155:
-----------------------------------

             Summary: [C++] Add "ON only if system dependencies available" build mode for certain optional Arrow components
                 Key: ARROW-8155
                 URL: https://issues.apache.org/jira/browse/ARROW-8155
             Project: Apache Arrow
          Issue Type: Improvement
          Components: C++
            Reporter: Wes McKinney


Related to ARROW-8103, there is a need for a static build script to be able to build the C++ library in a system environment where some dependencies may not be available.

Currently we have toolchain options AUTO, SYSTEM, and BUNDLED:

* AUTO: use system packages if possible, else BUNDLE
* SYSTEM: use only system packages, failing otherwise
* BUNDLED: build using the ExternalProject facility

There is a case that may not be accounted for. Suppose we want to build with LZ4 support _only if_ LZ4 is available on the system. So then something like

{code}
-DARROW_WITH_LZ4=IF_AVAILABLE
{code}

(not sure what this should be called).

The idea is that this would use SYSTEM dependency resolution, and if LZ4 is not found then the component would be disabled.

The ROI on this feature might be low, but it would be useful to packagers who are building from source on an uncertain system (and where downloading a tarball and building an EP may not be an option)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)