Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-8155

[C++] Add "ON only if system dependencies available" build mode for certain optional Arrow components

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • C++
    • None

    Description

      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

      -DARROW_WITH_LZ4=IF_AVAILABLE
      

      (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)

      Attachments

        Activity

          People

            Unassigned Unassigned
            wesm Wes McKinney
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: