nealrichardson commented on code in PR #35147: URL: https://github.com/apache/arrow/pull/35147#discussion_r1182615413
########## r/configure: ########## @@ -17,39 +17,81 @@ # specific language governing permissions and limitations # under the License. -# Anticonf (tm) script by Jeroen Ooms, Jim Hester (2017) -# License: MIT +# This script makes sure we have our C++ dependencies in order +# so that we can compile the bindings in src/ and build the +# R package's shared library. # -# This script will query 'pkg-config' for the required cflags and ldflags. -# If pkg-config is unavailable or does not find the library, try setting -# INCLUDE_DIR and LIB_DIR manually via e.g: -# R CMD INSTALL --configure-vars='INCLUDE_DIR=/.../include LIB_DIR=/.../lib' +# The core logic is: +# +# * Find libarrow on the system. If it is present, make sure +# that its version is compatible with the R package. +# * If no suitable libarrow is found, download it (where allowed) +# or build it from source. +# * Determine what features this libarrow has and what other +# flags it requires, and set them in src/Makevars for use when +# compiling the bindings. +# * Run a test program to confirm that arrow headers are found +# +# It is intended to be flexible enough to account for several +# workflows, and should be expected to always result in a successful +# build as long as you haven't set environment variables that +# would limit its options. +# +# * Installing a released version from source, as from CRAN, with +# no other prior setup +# * On macOS, autobrew is used to retrieve libarrow and dependencies +# * On Linux, the nixlibs.R build script will download or build +# * Installing a released version but first installing libarrow. +# It will use pkg-config and brew to search for libraries. +# * Installing a development version from source as a user. +# nixlibs.R will be used to build from source. System packages that +# are not on the same dev version will be skipped. Review Comment: ```suggestion # Any libarrow found on the system corresponding to a release will not match # the dev version and will thus be skipped. nixlibs.R will be used to build libarrow. ``` -- 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]
