From 73779bbd5cb3f7920beea025fdb006d7507ea869 Mon Sep 17 00:00:00 2001 From: Alenka Frim Date: Mon, 6 Mar 2023 12:32:18 +0100 Subject: [PATCH 01/11] Add two lists of options for building PyArrow --- docs/source/developers/python.rst | 80 +++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/docs/source/developers/python.rst b/docs/source/developers/python.rst index 8df095f7c3b..e04e1add28d 100644 --- a/docs/source/developers/python.rst +++ b/docs/source/developers/python.rst @@ -586,6 +586,86 @@ Caveats The Plasma component is not supported on Windows. +Relevant components and environment variables +============================================= + +List of relevant Arrow CMake flags and corresponding environment variables +to be used when building PyArrow are: + +.. list-table:: + :widths: 30 30 + :header-rows: 1 + + * - CMAKE_BUILD_TYPE + - PYARROW_BUILD_TYPE (release, dbug or relwithdebinfo) + * - ARROW_GCS + - PYARROW_WITH_GCS + * - ARROW_S3 + - PYARROW_WITH_S3 + * - ARROW_HDFS + - PYARROW_WITH_HDFS + * - ARROW_CUDA + - PYARROW_WITH_CUDA + * - ARROW_SUBSTRAIT + - PYARROW_WITH_SUBSTRAIT + * - ARROW_FLIGHT + - PYARROW_WITH_FLIGHT + * - ARROW_DATASET + - PYARROW_WITH_DATASET + * - ARROW_PARQUET + - PYARROW_WITH_PARQUET + * - PARQUET_REQUIRE_ENCRYPTION + - PYARROW_WITH_PARQUET_ENCRYPTION + * - ARROW_PLASMA + - PYARROW_WITH_PLASMA + * - ARROW_TENSORFLOW + - PYARROW_WITH_TENSORFLOW + * - ARROW_ORC + - PYARROW_WITH_ORC + * - ARROW_GANDIVA + - PYARROW_WITH_GANDIVA + +List of relevant environment variables that can also be used to build +PyArrow are: + +.. list-table:: + :widths: 30 30 + :header-rows: 1 + + * - PyArrow environment variable + - Description + * - PYARROW_CMAKE_GENERATOR + - Example: 'Visual Studio 15 2017 Win64' + * - PYARROW_CMAKE_OPTIONS + - Extra CMake and Arrow options (ex. ``"-DARROW_SIMD_LEVEL"``, + ``"-DCMAKE_OSX_ARCHITECTURES"``) + * - PYARROW_BOOST_NAMESPACE + - Name of install folder for boost (if different from 'boost') + * - PYARROW_CXXFLAGS + - Extra cxx flags + * - PYARROW_WITH_STATIC_PARQUET + - Rely on parquet shared libraries where relevant, default OFF + * - PYARROW_WITH_STATIC_BOOST + - Rely on Boost shared libraries on linking static parquet, default OFF + * - PYARROW_GENERATE_COVERAGE + - Setting ``Xlinetrace`` flag to true for the Cython compiler + * - PYARROW_BUNDLE_ARROW_CPP + - Bundle the Arrow C++ libraries, default OFF + * - PYARROW_BUNDLE_CYTHON_CPP + - Bundle the C++ files generated by Cython, default OFF + * - PYARROW_BUNDLE_BOOST + - Bundle the Boost libraries when we bundle Arrow C++, default OFF + * - PYARROW_BUNDLE_ARROW_CPP_HEADERS + - Bundle the Arrow C++ headers + * - PYARROW_BUNDLE_PLASMA_EXECUTABLE + - Bundle the plasma-store-server, default ON + * - PYARROW_INSTALL_TESTS + - Add the test to the python package, default ON + * - PYARROW_BUILD_VERBOSE + - Enable verbose output from Makefile builds, default OFF + * - PYARROW_PARALLEL + - Number of threads used to compile PyArrow’s C++/Cython components + Deleting stale build artifacts ============================== From d33bc731b36022b6a3363908cb9c2fc1b8147e67 Mon Sep 17 00:00:00 2001 From: Alenka Frim Date: Tue, 7 Mar 2023 07:05:09 +0100 Subject: [PATCH 02/11] Apply suggestions from code review - kou Co-authored-by: Sutou Kouhei --- docs/source/developers/python.rst | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/docs/source/developers/python.rst b/docs/source/developers/python.rst index e04e1add28d..a7c08c791ef 100644 --- a/docs/source/developers/python.rst +++ b/docs/source/developers/python.rst @@ -597,7 +597,7 @@ to be used when building PyArrow are: :header-rows: 1 * - CMAKE_BUILD_TYPE - - PYARROW_BUILD_TYPE (release, dbug or relwithdebinfo) + - PYARROW_BUILD_TYPE (release, debug or relwithdebinfo) * - ARROW_GCS - PYARROW_WITH_GCS * - ARROW_S3 @@ -637,12 +637,11 @@ PyArrow are: * - PYARROW_CMAKE_GENERATOR - Example: 'Visual Studio 15 2017 Win64' * - PYARROW_CMAKE_OPTIONS - - Extra CMake and Arrow options (ex. ``"-DARROW_SIMD_LEVEL"``, - ``"-DCMAKE_OSX_ARCHITECTURES"``) + - Extra CMake and Arrow options (ex. ``"-DARROW_SIMD_LEVEL=NONE -DCMAKE_OSX_ARCHITECTURES=x86_64;arm64"``) * - PYARROW_BOOST_NAMESPACE - - Name of install folder for boost (if different from 'boost') + - Name of install folder for Boost (if different from 'boost') * - PYARROW_CXXFLAGS - - Extra cxx flags + - Extra C++ compiler flags * - PYARROW_WITH_STATIC_PARQUET - Rely on parquet shared libraries where relevant, default OFF * - PYARROW_WITH_STATIC_BOOST @@ -664,7 +663,7 @@ PyArrow are: * - PYARROW_BUILD_VERBOSE - Enable verbose output from Makefile builds, default OFF * - PYARROW_PARALLEL - - Number of threads used to compile PyArrow’s C++/Cython components + - Number of processes used to compile PyArrow’s C++/Cython components Deleting stale build artifacts ============================== From 105ff7d553e27f59e919d7b6d9fe43427f4c3cb4 Mon Sep 17 00:00:00 2001 From: Alenka Frim Date: Tue, 7 Mar 2023 08:58:28 +0100 Subject: [PATCH 03/11] Remove plasma from the lists --- docs/source/developers/python.rst | 4 ---- 1 file changed, 4 deletions(-) diff --git a/docs/source/developers/python.rst b/docs/source/developers/python.rst index a7c08c791ef..65ff7fa7ddc 100644 --- a/docs/source/developers/python.rst +++ b/docs/source/developers/python.rst @@ -616,8 +616,6 @@ to be used when building PyArrow are: - PYARROW_WITH_PARQUET * - PARQUET_REQUIRE_ENCRYPTION - PYARROW_WITH_PARQUET_ENCRYPTION - * - ARROW_PLASMA - - PYARROW_WITH_PLASMA * - ARROW_TENSORFLOW - PYARROW_WITH_TENSORFLOW * - ARROW_ORC @@ -656,8 +654,6 @@ PyArrow are: - Bundle the Boost libraries when we bundle Arrow C++, default OFF * - PYARROW_BUNDLE_ARROW_CPP_HEADERS - Bundle the Arrow C++ headers - * - PYARROW_BUNDLE_PLASMA_EXECUTABLE - - Bundle the plasma-store-server, default ON * - PYARROW_INSTALL_TESTS - Add the test to the python package, default ON * - PYARROW_BUILD_VERBOSE From cc9e78448c21ae51c0d9da5f611a2f48d4fe8097 Mon Sep 17 00:00:00 2001 From: Alenka Frim Date: Tue, 7 Mar 2023 09:00:56 +0100 Subject: [PATCH 04/11] Add header row to the first table --- docs/source/developers/python.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/source/developers/python.rst b/docs/source/developers/python.rst index 65ff7fa7ddc..a1823e9edf6 100644 --- a/docs/source/developers/python.rst +++ b/docs/source/developers/python.rst @@ -596,6 +596,8 @@ to be used when building PyArrow are: :widths: 30 30 :header-rows: 1 + * - Arrow flags/options + - Corresponding environment variables for PyArrow * - CMAKE_BUILD_TYPE - PYARROW_BUILD_TYPE (release, debug or relwithdebinfo) * - ARROW_GCS From 2b7f6cfefe3bcfc66d4b7f3cffca66b8b767ddc1 Mon Sep 17 00:00:00 2001 From: Alenka Frim Date: Tue, 7 Mar 2023 09:07:30 +0100 Subject: [PATCH 05/11] Add extra column (default value) --- docs/source/developers/python.rst | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/docs/source/developers/python.rst b/docs/source/developers/python.rst index a1823e9edf6..0c687415e28 100644 --- a/docs/source/developers/python.rst +++ b/docs/source/developers/python.rst @@ -629,39 +629,53 @@ List of relevant environment variables that can also be used to build PyArrow are: .. list-table:: - :widths: 30 30 + :widths: 20 20 20 :header-rows: 1 * - PyArrow environment variable - Description + - Default value * - PYARROW_CMAKE_GENERATOR - Example: 'Visual Studio 15 2017 Win64' + - ``''`` * - PYARROW_CMAKE_OPTIONS - Extra CMake and Arrow options (ex. ``"-DARROW_SIMD_LEVEL=NONE -DCMAKE_OSX_ARCHITECTURES=x86_64;arm64"``) + - ``''`` * - PYARROW_BOOST_NAMESPACE - Name of install folder for Boost (if different from 'boost') + - ``''`` * - PYARROW_CXXFLAGS - Extra C++ compiler flags + - ``''`` * - PYARROW_WITH_STATIC_PARQUET - - Rely on parquet shared libraries where relevant, default OFF + - Rely on parquet shared libraries where relevant + - ``0``(OFF) * - PYARROW_WITH_STATIC_BOOST - - Rely on Boost shared libraries on linking static parquet, default OFF + - Rely on Boost shared libraries on linking static parquet + - ``0``(OFF) * - PYARROW_GENERATE_COVERAGE - Setting ``Xlinetrace`` flag to true for the Cython compiler + - ``false`` * - PYARROW_BUNDLE_ARROW_CPP - - Bundle the Arrow C++ libraries, default OFF + - Bundle the Arrow C++ libraries + - ``0``(OFF) * - PYARROW_BUNDLE_CYTHON_CPP - - Bundle the C++ files generated by Cython, default OFF + - Bundle the C++ files generated by Cython + - ``0``(OFF) * - PYARROW_BUNDLE_BOOST - - Bundle the Boost libraries when we bundle Arrow C++, default OFF + - Bundle the Boost libraries when we bundle Arrow C++ + - ``0``(OFF) * - PYARROW_BUNDLE_ARROW_CPP_HEADERS - Bundle the Arrow C++ headers * - PYARROW_INSTALL_TESTS - - Add the test to the python package, default ON + - Add the test to the python package + - ``1``(ON) * - PYARROW_BUILD_VERBOSE - - Enable verbose output from Makefile builds, default OFF + - Enable verbose output from Makefile builds + - ``0``(OFF) * - PYARROW_PARALLEL - Number of processes used to compile PyArrow’s C++/Cython components + - ``''`` Deleting stale build artifacts ============================== From b014ee9afbe914298969489cc1c2b88faca42fec Mon Sep 17 00:00:00 2001 From: Alenka Frim Date: Wed, 8 Mar 2023 08:10:58 +0100 Subject: [PATCH 06/11] Remove PYARROW_BUNDLE_ARROW_CPP_HEADERS --- dev/tasks/conda-recipes/arrow-cpp/build-pyarrow.sh | 1 - docs/source/developers/python.rst | 2 -- python/setup.py | 2 -- 3 files changed, 5 deletions(-) diff --git a/dev/tasks/conda-recipes/arrow-cpp/build-pyarrow.sh b/dev/tasks/conda-recipes/arrow-cpp/build-pyarrow.sh index 692ffb7806d..718617ce17b 100644 --- a/dev/tasks/conda-recipes/arrow-cpp/build-pyarrow.sh +++ b/dev/tasks/conda-recipes/arrow-cpp/build-pyarrow.sh @@ -8,7 +8,6 @@ export ARROW_HOME=$PREFIX export PARQUET_HOME=$PREFIX export SETUPTOOLS_SCM_PRETEND_VERSION=$PKG_VERSION export PYARROW_BUILD_TYPE=release -export PYARROW_BUNDLE_ARROW_CPP_HEADERS=0 export PYARROW_WITH_DATASET=1 export PYARROW_WITH_FLIGHT=1 export PYARROW_WITH_GANDIVA=1 diff --git a/docs/source/developers/python.rst b/docs/source/developers/python.rst index 0c687415e28..2443b754137 100644 --- a/docs/source/developers/python.rst +++ b/docs/source/developers/python.rst @@ -665,8 +665,6 @@ PyArrow are: * - PYARROW_BUNDLE_BOOST - Bundle the Boost libraries when we bundle Arrow C++ - ``0``(OFF) - * - PYARROW_BUNDLE_ARROW_CPP_HEADERS - - Bundle the Arrow C++ headers * - PYARROW_INSTALL_TESTS - Add the test to the python package - ``1``(ON) diff --git a/python/setup.py b/python/setup.py index 4ee397ed4b3..c1d562acb20 100755 --- a/python/setup.py +++ b/python/setup.py @@ -193,8 +193,6 @@ def initialize_options(self): os.environ.get('PYARROW_BUNDLE_CYTHON_CPP', '0')) self.bundle_boost = strtobool( os.environ.get('PYARROW_BUNDLE_BOOST', '0')) - self.bundle_arrow_cpp_headers = strtobool( - os.environ.get('PYARROW_BUNDLE_ARROW_CPP_HEADERS', '1')) self.bundle_plasma_executable = strtobool( os.environ.get('PYARROW_BUNDLE_PLASMA_EXECUTABLE', '1')) From ad512e75abaa070074502fbe8189772b26346b3b Mon Sep 17 00:00:00 2001 From: Alenka Frim Date: Wed, 8 Mar 2023 08:14:04 +0100 Subject: [PATCH 07/11] Remove PYARROW_BUNDLE_BOOST --- ci/appveyor-cpp-build.bat | 1 - ci/scripts/python_wheel_windows_build.bat | 1 - docs/source/developers/python.rst | 3 --- python/CMakeLists.txt | 1 - python/setup.py | 4 ---- 5 files changed, 10 deletions(-) diff --git a/ci/appveyor-cpp-build.bat b/ci/appveyor-cpp-build.bat index 0faac67a14a..b34d00e85ab 100644 --- a/ci/appveyor-cpp-build.bat +++ b/ci/appveyor-cpp-build.bat @@ -106,7 +106,6 @@ popd pushd python -set PYARROW_BUNDLE_BOOST=OFF set PYARROW_CMAKE_GENERATOR=%GENERATOR% set PYARROW_CXXFLAGS=%ARROW_CXXFLAGS% set PYARROW_PARALLEL=2 diff --git a/ci/scripts/python_wheel_windows_build.bat b/ci/scripts/python_wheel_windows_build.bat index d137cd8a985..6a5c994d08b 100644 --- a/ci/scripts/python_wheel_windows_build.bat +++ b/ci/scripts/python_wheel_windows_build.bat @@ -103,7 +103,6 @@ popd echo "=== (%PYTHON_VERSION%) Building wheel ===" set PYARROW_BUILD_TYPE=%CMAKE_BUILD_TYPE% set PYARROW_BUNDLE_ARROW_CPP=ON -set PYARROW_BUNDLE_BOOST=OFF set PYARROW_CMAKE_GENERATOR=%CMAKE_GENERATOR% set PYARROW_INSTALL_TESTS=ON set PYARROW_WITH_DATASET=%ARROW_DATASET% diff --git a/docs/source/developers/python.rst b/docs/source/developers/python.rst index 2443b754137..ec10d5c8e23 100644 --- a/docs/source/developers/python.rst +++ b/docs/source/developers/python.rst @@ -662,9 +662,6 @@ PyArrow are: * - PYARROW_BUNDLE_CYTHON_CPP - Bundle the C++ files generated by Cython - ``0``(OFF) - * - PYARROW_BUNDLE_BOOST - - Bundle the Boost libraries when we bundle Arrow C++ - - ``0``(OFF) * - PYARROW_INSTALL_TESTS - Add the test to the python package - ``1``(ON) diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index a2cf8901bac..5baa45f27f9 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -125,7 +125,6 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") option(PYARROW_USE_TENSORFLOW "Build PyArrow with TensorFlow support" OFF) option(PYARROW_BUILD_ORC "Build the PyArrow ORC integration" OFF) option(PYARROW_BUNDLE_ARROW_CPP "Bundle the Arrow C++ libraries" OFF) - option(PYARROW_BUNDLE_BOOST "Bundle the Boost libraries when we bundle Arrow C++" OFF) option(PYARROW_BUNDLE_CYTHON_CPP "Bundle the C++ files generated by Cython" OFF) option(PYARROW_BUNDLE_PLASMA_EXECUTABLE "Bundle the plasma-store-server" ON) option(PYARROW_GENERATE_COVERAGE "Build with Cython code coverage enabled" OFF) diff --git a/python/setup.py b/python/setup.py index c1d562acb20..c44aad047bb 100755 --- a/python/setup.py +++ b/python/setup.py @@ -191,8 +191,6 @@ def initialize_options(self): os.environ.get('PYARROW_BUNDLE_ARROW_CPP', '0')) self.bundle_cython_cpp = strtobool( os.environ.get('PYARROW_BUNDLE_CYTHON_CPP', '0')) - self.bundle_boost = strtobool( - os.environ.get('PYARROW_BUNDLE_BOOST', '0')) self.bundle_plasma_executable = strtobool( os.environ.get('PYARROW_BUNDLE_PLASMA_EXECUTABLE', '1')) @@ -295,8 +293,6 @@ def append_cmake_bool(value, varname): append_cmake_bool(self.with_tensorflow, 'PYARROW_USE_TENSORFLOW') append_cmake_bool(self.bundle_arrow_cpp, 'PYARROW_BUNDLE_ARROW_CPP') - append_cmake_bool(self.bundle_boost, - 'PYARROW_BUNDLE_BOOST') append_cmake_bool(self.bundle_cython_cpp, 'PYARROW_BUNDLE_CYTHON_CPP') append_cmake_bool(self.bundle_plasma_executable, From 04ec10382fe29cdf8ac27a6e442d7dd25953d4f0 Mon Sep 17 00:00:00 2001 From: Alenka Frim Date: Wed, 8 Mar 2023 08:18:00 +0100 Subject: [PATCH 08/11] Remove PYARROW_WITH_STATIC_PARQUET and PYARROW_PARQUET_USE_SHARED --- docs/source/developers/python.rst | 3 --- python/CMakeLists.txt | 3 +-- python/setup.py | 4 ---- 3 files changed, 1 insertion(+), 9 deletions(-) diff --git a/docs/source/developers/python.rst b/docs/source/developers/python.rst index ec10d5c8e23..e39411980ee 100644 --- a/docs/source/developers/python.rst +++ b/docs/source/developers/python.rst @@ -647,9 +647,6 @@ PyArrow are: * - PYARROW_CXXFLAGS - Extra C++ compiler flags - ``''`` - * - PYARROW_WITH_STATIC_PARQUET - - Rely on parquet shared libraries where relevant - - ``0``(OFF) * - PYARROW_WITH_STATIC_BOOST - Rely on Boost shared libraries on linking static parquet - ``0``(OFF) diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 5baa45f27f9..8533e04bdba 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -116,7 +116,6 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") option(PYARROW_BUILD_DATASET "Build the PyArrow Dataset integration" OFF) option(PYARROW_BUILD_GANDIVA "Build the PyArrow Gandiva integration" OFF) option(PYARROW_BUILD_PARQUET "Build the PyArrow Parquet integration" OFF) - option(PYARROW_PARQUET_USE_SHARED "Rely on parquet shared libraries where relevant" ON) option(PYARROW_BUILD_PARQUET_ENCRYPTION "Build the PyArrow Parquet encryption integration" OFF) option(PYARROW_BOOST_USE_SHARED @@ -584,7 +583,7 @@ if(PYARROW_BUILD_PARQUET) DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) endif() - if(PYARROW_PARQUET_USE_SHARED) + if(ARROW_BUILD_SHARED) if(PYARROW_BUNDLE_ARROW_CPP) bundle_arrow_lib(${PARQUET_SHARED_LIB} SO_VERSION ${PARQUET_SO_VERSION}) if(MSVC) diff --git a/python/setup.py b/python/setup.py index c44aad047bb..3130b13f7d1 100755 --- a/python/setup.py +++ b/python/setup.py @@ -171,8 +171,6 @@ def initialize_options(self): os.environ.get('PYARROW_WITH_DATASET', '0')) self.with_parquet = strtobool( os.environ.get('PYARROW_WITH_PARQUET', '0')) - self.with_static_parquet = strtobool( - os.environ.get('PYARROW_WITH_STATIC_PARQUET', '0')) self.with_parquet_encryption = strtobool( os.environ.get('PYARROW_WITH_PARQUET_ENCRYPTION', '0')) self.with_static_boost = strtobool( @@ -301,8 +299,6 @@ def append_cmake_bool(value, varname): 'PYARROW_GENERATE_COVERAGE') append_cmake_bool(not self.with_static_boost, 'PYARROW_BOOST_USE_SHARED') - append_cmake_bool(not self.with_static_parquet, - 'PYARROW_PARQUET_USE_SHARED') cmake_options.append( f'-DCMAKE_BUILD_TYPE={self.build_type.lower()}') From a4dd385081fbd9ef199b0452715a36cb5172fbd8 Mon Sep 17 00:00:00 2001 From: Alenka Frim Date: Wed, 8 Mar 2023 09:37:23 +0100 Subject: [PATCH 09/11] Minor typo corrections --- docs/source/developers/python.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/source/developers/python.rst b/docs/source/developers/python.rst index e39411980ee..2aba4346d8b 100644 --- a/docs/source/developers/python.rst +++ b/docs/source/developers/python.rst @@ -649,22 +649,22 @@ PyArrow are: - ``''`` * - PYARROW_WITH_STATIC_BOOST - Rely on Boost shared libraries on linking static parquet - - ``0``(OFF) + - ``0`` (``OFF``) * - PYARROW_GENERATE_COVERAGE - Setting ``Xlinetrace`` flag to true for the Cython compiler - ``false`` * - PYARROW_BUNDLE_ARROW_CPP - Bundle the Arrow C++ libraries - - ``0``(OFF) + - ``0`` (``OFF``) * - PYARROW_BUNDLE_CYTHON_CPP - Bundle the C++ files generated by Cython - - ``0``(OFF) + - ``0`` (``OFF``) * - PYARROW_INSTALL_TESTS - Add the test to the python package - - ``1``(ON) + - ``1`` (``ON``) * - PYARROW_BUILD_VERBOSE - Enable verbose output from Makefile builds - - ``0``(OFF) + - ``0`` (``OFF``) * - PYARROW_PARALLEL - Number of processes used to compile PyArrow’s C++/Cython components - ``''`` From b1ffac9bbef5c782985f96e15028eeb9133a0453 Mon Sep 17 00:00:00 2001 From: Alenka Frim Date: Wed, 8 Mar 2023 09:53:32 +0100 Subject: [PATCH 10/11] Change formatting of the variables --- docs/source/developers/python.rst | 76 +++++++++++++++---------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/docs/source/developers/python.rst b/docs/source/developers/python.rst index 2aba4346d8b..62d69b49e27 100644 --- a/docs/source/developers/python.rst +++ b/docs/source/developers/python.rst @@ -598,32 +598,32 @@ to be used when building PyArrow are: * - Arrow flags/options - Corresponding environment variables for PyArrow - * - CMAKE_BUILD_TYPE - - PYARROW_BUILD_TYPE (release, debug or relwithdebinfo) - * - ARROW_GCS - - PYARROW_WITH_GCS - * - ARROW_S3 - - PYARROW_WITH_S3 - * - ARROW_HDFS - - PYARROW_WITH_HDFS - * - ARROW_CUDA - - PYARROW_WITH_CUDA - * - ARROW_SUBSTRAIT - - PYARROW_WITH_SUBSTRAIT - * - ARROW_FLIGHT - - PYARROW_WITH_FLIGHT - * - ARROW_DATASET - - PYARROW_WITH_DATASET - * - ARROW_PARQUET - - PYARROW_WITH_PARQUET - * - PARQUET_REQUIRE_ENCRYPTION - - PYARROW_WITH_PARQUET_ENCRYPTION - * - ARROW_TENSORFLOW - - PYARROW_WITH_TENSORFLOW - * - ARROW_ORC - - PYARROW_WITH_ORC - * - ARROW_GANDIVA - - PYARROW_WITH_GANDIVA + * - ``CMAKE_BUILD_TYPE`` + - ``PYARROW_BUILD_TYPE`` (release, debug or relwithdebinfo) + * - ``ARROW_GCS`` + - ``PYARROW_WITH_GCS`` + * - ``ARROW_S3`` + - ``PYARROW_WITH_S3`` + * - ``ARROW_HDFS`` + - ``PYARROW_WITH_HDFS`` + * - ``ARROW_CUDA`` + - ``PYARROW_WITH_CUDA`` + * - ``ARROW_SUBSTRAIT`` + - ``PYARROW_WITH_SUBSTRAIT`` + * - ``ARROW_FLIGHT`` + - ``PYARROW_WITH_FLIGHT`` + * - ``ARROW_DATASET`` + - ``PYARROW_WITH_DATASET`` + * - ``ARROW_PARQUET`` + - ``PYARROW_WITH_PARQUET`` + * - ``PARQUET_REQUIRE_ENCRYPTION`` + - ``PYARROW_WITH_PARQUET_ENCRYPTION`` + * - ``ARROW_TENSORFLOW`` + - ``PYARROW_WITH_TENSORFLOW`` + * - ``ARROW_ORC`` + - ``PYARROW_WITH_ORC`` + * - ``ARROW_GANDIVA`` + - ``PYARROW_WITH_GANDIVA`` List of relevant environment variables that can also be used to build PyArrow are: @@ -635,37 +635,37 @@ PyArrow are: * - PyArrow environment variable - Description - Default value - * - PYARROW_CMAKE_GENERATOR - - Example: 'Visual Studio 15 2017 Win64' + * - ``PYARROW_CMAKE_GENERATOR`` + - Example: ``'Visual Studio 15 2017 Win64'`` - ``''`` - * - PYARROW_CMAKE_OPTIONS + * - ``PYARROW_CMAKE_OPTIONS`` - Extra CMake and Arrow options (ex. ``"-DARROW_SIMD_LEVEL=NONE -DCMAKE_OSX_ARCHITECTURES=x86_64;arm64"``) - ``''`` - * - PYARROW_BOOST_NAMESPACE + * - ``PYARROW_BOOST_NAMESPACE`` - Name of install folder for Boost (if different from 'boost') - ``''`` - * - PYARROW_CXXFLAGS + * - ``PYARROW_CXXFLAGS`` - Extra C++ compiler flags - ``''`` - * - PYARROW_WITH_STATIC_BOOST + * - ``PYARROW_WITH_STATIC_BOOST`` - Rely on Boost shared libraries on linking static parquet - ``0`` (``OFF``) - * - PYARROW_GENERATE_COVERAGE + * - ``PYARROW_GENERATE_COVERAGE`` - Setting ``Xlinetrace`` flag to true for the Cython compiler - ``false`` - * - PYARROW_BUNDLE_ARROW_CPP + * - ``PYARROW_BUNDLE_ARROW_CPP`` - Bundle the Arrow C++ libraries - ``0`` (``OFF``) - * - PYARROW_BUNDLE_CYTHON_CPP + * - ``PYARROW_BUNDLE_CYTHON_CPP`` - Bundle the C++ files generated by Cython - ``0`` (``OFF``) - * - PYARROW_INSTALL_TESTS + * - ``PYARROW_INSTALL_TESTS`` - Add the test to the python package - ``1`` (``ON``) - * - PYARROW_BUILD_VERBOSE + * - ``PYARROW_BUILD_VERBOSE`` - Enable verbose output from Makefile builds - ``0`` (``OFF``) - * - PYARROW_PARALLEL + * - ``PYARROW_PARALLEL`` - Number of processes used to compile PyArrow’s C++/Cython components - ``''`` From a5f2ce86bbc8bc4ab6abdefe1453d3d788c88f11 Mon Sep 17 00:00:00 2001 From: Alenka Frim Date: Thu, 9 Mar 2023 16:28:30 +0100 Subject: [PATCH 11/11] Remove PYARROW_BOOST_NAMESPACE, PYARROW_WITH_STATIC_BOOST and PYARROW_BOOST_USE_SHARED --- docs/source/developers/python.rst | 6 ------ python/CMakeLists.txt | 2 -- python/setup.py | 10 ---------- 3 files changed, 18 deletions(-) diff --git a/docs/source/developers/python.rst b/docs/source/developers/python.rst index 62d69b49e27..495c5db991c 100644 --- a/docs/source/developers/python.rst +++ b/docs/source/developers/python.rst @@ -641,15 +641,9 @@ PyArrow are: * - ``PYARROW_CMAKE_OPTIONS`` - Extra CMake and Arrow options (ex. ``"-DARROW_SIMD_LEVEL=NONE -DCMAKE_OSX_ARCHITECTURES=x86_64;arm64"``) - ``''`` - * - ``PYARROW_BOOST_NAMESPACE`` - - Name of install folder for Boost (if different from 'boost') - - ``''`` * - ``PYARROW_CXXFLAGS`` - Extra C++ compiler flags - ``''`` - * - ``PYARROW_WITH_STATIC_BOOST`` - - Rely on Boost shared libraries on linking static parquet - - ``0`` (``OFF``) * - ``PYARROW_GENERATE_COVERAGE`` - Setting ``Xlinetrace`` flag to true for the Cython compiler - ``false`` diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 8533e04bdba..55fa1a77ad2 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -118,8 +118,6 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") option(PYARROW_BUILD_PARQUET "Build the PyArrow Parquet integration" OFF) option(PYARROW_BUILD_PARQUET_ENCRYPTION "Build the PyArrow Parquet encryption integration" OFF) - option(PYARROW_BOOST_USE_SHARED - "Rely on Boost shared libraries on linking static parquet" ON) option(PYARROW_BUILD_PLASMA "Build the PyArrow Plasma integration" OFF) option(PYARROW_USE_TENSORFLOW "Build PyArrow with TensorFlow support" OFF) option(PYARROW_BUILD_ORC "Build the PyArrow ORC integration" OFF) diff --git a/python/setup.py b/python/setup.py index 3130b13f7d1..0eab771445d 100755 --- a/python/setup.py +++ b/python/setup.py @@ -144,8 +144,6 @@ def initialize_options(self): self.extra_cmake_args = os.environ.get('PYARROW_CMAKE_OPTIONS', '') self.build_type = os.environ.get('PYARROW_BUILD_TYPE', 'release').lower() - self.boost_namespace = os.environ.get('PYARROW_BOOST_NAMESPACE', - 'boost') self.cmake_cxxflags = os.environ.get('PYARROW_CXXFLAGS', '') @@ -173,8 +171,6 @@ def initialize_options(self): os.environ.get('PYARROW_WITH_PARQUET', '0')) self.with_parquet_encryption = strtobool( os.environ.get('PYARROW_WITH_PARQUET_ENCRYPTION', '0')) - self.with_static_boost = strtobool( - os.environ.get('PYARROW_WITH_STATIC_BOOST', '0')) self.with_plasma = strtobool( os.environ.get('PYARROW_WITH_PLASMA', '0')) self.with_tensorflow = strtobool( @@ -297,16 +293,10 @@ def append_cmake_bool(value, varname): 'PYARROW_BUNDLE_PLASMA_EXECUTABLE') append_cmake_bool(self.generate_coverage, 'PYARROW_GENERATE_COVERAGE') - append_cmake_bool(not self.with_static_boost, - 'PYARROW_BOOST_USE_SHARED') cmake_options.append( f'-DCMAKE_BUILD_TYPE={self.build_type.lower()}') - if self.boost_namespace != 'boost': - cmake_options.append( - f'-DBoost_NAMESPACE={self.boost_namespace}') - extra_cmake_args = shlex.split(self.extra_cmake_args) build_tool_args = []