diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:54:28 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:54:28 +0000 |
commit | e6918187568dbd01842d8d1d2c808ce16a894239 (patch) | |
tree | 64f88b554b444a49f656b6c656111a145cbbaa28 /src/arrow/r/configure.win | |
parent | Initial commit. (diff) | |
download | ceph-e6918187568dbd01842d8d1d2c808ce16a894239.tar.xz ceph-e6918187568dbd01842d8d1d2c808ce16a894239.zip |
Adding upstream version 18.2.2.upstream/18.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/arrow/r/configure.win')
-rw-r--r-- | src/arrow/r/configure.win | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/src/arrow/r/configure.win b/src/arrow/r/configure.win new file mode 100644 index 000000000..6d731bb09 --- /dev/null +++ b/src/arrow/r/configure.win @@ -0,0 +1,73 @@ +#!/bin/bash + +# 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. + + +# generate code +if [ "$ARROW_R_DEV" == "TRUE" ]; then + echo "*** Generating code with data-raw/codegen.R" + "${R_HOME}/bin${R_ARCH_BIN}/Rscript.exe" data-raw/codegen.R +fi + +VERSION=$(grep ^Version DESCRIPTION | sed s/Version:\ //) +# Try to find/download a C++ Arrow binary, +# including possibly a local .zip file if RWINLIB_LOCAL is set +"${R_HOME}/bin${R_ARCH_BIN}/Rscript.exe" "tools/winlibs.R" $VERSION $RWINLIB_LOCAL +# If binary not found, script exits nonzero +if [ $? -ne 0 ]; then + echo "Arrow C++ library was not found" +fi + +# Set the right flags to point to and enable arrow/parquet +if [ -d "windows/arrow-$VERSION" ]; then + RWINLIB="../windows/arrow-$VERSION" +else + # It's possible that the version of the libarrow binary is not identical to the + # R version, e.g. if the R build is a patch release, so find what the dir is + # actually called. If there is more than one version present, use the one + # with the highest version: + RWINLIB="../windows/$(ls windows/ | grep ^arrow- | tail -n 1)" +fi +OPENSSL_LIBS="-lcrypto -lcrypt32" +MIMALLOC_LIBS="-lbcrypt -lpsapi" +AWS_LIBS="-laws-cpp-sdk-config -laws-cpp-sdk-transfer -laws-cpp-sdk-identity-management -laws-cpp-sdk-cognito-identity -laws-cpp-sdk-sts -laws-cpp-sdk-s3 -laws-cpp-sdk-core -laws-c-event-stream -laws-checksums -laws-c-common -lUserenv -lversion -lws2_32 -lBcrypt -lWininet -lwinhttp" + +# NOTE: If you make changes to the libraries below, you should also change +# ci/scripts/r_windows_build.sh and ci/scripts/PKGBUILD +PKG_CFLAGS="-I${RWINLIB}/include -DARROW_STATIC -DPARQUET_STATIC -DARROW_DS_STATIC -DARROW_R_WITH_ARROW -DARROW_R_WITH_PARQUET -DARROW_R_WITH_DATASET -DARROW_R_WITH_JSON" +PKG_LIBS="-L${RWINLIB}/lib"'$(subst gcc,,$(COMPILED_BY))$(R_ARCH) '"-L${RWINLIB}/lib"'$(R_ARCH)$(CRT) '"-lparquet -larrow_dataset -larrow -larrow_bundled_dependencies -lutf8proc -lthrift -lsnappy -lz -lzstd -llz4 -lole32 ${MIMALLOC_LIBS} ${OPENSSL_LIBS}" + +# S3 and re2 support only for Rtools40 (i.e. R >= 4.0) +"${R_HOME}/bin${R_ARCH_BIN}/Rscript.exe" -e 'R.version$major >= 4' | grep TRUE >/dev/null 2>&1 +if [ $? -eq 0 ]; then + PKG_CFLAGS="${PKG_CFLAGS} -DARROW_R_WITH_S3" + PKG_LIBS="${PKG_LIBS} -lre2 ${AWS_LIBS}" +else + # It seems that order matters + PKG_LIBS="${PKG_LIBS} -lws2_32" +fi + +# Set any user-defined CXXFLAGS +if [ "$ARROW_R_CXXFLAGS" ]; then + PKG_CFLAGS="$PKG_CFLAGS $ARROW_R_CXXFLAGS" +fi + +echo "*** Writing Makevars.win" +sed -e "s|@cflags@|$PKG_CFLAGS|" -e "s|@libs@|$PKG_LIBS|" src/Makevars.in > src/Makevars.win +# Success +exit 0 |