@@ -39,44 +39,76 @@ if [ -n "${ARROW_PYTHON_VENV:-}" ]; then
3939 . " ${ARROW_PYTHON_VENV} /bin/activate"
4040fi
4141
42- case " $( uname) " in
43- Linux)
44- n_jobs=$( nproc)
45- ;;
46- Darwin)
47- n_jobs=$( sysctl -n hw.ncpu)
48- ;;
49- MINGW* )
50- n_jobs=${NUMBER_OF_PROCESSORS:- 1}
51- ;;
52- * )
53- n_jobs=${NPROC:- 1}
54- ;;
55- esac
56-
5742if [ -n " ${CONDA_PREFIX} " ]; then
5843 echo -e " ===\n=== Conda environment for build\n==="
5944 conda list
6045fi
6146
62- export PYARROW_CMAKE_GENERATOR=${CMAKE_GENERATOR:- Ninja}
63- export PYARROW_BUILD_TYPE=${CMAKE_BUILD_TYPE:- debug}
64-
65- export PYARROW_WITH_ACERO=${ARROW_ACERO:- OFF}
66- export PYARROW_WITH_AZURE=${ARROW_AZURE:- OFF}
67- export PYARROW_WITH_CUDA=${ARROW_CUDA:- OFF}
68- export PYARROW_WITH_DATASET=${ARROW_DATASET:- ON}
69- export PYARROW_WITH_FLIGHT=${ARROW_FLIGHT:- OFF}
70- export PYARROW_WITH_GANDIVA=${ARROW_GANDIVA:- OFF}
71- export PYARROW_WITH_GCS=${ARROW_GCS:- OFF}
72- export PYARROW_WITH_HDFS=${ARROW_HDFS:- ON}
73- export PYARROW_WITH_ORC=${ARROW_ORC:- OFF}
74- export PYARROW_WITH_PARQUET=${ARROW_PARQUET:- OFF}
75- export PYARROW_WITH_PARQUET_ENCRYPTION=${PARQUET_REQUIRE_ENCRYPTION:- ON}
76- export PYARROW_WITH_S3=${ARROW_S3:- OFF}
77- export PYARROW_WITH_SUBSTRAIT=${ARROW_SUBSTRAIT:- OFF}
78-
79- export PYARROW_PARALLEL=${n_jobs}
47+ PYARROW_WITH_ACERO=$( case " $ARROW_ACERO " in
48+ ON) echo " enabled" ;;
49+ OFF) echo " disabled" ;;
50+ * ) echo " auto" ;;
51+ esac)
52+ PYARROW_WITH_AZURE=$( case " $ARROW_AZURE " in
53+ ON) echo " enabled" ;;
54+ OFF) echo " disabled" ;;
55+ * ) echo " auto" ;;
56+ esac)
57+ PYARROW_WITH_CUDA=$( case " $ARROW_CUDA " in
58+ ON) echo " enabled" ;;
59+ OFF) echo " disabled" ;;
60+ * ) echo " auto" ;;
61+ esac)
62+ PYARROW_WITH_DATASET=$( case " $ARROW_DATASET " in
63+ ON) echo " enabled" ;;
64+ OFF) echo " disabled" ;;
65+ * ) echo " enabled" ;;
66+ esac)
67+ PYARROW_WITH_FLIGHT=$( case " $ARROW_FLIGHT " in
68+ ON) echo " enabled" ;;
69+ OFF) echo " disabled" ;;
70+ * ) echo " auto" ;;
71+ esac)
72+ PYARROW_WITH_GANDIVA=$( case " $ARROW_GANDIVA " in
73+ ON) echo " enabled" ;;
74+ OFF) echo " disabled" ;;
75+ * ) echo " auto" ;;
76+ esac)
77+ PYARROW_WITH_GCS=$( case " $ARROW_GCS " in
78+ ON) echo " enabled" ;;
79+ OFF) echo " disabled" ;;
80+ * ) echo " auto" ;;
81+ esac)
82+ PYARROW_WITH_HDFS=$( case " $ARROW_HDFS " in
83+ ON) echo " enabled" ;;
84+ OFF) echo " disabled" ;;
85+ * ) echo " enabled" ;;
86+ esac)
87+ PYARROW_WITH_ORC=$( case " $ARROW_ORC " in
88+ ON) echo " enabled" ;;
89+ OFF) echo " disabled" ;;
90+ * ) echo " auto" ;;
91+ esac)
92+ PYARROW_WITH_PARQUET=$( case " $ARROW_PARQUET " in
93+ ON) echo " enabled" ;;
94+ OFF) echo " disabled" ;;
95+ * ) echo " auto" ;;
96+ esac)
97+ PYARROW_WITH_PARQUET_ENCRYPTION=$( case " $PARQUET_REQUIRE_ENCRYPTION " in
98+ ON) echo " enabled" ;;
99+ OFF) echo " disabled" ;;
100+ * ) echo " enabled" ;;
101+ esac)
102+ PYARROW_WITH_S3=$( case " $ARROW_S3 " in
103+ ON) echo " enabled" ;;
104+ OFF) echo " disabled" ;;
105+ * ) echo " auto" ;;
106+ esac)
107+ PYARROW_WITH_SUBSTRAIT=$( case " $ARROW_SUBSTRAIT " in
108+ ON) echo " enabled" ;;
109+ OFF) echo " disabled" ;;
110+ * ) echo " auto" ;;
111+ esac)
80112
81113: " ${CMAKE_PREFIX_PATH:= ${ARROW_HOME} } "
82114export CMAKE_PREFIX_PATH
@@ -93,7 +125,40 @@ pushd "${python_build_dir}"
93125# on Debian/Ubuntu (ARROW-15243).
94126# - Cannot use build isolation as we want to use specific dependency versions
95127# (e.g. Numpy, Pandas) on some CI jobs.
96- ${PYTHON:- python} -m pip install --no-deps --no-build-isolation -vv .
128+
129+ # The conda compilers package may mess with C{XX}_FLAGS in a way that interferes
130+ # with the compiler
131+ OLD_CFLAGS=$CFLAGS
132+ OLD_CPPFLAGS=$CPPFLAGS
133+ OLD_CXXFLAGS=$CXXFLAGS
134+ export CFLAGS=
135+ export CPPFLAGS=
136+ export CXXFLAGS=
137+
138+ BUILD_TYPE=${CMAKE_BUILD_TYPE:- debug}
139+ BUILD_TYPE=${BUILD_TYPE,,} # Meson requires lowercase values
140+
141+ ${PYTHON:- python} -m pip install --no-deps --no-build-isolation -vv . \
142+ -Csetup-args=" -Dbuildtype=${BUILD_TYPE} " \
143+ -Csetup-args=" -Dacero=${PYARROW_WITH_ACERO} " \
144+ -Csetup-args=" -Dazure=${PYARROW_WITH_AZURE} " \
145+ -Csetup-args=" -Dcuda=${PYARROW_WITH_CUDA} " \
146+ -Csetup-args=" -Ddataset=${PYARROW_WITH_DATASET} " \
147+ -Csetup-args=" -Dflight=${PYARROW_WITH_FLIGHT} " \
148+ -Csetup-args=" -Dgandiva=${PYARROW_WITH_GANDIVA} " \
149+ -Csetup-args=" -Dgcs=${PYARROW_WITH_GCS} " \
150+ -Csetup-args=" -Dhdfs=${PYARROW_WITH_HDFS} " \
151+ -Csetup-args=" -Dorc=${PYARROW_WITH_ORC} " \
152+ -Csetup-args=" -Dparquet=${PYARROW_WITH_PARQUET} " \
153+ -Csetup-args=" -Dparquet_require_encryption=${PYARROW_WITH_PARQUET_ENCRYPTION} " \
154+ -Csetup-args=" -Ds3=${PYARROW_WITH_S3} " \
155+ -Csetup-args=" -Dsubstrait=${PYARROW_WITH_SUBSTRAIT} " \
156+ -Ccompile-args=" -v" \
157+ -Csetup-args=" --pkg-config-path=${ARROW_HOME} /lib/pkgconfig"
158+
159+ export CFLAGS=$OLD_CFLAGS
160+ export CPPFLAGS=$OLD_CPPFLAGS
161+ export CXXFLAGS=$OLD_CXXFLAGS
97162popd
98163
99164if [ " ${BUILD_DOCS_PYTHON} " == " ON" ]; then
0 commit comments