This is an automated email from the ASF dual-hosted git repository.

wesm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/master by this push:
     new 667c0e3  ARROW-5662: [C++] Add support for 
BOOST_SOURCE=AUTO|BUNDLED|SYSTEM
667c0e3 is described below

commit 667c0e34526f276f8164601d55b70d08891cf019
Author: Sutou Kouhei <[email protected]>
AuthorDate: Thu Jun 20 09:59:13 2019 -0500

    ARROW-5662: [C++] Add support for BOOST_SOURCE=AUTO|BUNDLED|SYSTEM
    
    ARROW_BOOST_VENDORED is deprecated. Use BOOST_SOURCE=BUNDLED instead.
    
    Author: Sutou Kouhei <[email protected]>
    
    Closes #4623 from kou/cpp-boost-source and squashes the following commits:
    
    8f1a014cd <Sutou Kouhei>  Add support for BOOST_SOURCE=AUTO|BUNDLED|SYSTEM
---
 .travis.yml                                 |   1 -
 ci/docker_build_cpp.sh                      |   2 +-
 ci/travis_before_script_cpp.sh              |   9 --
 cpp/cmake_modules/BuildUtils.cmake          |   4 -
 cpp/cmake_modules/DefineOptions.cmake       |   3 +-
 cpp/cmake_modules/FindBoostAlt.cmake        |  73 ++++++++++++
 cpp/cmake_modules/ThirdpartyToolchain.cmake | 179 ++++++++++++----------------
 cpp/src/parquet/CMakeLists.txt              |   8 +-
 dev/release/verify-release-candidate.sh     |   6 +-
 docker-compose.yml                          |   2 +-
 docs/source/developers/cpp.rst              |   9 +-
 11 files changed, 162 insertions(+), 134 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index ca38431..b2c2724 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -268,7 +268,6 @@ matrix:
     env:
     - ARROW_TRAVIS_ORC=1
     - ARROW_TRAVIS_GANDIVA=1
-    - ARROW_TRAVIS_USE_VENDORED_BOOST=1
     - ARROW_TRAVIS_PARQUET=1
     - ARROW_TRAVIS_PLASMA=1
     before_script:
diff --git a/ci/docker_build_cpp.sh b/ci/docker_build_cpp.sh
index 98c2c1a..471a732 100755
--- a/ci/docker_build_cpp.sh
+++ b/ci/docker_build_cpp.sh
@@ -37,7 +37,6 @@ cmake -GNinja \
       -DARROW_WITH_BZ2=${ARROW_WITH_BZ2:-ON} \
       -DARROW_WITH_ZSTD=${ARROW_WITH_ZSTD:-ON} \
       -DARROW_BUILD_BENCHMARKS=${ARROW_BUILD_BENCHMARKS:-ON} \
-      -DARROW_BOOST_VENDORED=${ARROW_BOOST_VENDORED:-OFF} \
       -DARROW_FLIGHT=${ARROW_FLIGHT:-ON} \
       -DARROW_ORC=${ARROW_ORC:-ON} \
       -DARROW_PLASMA=${ARROW_PLASMA:-ON} \
@@ -55,6 +54,7 @@ cmake -GNinja \
       -DARROW_TEST_LINKAGE=${ARROW_TEST_LINKAGE:-shared} \
       -DPARQUET_REQUIRE_ENCRYPTION=${ARROW_WITH_OPENSSL:-ON} \
       -DCMAKE_CXX_FLAGS=$CXXFLAGS \
+      -DBOOST_SOURCE=${ARROW_BOOST_SOURCE:-AUTO} \
       -Duriparser_SOURCE=AUTO \
       ${CMAKE_ARGS} \
       ${source_dir}
diff --git a/ci/travis_before_script_cpp.sh b/ci/travis_before_script_cpp.sh
index 0dca5e1..b0917d8 100755
--- a/ci/travis_before_script_cpp.sh
+++ b/ci/travis_before_script_cpp.sh
@@ -141,10 +141,6 @@ if [ "$ARROW_TRAVIS_VERBOSE" == "1" ]; then
   CMAKE_COMMON_FLAGS="$CMAKE_COMMON_FLAGS -DARROW_VERBOSE_THIRDPARTY_BUILD=ON"
 fi
 
