kou commented on code in PR #34463:
URL: https://github.com/apache/arrow/pull/34463#discussion_r1127447569
##########
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
Review Comment:
> But we can link dynamically to Arrow C++ libs in python I think?
Correct.
> setup.py and CMake that is run from setup.py define different ways to link
to the libraries.
Does it mean that `setup.py` says "static or not" and `CMake` says "shared
or not"?
Ah, wait. We may be able to remove `PYARROW_WITH_STATIC_PARQUET` too like
`PYARROW_WITH_STATIC_BOOST` with the following change:
```diff
diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
index 8f846348f3..2e62dfb0e5 100644
--- a/python/CMakeLists.txt
+++ b/python/CMakeLists.txt
@@ -586,7 +586,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)
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]