-if [ "$ARROW_TRAVIS_VENDORED_BOOST" == "1" ]; then
-  CMAKE_COMMON_FLAGS="$CMAKE_COMMON_FLAGS -DARROW_BOOST_VENDORED=ON"
-fi
-
 if [ "$ARROW_TRAVIS_STATIC_BOOST" == "1" ]; then
   CMAKE_COMMON_FLAGS="$CMAKE_COMMON_FLAGS -DARROW_BOOST_USE_SHARED=OFF"
 fi
@@ -173,11 +169,6 @@ if [ $TRAVIS_OS_NAME == "linux" ]; then
           -DARROW_CXXFLAGS="$ARROW_CXXFLAGS" \
           $ARROW_CPP_DIR
 else
-    if [ "$using_homebrew" = "yes" ]; then
-       # build against homebrew's boost if we're using it
-       export BOOST_ROOT=$(brew --prefix boost)
-       export THRIFT_HOME=$(brew --prefix thrift)
-    fi
     cmake $CMAKE_COMMON_FLAGS \
           $CMAKE_OSX_FLAGS \
           -DCMAKE_BUILD_TYPE=$ARROW_BUILD_TYPE \
diff --git a/cpp/cmake_modules/BuildUtils.cmake 
b/cpp/cmake_modules/BuildUtils.cmake
index a5fd31c..4ef2948 100644
--- a/cpp/cmake_modules/BuildUtils.cmake
+++ b/cpp/cmake_modules/BuildUtils.cmake
@@ -44,10 +44,6 @@ function(ADD_THIRDPARTY_LIB LIB_NAME)
   endif()
 
   if(ARG_STATIC_LIB AND ARG_SHARED_LIB)
-    if(NOT ARG_STATIC_LIB)
-      message(FATAL_ERROR "No static or shared library provided for 
${LIB_NAME}")
-    endif()
-
     set(AUG_LIB_NAME "${LIB_NAME}_static")
     add_library(${AUG_LIB_NAME} STATIC IMPORTED)
     set_target_properties(${AUG_LIB_NAME}
diff --git a/cpp/cmake_modules/DefineOptions.cmake 
b/cpp/cmake_modules/DefineOptions.cmake
index 461d0f4..ece5145 100644
--- a/cpp/cmake_modules/DefineOptions.cmake
+++ b/cpp/cmake_modules/DefineOptions.cmake
@@ -215,7 +215,8 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL 
"${CMAKE_CURRENT_SOURCE_DIR}")
   define_option(ARROW_BOOST_USE_SHARED "Rely on boost shared libraries where 
relevant" ON)
 
   define_option(ARROW_BOOST_VENDORED "Use vendored Boost instead of existing 
Boost. \
-Note that this requires linking Boost statically" OFF)
+Note that this requires linking Boost statically. \
+Deprecated. Use BOOST_SOURCE=BUNDLED instead." OFF)
 
   define_option(ARROW_PROTOBUF_USE_SHARED
                 "Rely on Protocol Buffers shared libraries where relevant" ON)
diff --git a/cpp/cmake_modules/FindBoostAlt.cmake 
b/cpp/cmake_modules/FindBoostAlt.cmake
new file mode 100644
index 0000000..978caff
--- /dev/null
+++ b/cpp/cmake_modules/FindBoostAlt.cmake
@@ -0,0 +1,73 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+if(DEFINED ENV{BOOST_ROOT} OR DEFINED BOOST_ROOT)
+  # In older versions of CMake (such as 3.2), the system paths for Boost will
+  # be looked in first even if we set $BOOST_ROOT or pass -DBOOST_ROOT
+  set(Boost_NO_SYSTEM_PATHS ON)
+endif()
+
+set(BoostAlt_FIND_VERSION_OPTIONS)
+if(BoostAlt_FIND_VERSION)
+  list(APPEND BoostAlt_FIND_VERSION_OPTIONS ${BoostAlt_FIND_VERSION})
+endif()
+if(BoostAlt_FIND_REQUIRED)
+  list(APPEND BoostAlt_FIND_VERSION_OPTIONS REQUIRED)
+endif()
+if(BoostAlt_FIND_QUIETLY)
+  list(APPEND BoostAlt_FIND_VERSION_OPTIONS QUIET)
+endif()
+
+if(ARROW_BOOST_USE_SHARED)
+  # Find shared Boost libraries.
+  set(Boost_USE_STATIC_LIBS OFF)
+  set(BUILD_SHARED_LIBS_KEEP ${BUILD_SHARED_LIBS})
+  set(BUILD_SHARED_LIBS ON)
+
+  if(ARROW_BOOST_HEADER_ONLY)
+    find_package(Boost ${BoostAlt_FIND_VERSION_OPTIONS})
+  else()
+    find_package(Boost ${BoostAlt_FIND_VERSION_OPTIONS}
+                 COMPONENTS regex system filesystem)
+  endif()
+  set(BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_KEEP})
+  unset(BUILD_SHARED_LIBS_KEEP)
+else()
+  # Find static boost headers and libs
+  # TODO Differentiate here between release and debug builds
+  set(Boost_USE_STATIC_LIBS ON)
+  if(ARROW_BOOST_HEADER_ONLY)
+    find_package(Boost ${BoostAlt_FIND_VERSION_OPTIONS})
+  else()
+    find_package(Boost ${BoostAlt_FIND_VERSION_OPTIONS}
+                 COMPONENTS regex system filesystem)
+  endif()
+endif()
+
+if(Boost_FOUND)
+  set(BoostAlt_FOUND ON)
+  if(MSVC)
+    # disable autolinking in boost
+    add_definitions(-DBOOST_ALL_NO_LIB)
+    if(ARROW_BOOST_USE_SHARED)
+      # force all boost libraries to dynamic link
+      add_definitions(-DBOOST_ALL_DYN_LINK)
+    endif()
+  endif()
+else()
+  set(BoostAlt_FOUND OFF)
+endif()
diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake 
b/cpp/cmake_modules/ThirdpartyToolchain.cmake
index d37e440..e323668 100644
--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -114,6 +114,12 @@ if(ARROW_PACKAGE_PREFIX)
   endif()
 endif()
 
+if(ARROW_BOOST_VENDORED AND "${BOOST_SOURCE}" STREQUAL "")
+  message(
+    DEPRECATION "ARROW_BOOST_VENDORED is deprecated. Use BOOST_SOURCE=BUNDLED 
instead.")
+  set(BOOST_SOURCE "BUNDLED")
+endif()
+
 # For each dependency, set dependency source to global default, if unset
 foreach(DEPENDENCY ${ARROW_THIRDPARTY_DEPENDENCIES})
   if("${${DEPENDENCY}_SOURCE}" STREQUAL "")
@@ -478,69 +484,34 @@ find_package(Threads REQUIRED)
 # ----------------------------------------------------------------------
 # Add Boost dependencies (code adapted from Apache Kudu)
 
-if(ARROW_FLIGHT AND ARROW_BUILD_TESTS)
-  set(ARROW_BOOST_REQUIRED_VERSION "1.64")
-else()
-  set(ARROW_BOOST_REQUIRED_VERSION "1.58")
-endif()
-
-set(Boost_USE_MULTITHREADED ON)
-if(MSVC AND ARROW_USE_STATIC_CRT)
-  set(Boost_USE_STATIC_RUNTIME ON)
-endif()
-set(Boost_ADDITIONAL_VERSIONS
-    "1.70.0"
-    "1.70"
-    "1.69.0"
-    "1.69"
-    "1.68.0"
-    "1.68"
-    "1.67.0"
-    "1.67"
-    "1.66.0"
-    "1.66"
-    "1.65.0"
-    "1.65"
-    "1.64.0"
-    "1.64"
-    "1.63.0"
-    "1.63"
-    "1.62.0"
-    "1.61"
-    "1.61.0"
-    "1.62"
-    "1.60.0"
-    "1.60")
-
-if(ARROW_BOOST_VENDORED)
+macro(build_boost)
   set(BOOST_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/boost_ep-prefix/src/boost_ep")
 
   # This is needed by the thrift_ep build
   set(BOOST_ROOT ${BOOST_PREFIX})
 
-  set(BOOST_LIB_DIR "${BOOST_PREFIX}/stage/lib")
-  set(BOOST_BUILD_LINK "static")
-  set(
-    BOOST_STATIC_SYSTEM_LIBRARY
-    
"${BOOST_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}boost_system${CMAKE_STATIC_LIBRARY_SUFFIX}"
-    )
-  set(
-    BOOST_STATIC_FILESYSTEM_LIBRARY
-    
"${BOOST_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}boost_filesystem${CMAKE_STATIC_LIBRARY_SUFFIX}"
-    )
-  set(
-    BOOST_STATIC_REGEX_LIBRARY
-    
"${BOOST_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}boost_regex${CMAKE_STATIC_LIBRARY_SUFFIX}"
-    )
-  set(BOOST_SYSTEM_LIBRARY boost_system_static)
-  set(BOOST_FILESYSTEM_LIBRARY boost_filesystem_static)
-  set(BOOST_REGEX_LIBRARY boost_regex_static)
-
   if(ARROW_BOOST_HEADER_ONLY)
     set(BOOST_BUILD_PRODUCTS)
     set(BOOST_CONFIGURE_COMMAND "")
     set(BOOST_BUILD_COMMAND "")
   else()
+    set(BOOST_LIB_DIR "${BOOST_PREFIX}/stage/lib")
+    set(BOOST_BUILD_LINK "static")
+    set(
+      BOOST_STATIC_SYSTEM_LIBRARY
+      
"${BOOST_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}boost_system${CMAKE_STATIC_LIBRARY_SUFFIX}"
+      )
+    set(
+      BOOST_STATIC_FILESYSTEM_LIBRARY
+      
"${BOOST_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}boost_filesystem${CMAKE_STATIC_LIBRARY_SUFFIX}"
+      )
+    set(
+      BOOST_STATIC_REGEX_LIBRARY
+      
"${BOOST_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}boost_regex${CMAKE_STATIC_LIBRARY_SUFFIX}"
+      )
+    set(BOOST_SYSTEM_LIBRARY boost_system_static)
+    set(BOOST_FILESYSTEM_LIBRARY boost_filesystem_static)
+    set(BOOST_REGEX_LIBRARY boost_regex_static)
     set(BOOST_BUILD_PRODUCTS ${BOOST_STATIC_SYSTEM_LIBRARY}
                              ${BOOST_STATIC_FILESYSTEM_LIBRARY}
                              ${BOOST_STATIC_REGEX_LIBRARY})
@@ -559,8 +530,6 @@ if(ARROW_BOOST_VENDORED)
     add_thirdparty_lib(boost_filesystem STATIC_LIB 
"${BOOST_STATIC_FILESYSTEM_LIBRARY}")
 
     add_thirdparty_lib(boost_regex STATIC_LIB "${BOOST_STATIC_REGEX_LIBRARY}")
-
-    set(ARROW_BOOST_LIBS ${BOOST_SYSTEM_LIBRARY} ${BOOST_FILESYSTEM_LIBRARY})
   endif()
   externalproject_add(boost_ep
                       URL ${BOOST_SOURCE_URL}
@@ -572,58 +541,66 @@ if(ARROW_BOOST_VENDORED)
   set(Boost_INCLUDE_DIR "${BOOST_PREFIX}")
   set(Boost_INCLUDE_DIRS "${BOOST_INCLUDE_DIR}")
   add_dependencies(toolchain boost_ep)
-else()
-  if(MSVC)
-    # disable autolinking in boost
-    add_definitions(-DBOOST_ALL_NO_LIB)
-  endif()
+endmacro()
 
-  if(DEFINED ENV{BOOST_ROOT} OR DEFINED BOOST_ROOT)
-    # In older versions of CMake (such as 3.2), the system paths for Boost will
-    # be looked in first even if we set $BOOST_ROOT or pass -DBOOST_ROOT
-    set(Boost_NO_SYSTEM_PATHS ON)
-  endif()
+if(ARROW_FLIGHT AND ARROW_BUILD_TESTS)
+  set(ARROW_BOOST_REQUIRED_VERSION "1.64")
+else()
+  set(ARROW_BOOST_REQUIRED_VERSION "1.58")
+endif()
 
-  if(ARROW_BOOST_USE_SHARED)
-    # Find shared Boost libraries.
-    set(Boost_USE_STATIC_LIBS OFF)
-    set(BUILD_SHARED_LIBS_KEEP ${BUILD_SHARED_LIBS})
-    set(BUILD_SHARED_LIBS ON)
+set(Boost_USE_MULTITHREADED ON)
+if(MSVC AND ARROW_USE_STATIC_CRT)
+  set(Boost_USE_STATIC_RUNTIME ON)
+endif()
+set(Boost_ADDITIONAL_VERSIONS
+    "1.70.0"
+    "1.70"
+    "1.69.0"
+    "1.69"
+    "1.68.0"
+    "1.68"
+    "1.67.0"
+    "1.67"
+    "1.66.0"
+    "1.66"
+    "1.65.0"
+    "1.65"
+    "1.64.0"
+    "1.64"
+    "1.63.0"
+    "1.63"
+    "1.62.0"
+    "1.61"
+    "1.61.0"
+    "1.62"
+    "1.60.0"
+    "1.60")
 
-    if(MSVC)
-      # force all boost libraries to dynamic link
-      add_definitions(-DBOOST_ALL_DYN_LINK)
-    endif()
+if(BOOST_SOURCE STREQUAL "AUTO")
+  find_package(BoostAlt ${ARROW_BOOST_REQUIRED_VERSION})
+  if(NOT BoostAlt_FOUND)
+    build_boost()
+  endif()
+elseif(BOOST_SOURCE STREQUAL "BUNDLED")
+  build_boost()
+elseif(BOOST_SOURCE STREQUAL "SYSTEM")
+  find_package(BoostAlt ${ARROW_BOOST_REQUIRED_VERSION} REQUIRED)
+endif()
 
-    if(ARROW_BOOST_HEADER_ONLY)
-      find_package(Boost ${ARROW_BOOST_REQUIRED_VERSION} REQUIRED)
-    else()
-      find_package(Boost ${ARROW_BOOST_REQUIRED_VERSION}
-                   COMPONENTS regex system filesystem
-                   REQUIRED)
-      set(BOOST_SYSTEM_LIBRARY Boost::system)
-      set(BOOST_FILESYSTEM_LIBRARY Boost::filesystem)
-      set(BOOST_REGEX_LIBRARY Boost::regex)
-      set(ARROW_BOOST_LIBS ${BOOST_SYSTEM_LIBRARY} ${BOOST_FILESYSTEM_LIBRARY})
-    endif()
-    set(BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_KEEP})
-    unset(BUILD_SHARED_LIBS_KEEP)
+if(ARROW_BOOST_HEADER_ONLY)
+  set(ARROW_BOOST_LIBS)
+else()
+  if(TARGET Boost::system)
+    set(BOOST_SYSTEM_LIBRARY Boost::system)
+    set(BOOST_FILESYSTEM_LIBRARY Boost::filesystem)
+    set(BOOST_REGEX_LIBRARY Boost::regex)
   else()
-    # Find static boost headers and libs
-    # TODO Differentiate here between release and debug builds
-    set(Boost_USE_STATIC_LIBS ON)
-    if(ARROW_BOOST_HEADER_ONLY)
-      find_package(Boost ${ARROW_BOOST_REQUIRED_VERSION} REQUIRED)
-    else()
-      find_package(Boost ${ARROW_BOOST_REQUIRED_VERSION}
-                   COMPONENTS regex system filesystem
-                   REQUIRED)
-      set(BOOST_SYSTEM_LIBRARY Boost::system)
-      set(BOOST_FILESYSTEM_LIBRARY Boost::filesystem)
-      set(BOOST_REGEX_LIBRARY Boost::regex)
-      set(ARROW_BOOST_LIBS ${BOOST_SYSTEM_LIBRARY} ${BOOST_FILESYSTEM_LIBRARY})
-    endif()
+    set(BOOST_SYSTEM_LIBRARY boost_system_static)
+    set(BOOST_FILESYSTEM_LIBRARY boost_filesystem_static)
+    set(BOOST_REGEX_LIBRARY boost_regex_static)
   endif()
+  set(ARROW_BOOST_LIBS ${BOOST_SYSTEM_LIBRARY} ${BOOST_FILESYSTEM_LIBRARY})
 endif()
 
 message(STATUS "Boost include dir: " ${Boost_INCLUDE_DIR})
diff --git a/cpp/src/parquet/CMakeLists.txt b/cpp/src/parquet/CMakeLists.txt
index 3090fa3..019f59f 100644
--- a/cpp/src/parquet/CMakeLists.txt
+++ b/cpp/src/parquet/CMakeLists.txt
@@ -93,10 +93,12 @@ else()
   set(ARROW_LIBRARIES_FOR_STATIC_TESTS arrow_testing_shared arrow_shared)
 endif()
 
-set(PARQUET_BOOST_LINK_LIBS ${BOOST_REGEX_LIBRARY})
-
+set(PARQUET_BOOST_LINK_LIBS)
+if(NOT ARROW_BOOST_HEADER_ONLY)
+  list(APPEND PARQUET_BOOST_LINK_LIBS ${BOOST_REGEX_LIBRARY})
+endif()
 if(MSVC)
-  set(PARQUET_BOOST_LINK_LIBS ${PARQUET_BOOST_LINK_LIBS} 
${BOOST_SYSTEM_LIBRARY})
+  list(APPEND PARQUET_BOOST_LINK_LIBS ${BOOST_SYSTEM_LIBRARY})
 endif()
 
 set(PARQUET_MIN_TEST_LIBS GTest::Main GTest::GTest)
diff --git a/dev/release/verify-release-candidate.sh 
b/dev/release/verify-release-candidate.sh
index a7d2013..80daa42 100755
--- a/dev/release/verify-release-candidate.sh
+++ b/dev/release/verify-release-candidate.sh
@@ -26,8 +26,7 @@
 # - nodejs >= 6.0.0 (best way is to use nvm)
 #
 # If using a non-system Boost, set BOOST_ROOT and add Boost libraries to
-# LD_LIBRARY_PATH. If your system Boost is too old for the C++ libraries, then
-# set $ARROW_BOOST_VENDORED to "ON" or "1"
+# LD_LIBRARY_PATH.
 
 case $# in
   3) ARTIFACT="$1"
@@ -50,8 +49,6 @@ set -o pipefail
 
 SOURCE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]:-$0}")" && pwd)"
 
-ARROW_BOOST_VENDORED=${ARROW_BOOST_VENDORED:=OFF}
-
 ARROW_DIST_URL='https://dist.apache.org/repos/dist/dev/arrow'
 
 detect_cuda() {
@@ -245,7 +242,6 @@ ${ARROW_CMAKE_OPTIONS}
 -DARROW_GANDIVA=ON
 -DARROW_PARQUET=ON
 -DARROW_BOOST_USE_SHARED=ON
--DARROW_BOOST_VENDORED=$ARROW_BOOST_VENDORED
 -DCMAKE_BUILD_TYPE=release
 -DARROW_BUILD_TESTS=ON
 -DARROW_CUDA=${ARROW_CUDA}
diff --git a/docker-compose.yml b/docker-compose.yml
index 40b1c59..e986c11 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -235,7 +235,7 @@ services:
       dockerfile: cpp/Dockerfile.ubuntu-xenial
     environment:
       PARQUET_TEST_DATA: /arrow/cpp/submodules/parquet-testing/data
-      ARROW_BOOST_VENDORED: "OFF"
+      ARROW_BOOST_SOURCE: "SYSTEM"
       ARROW_FLIGHT: "OFF"
     volumes: *ubuntu-xenial-volumes
 
diff --git a/docs/source/developers/cpp.rst b/docs/source/developers/cpp.rst
index 9e5013e..e29583b 100644
--- a/docs/source/developers/cpp.rst
+++ b/docs/source/developers/cpp.rst
@@ -41,8 +41,7 @@ Building requires:
   sufficient. For Windows, at least Visual Studio 2015 is required.
 * CMake 3.2 or higher
 * Boost 1.58 or higher, though some unit tests require 1.64 or
-  newer. Use ``-DARROW_BOOST_VENDORED=ON`` when invoking CMake to have
-  the Arrow build system automatically build a recent version of Boost.
+  newer.
 * ``bison`` and ``flex`` (for building Apache Thrift from source only, an
   Apache Parquet dependency.)
 
@@ -292,12 +291,6 @@ non-standard location, you can specify it by passing
 ``-DBOOST_ROOT=$MY_BOOST_ROOT`` or setting the ``BOOST_ROOT`` environment
 variable.
 
-Unlike most of the other dependencies, if Boost is not found by the build
-system it will not be built automatically from source. To opt-in to a vendored
-Boost build, pass ``-DARROW_BOOST_VENDORED=ON``. This automatically sets the
-option ``-DARROW_BOOST_USE_SHARED=OFF`` to statically-link Boost into the
-produced libraries and executables.
-
 Offline Builds
 ~~~~~~~~~~~~~~
 

Reply via email to