mirror of
https://github.com/apache/arrow.git
synced 2026-10-29 00:56:31 +08:00
First draft of dependency download, offline build [skip ci]
Add additional needed dependencies for offline build
This commit is contained in:
1 parent
884474ca5c
commit
9d4478b501
3 files changed
+254
-78
No files matched your search
+9
-20
@@ -156,29 +156,17 @@ There are some problems that may occur during the compilation process:
|
||||
- libfuzzer was not distributed with your LLVM: `ld: file not found: .../libLLVMFuzzer.a`
|
||||
- your LLVM is too old: `clang: error: unsupported argument 'fuzzer' to option 'fsanitize='`
|
||||
|
||||
### Third-party environment variables
|
||||
### Third-party dependencies and configuration
|
||||
|
||||
To set up your own specific build toolchain, here are the relevant environment
|
||||
variables
|
||||
Arrow depends on a number of thirdparty libraries. We support these in a few
|
||||
ways:
|
||||
|
||||
* Boost: `BOOST_ROOT`
|
||||
* Googletest: `GTEST_HOME` (only required to build the unit tests)
|
||||
* gflags: `GFLAGS_HOME` (only required to build the unit tests)
|
||||
* Google Benchmark: `GBENCHMARK_HOME` (only required if building benchmarks)
|
||||
* Flatbuffers: `FLATBUFFERS_HOME` (only required for the IPC extensions)
|
||||
* Hadoop: `HADOOP_HOME` (only required for the HDFS I/O extensions)
|
||||
* jemalloc: `JEMALLOC_HOME`
|
||||
* brotli: `BROTLI_HOME`, can be disabled with `-DARROW_WITH_BROTLI=off`
|
||||
* lz4: `LZ4_HOME`, can be disabled with `-DARROW_WITH_LZ4=off`
|
||||
* snappy: `SNAPPY_HOME`, can be disabled with `-DARROW_WITH_SNAPPY=off`
|
||||
* zlib: `ZLIB_HOME`, can be disabled with `-DARROW_WITH_ZLIB=off`
|
||||
* zstd: `ZSTD_HOME`, can be disabled with `-DARROW_WITH_ZSTD=off`
|
||||
* Building dependencies from source by downloading archives from the internet
|
||||
* Building dependencies from source using from local archives (to allow offline
|
||||
builds)
|
||||
* Building with locally-installed libraries
|
||||
|
||||
If you have all of your toolchain libraries installed at the same prefix, you
|
||||
can use the environment variable `$ARROW_BUILD_TOOLCHAIN` to automatically set
|
||||
all of these variables. Note that `ARROW_BUILD_TOOLCHAIN` will not set
|
||||
`BOOST_ROOT`, so if you have custom Boost installation, you must set this
|
||||
environment variable separately.
|
||||
See [thirdparty/README.md][5] for details about these options.
|
||||
|
||||
### Building Python integration library (optional)
|
||||
|
||||
@@ -382,3 +370,4 @@ both of these options would be used rarely. Current known uses-cases when they a
|
||||
[2]: https://github.com/apache/arrow/blob/master/cpp/apidoc/Windows.md
|
||||
[3]: https://google.github.io/styleguide/cppguide.html
|
||||
[4]: https://github.com/include-what-you-use/include-what-you-use
|
||||
[5]: https://github.com/apache/arrow/blob/master/cpp/thirdparty/README.md
|
||||
@@ -17,44 +17,9 @@
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Thirdparty toolchain
|
||||
# Thirdparty versions, environment variables, source URLs
|
||||
|
||||
set(THIRDPARTY_DIR "${CMAKE_SOURCE_DIR}/thirdparty")
|
||||
set(GFLAGS_VERSION "2.2.0")
|
||||
set(GTEST_VERSION "1.8.0")
|
||||
set(GBENCHMARK_VERSION "1.4.1")
|
||||
set(FLATBUFFERS_VERSION "1.9.0")
|
||||
set(JEMALLOC_VERSION "17c897976c60b0e6e4f4a365c751027244dada7a")
|
||||
set(SNAPPY_VERSION "1.1.3")
|
||||
set(BROTLI_VERSION "v0.6.0")
|
||||
set(LZ4_VERSION "1.7.5")
|
||||
set(ZSTD_VERSION "1.2.0")
|
||||
set(PROTOBUF_VERSION "2.6.0")
|
||||
set(GRPC_VERSION "94582910ad7f82ad447ecc72e6548cb669e4f7a9") # v1.6.5
|
||||
set(ORC_VERSION "cf00b67795717ab3eb04e950780ed6d104109017")
|
||||
|
||||
string(TOUPPER ${CMAKE_BUILD_TYPE} UPPERCASE_BUILD_TYPE)
|
||||
|
||||
set(EP_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${UPPERCASE_BUILD_TYPE}}")
|
||||
set(EP_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${UPPERCASE_BUILD_TYPE}}")
|
||||
|
||||
if (NOT ARROW_VERBOSE_THIRDPARTY_BUILD)
|
||||
set(EP_LOG_OPTIONS
|
||||
LOG_CONFIGURE 1
|
||||
LOG_BUILD 1
|
||||
LOG_INSTALL 1
|
||||
LOG_DOWNLOAD 1)
|
||||
set(Boost_DEBUG FALSE)
|
||||
else()
|
||||
set(EP_LOG_OPTIONS)
|
||||
set(Boost_DEBUG TRUE)
|
||||
endif()
|
||||
|
||||
if (NOT MSVC)
|
||||
# Set -fPIC on all external projects
|
||||
set(EP_CXX_FLAGS "${EP_CXX_FLAGS} -fPIC")
|
||||
set(EP_C_FLAGS "${EP_C_FLAGS} -fPIC")
|
||||
endif()
|
||||
|
||||
if (NOT "$ENV{ARROW_BUILD_TOOLCHAIN}" STREQUAL "")
|
||||
set(FLATBUFFERS_HOME "$ENV{ARROW_BUILD_TOOLCHAIN}")
|
||||
@@ -114,6 +79,140 @@ if (DEFINED ENV{PROTOBUF_HOME})
|
||||
set(PROTOBUF_HOME "$ENV{PROTOBUF_HOME}")
|
||||
endif()
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Versions and URLs for toolchain builds, which also can be used to configure
|
||||
# offline builds
|
||||
|
||||
set(BOOST_TOOLCHAIN_VERSION "1.67.0")
|
||||
if (DEFINED ENV{ARROW_BOOST_URL})
|
||||
set(BOOST_SOURCE_URL "$ENV{ARROW_BOOST_URL}")
|
||||
else()
|
||||
string(REPLACE "." "_" BOOST_TOOLCHAIN_VERSION_UNDERSCORES ${BOOST_TOOLCHAIN_VERSION})
|
||||
set(BOOST_SOURCE_URL
|
||||
"https://dl.bintray.com/boostorg/release/${BOOST_TOOLCHAIN_VERSION}/source/boost_${BOOST_TOOLCHAIN_VERSION_UNDERSCORES}.tar.gz")
|
||||
endif()
|
||||
|
||||
set(GTEST_VERSION "1.8.0")
|
||||
if (DEFINED ENV{ARROW_GTEST_URL})
|
||||
set(GTEST_SOURCE_URL "$ENV{ARROW_GTEST_URL}")
|
||||
else()
|
||||
set(GTEST_SOURCE_URL "https://github.com/google/googletest/archive/release-${GTEST_VERSION}.tar.gz")
|
||||
endif()
|
||||
|
||||
set(GFLAGS_VERSION "2.2.0")
|
||||
if (DEFINED ENV{ARROW_GFLAGS_URL})
|
||||
set(GFLAGS_SOURCE_URL "$ENV{ARROW_GFLAGS_URL}")
|
||||
else()
|
||||
set(GFLAGS_SOURCE_URL "https://github.com/gflags/gflags/archive/v${GFLAGS_VERSION}.tar.gz")
|
||||
endif()
|
||||
|
||||
set(GBENCHMARK_VERSION "1.4.1")
|
||||
if (DEFINED ENV{ARROW_GBENCHMARK_URL})
|
||||
set(GBENCHMARK_SOURCE_URL "$ENV{ARROW_GBENCHMARK_URL}")
|
||||
else()
|
||||
set(GBENCHMARK_SOURCE_URL "https://github.com/google/benchmark/archive/v${GBENCHMARK_VERSION}.tar.gz")
|
||||
endif()
|
||||
|
||||
set(RAPIDJSON_VERSION "1.1.0")
|
||||
set(RAPIDJSON_SOURCE_MD5 "badd12c511e081fec6c89c43a7027bce")
|
||||
if (DEFINED ENV{ARROW_RAPIDJSON_URL})
|
||||
set(RAPIDJSON_SOURCE_URL "$ENV{ARROW_RAPIDJSON_URL}")
|
||||
else()
|
||||
set(RAPIDJSON_SOURCE_URL "https://github.com/miloyip/rapidjson/archive/v${RAPIDJSON_VERSION}.tar.gz")
|
||||
endif()
|
||||
|
||||
set(FLATBUFFERS_VERSION "1.9.0")
|
||||
if (DEFINED ENV{ARROW_FLATBUFFERS_URL})
|
||||
set(FLATBUFFERS_SOURCE_URL "$ENV{ARROW_FLATBUFFERS_URL}")
|
||||
else()
|
||||
set(FLATBUFFERS_SOURCE_URL "https://github.com/google/flatbuffers/archive/v${FLATBUFFERS_VERSION}.tar.gz")
|
||||
endif()
|
||||
|
||||
# jemalloc is vendored, nothing to configure, see later
|
||||
set(JEMALLOC_VERSION "17c897976c60b0e6e4f4a365c751027244dada7a")
|
||||
|
||||
set(SNAPPY_VERSION "1.1.3")
|
||||
if (DEFINED ENV{ARROW_SNAPPY_URL})
|
||||
set(SNAPPY_SOURCE_URL "$ENV{ARROW_SNAPPY_URL}")
|
||||
else()
|
||||
set(SNAPPY_SOURCE_URL "https://github.com/google/snappy/releases/download/${SNAPPY_VERSION}/snappy-${SNAPPY_VERSION}.tar.gz")
|
||||
endif()
|
||||
|
||||
set(BROTLI_VERSION "v0.6.0")
|
||||
if (DEFINED ENV{ARROW_BROTLI_URL})
|
||||
set(BROTLI_SOURCE_URL "$ENV{ARROW_BROTLI_URL}")
|
||||
else()
|
||||
set(BROTLI_SOURCE_URL "https://github.com/google/brotli/archive/${BROTLI_VERSION}.tar.gz")
|
||||
endif()
|
||||
|
||||
set(LZ4_VERSION "1.7.5")
|
||||
if (DEFINED ENV{ARROW_LZ4_URL})
|
||||
set(LZ4_SOURCE_URL "$ENV{ARROW_LZ4_URL}")
|
||||
else()
|
||||
set(LZ4_SOURCE_URL "https://github.com/lz4/lz4/archive/v${LZ4_VERSION}.tar.gz")
|
||||
endif()
|
||||
|
||||
set(ZLIB_VERSION "1.2.8")
|
||||
if (DEFINED ENV{ARROW_ZLIB_URL})
|
||||
set(ZLIB_SOURCE_URL "$ENV{ARROW_ZLIB_URL}")
|
||||
else()
|
||||
set(ZLIB_SOURCE_URL "http://zlib.net/fossils/zlib-${ZLIB_VERSION}.tar.gz")
|
||||
endif()
|
||||
|
||||
set(ZSTD_VERSION "1.2.0")
|
||||
if (DEFINED ENV{ARROW_ZSTD_URL})
|
||||
set(ZSTD_SOURCE_URL "$ENV{ARROW_ZSTD_URL}")
|
||||
else()
|
||||
set(ZSTD_SOURCE_URL "https://github.com/facebook/zstd/archive/v${ZSTD_VERSION}.tar.gz")
|
||||
endif()
|
||||
|
||||
set(PROTOBUF_VERSION "2.6.0")
|
||||
if (DEFINED ENV{ARROW_PROTOBUF_URL})
|
||||
set(PROTOBUF_SOURCE_URL "$ENV{ARROW_PROTOBUF_URL}")
|
||||
else()
|
||||
set(PROTOBUF_SOURCE_URL "https://github.com/google/protobuf/releases/download/v${PROTOBUF_VERSION}/protobuf-${PROTOBUF_VERSION}.tar.gz")
|
||||
endif()
|
||||
|
||||
set(GRPC_VERSION "1.12.1")
|
||||
if (DEFINED ENV{ARROW_GRPC_URL})
|
||||
set(GRPC_SOURCE_URL "$ENV{ARROW_GRPC_URL}")
|
||||
else()
|
||||
set(GRPC_SOURCE_URL "https://github.com/grpc/grpc/archive/v${GRPC_VERSION}.tar.gz")
|
||||
endif()
|
||||
|
||||
set(ORC_VERSION "cf00b67795717ab3eb04e950780ed6d104109017")
|
||||
if (DEFINED ENV{ARROW_ORC_URL})
|
||||
set(ORC_SOURCE_URL "$ENV{ARROW_ORC_URL}")
|
||||
else()
|
||||
set(ORC_SOURCE_URL "https://github.com/apache/orc/archive/${ORC_VERSION}.tar.gz")
|
||||
endif()
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# ExternalProject options
|
||||
|
||||
string(TOUPPER ${CMAKE_BUILD_TYPE} UPPERCASE_BUILD_TYPE)
|
||||
|
||||
set(EP_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${UPPERCASE_BUILD_TYPE}}")
|
||||
set(EP_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${UPPERCASE_BUILD_TYPE}}")
|
||||
|
||||
if (NOT ARROW_VERBOSE_THIRDPARTY_BUILD)
|
||||
set(EP_LOG_OPTIONS
|
||||
LOG_CONFIGURE 1
|
||||
LOG_BUILD 1
|
||||
LOG_INSTALL 1
|
||||
LOG_DOWNLOAD 1)
|
||||
set(Boost_DEBUG FALSE)
|
||||
else()
|
||||
set(EP_LOG_OPTIONS)
|
||||
set(Boost_DEBUG TRUE)
|
||||
endif()
|
||||
|
||||
if (NOT MSVC)
|
||||
# Set -fPIC on all external projects
|
||||
set(EP_CXX_FLAGS "${EP_CXX_FLAGS} -fPIC")
|
||||
set(EP_C_FLAGS "${EP_C_FLAGS} -fPIC")
|
||||
endif()
|
||||
|
||||
# Ensure that a default make is set
|
||||
if ("${MAKE}" STREQUAL "")
|
||||
if (NOT MSVC)
|
||||
@@ -146,10 +245,6 @@ set(Boost_ADDITIONAL_VERSIONS
|
||||
"1.62.0" "1.61"
|
||||
"1.61.0" "1.62"
|
||||
"1.60.0" "1.60")
|
||||
list(GET Boost_ADDITIONAL_VERSIONS 2 BOOST_LATEST_VERSION)
|
||||
string(REPLACE "." "_" BOOST_LATEST_VERSION_IN_PATH ${BOOST_LATEST_VERSION})
|
||||
set(BOOST_LATEST_URL
|
||||
"https://dl.bintray.com/boostorg/release/${BOOST_LATEST_VERSION}/source/boost_${BOOST_LATEST_VERSION_IN_PATH}.tar.gz")
|
||||
|
||||
if (ARROW_BOOST_VENDORED)
|
||||
set(BOOST_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/boost_ep-prefix/src/boost_ep")
|
||||
@@ -185,7 +280,7 @@ if (ARROW_BOOST_VENDORED)
|
||||
"cxxflags=-fPIC")
|
||||
endif()
|
||||
ExternalProject_Add(boost_ep
|
||||
URL ${BOOST_LATEST_URL}
|
||||
URL ${BOOST_SOURCE_URL}
|
||||
BUILD_BYPRODUCTS ${BOOST_BUILD_PRODUCTS}
|
||||
BUILD_IN_SOURCE 1
|
||||
CONFIGURE_COMMAND ${BOOST_CONFIGURE_COMMAND}
|
||||
@@ -288,7 +383,7 @@ if(ARROW_BUILD_TESTS OR ARROW_BUILD_BENCHMARKS)
|
||||
endif()
|
||||
|
||||
ExternalProject_Add(googletest_ep
|
||||
URL "https://github.com/google/googletest/archive/release-${GTEST_VERSION}.tar.gz"
|
||||
URL ${GTEST_SOURCE_URL}
|
||||
BUILD_BYPRODUCTS ${GTEST_STATIC_LIB} ${GTEST_MAIN_STATIC_LIB}
|
||||
CMAKE_ARGS ${GTEST_CMAKE_ARGS}
|
||||
${EP_LOG_OPTIONS})
|
||||
@@ -314,7 +409,6 @@ if(ARROW_BUILD_TESTS OR ARROW_BUILD_BENCHMARKS)
|
||||
if("${GFLAGS_HOME}" STREQUAL "")
|
||||
set(GFLAGS_CMAKE_CXX_FLAGS ${EP_CXX_FLAGS})
|
||||
|
||||
set(GFLAGS_URL "https://github.com/gflags/gflags/archive/v${GFLAGS_VERSION}.tar.gz")
|
||||
set(GFLAGS_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/gflags_ep-prefix/src/gflags_ep")
|
||||
set(GFLAGS_HOME "${GFLAGS_PREFIX}")
|
||||
set(GFLAGS_INCLUDE_DIR "${GFLAGS_PREFIX}/include")
|
||||
@@ -337,7 +431,7 @@ if(ARROW_BUILD_TESTS OR ARROW_BUILD_BENCHMARKS)
|
||||
-DCMAKE_CXX_FLAGS=${GFLAGS_CMAKE_CXX_FLAGS})
|
||||
|
||||
ExternalProject_Add(gflags_ep
|
||||
URL ${GFLAGS_URL}
|
||||
URL ${GFLAGS_SOURCE_URL}
|
||||
${EP_LOG_OPTIONS}
|
||||
BUILD_IN_SOURCE 1
|
||||
BUILD_BYPRODUCTS "${GFLAGS_STATIC_LIB}"
|
||||
@@ -389,7 +483,7 @@ if(ARROW_BUILD_BENCHMARKS)
|
||||
endif()
|
||||
|
||||
ExternalProject_Add(gbenchmark_ep
|
||||
URL "https://github.com/google/benchmark/archive/v${GBENCHMARK_VERSION}.tar.gz"
|
||||
URL ${GBENCHMARK_SOURCE_URL}
|
||||
BUILD_BYPRODUCTS "${GBENCHMARK_STATIC_LIB}"
|
||||
CMAKE_ARGS ${GBENCHMARK_CMAKE_ARGS}
|
||||
${EP_LOG_OPTIONS})
|
||||
@@ -414,8 +508,8 @@ if (ARROW_IPC)
|
||||
if("${RAPIDJSON_HOME}" STREQUAL "")
|
||||
ExternalProject_Add(rapidjson_ep
|
||||
PREFIX "${CMAKE_BINARY_DIR}"
|
||||
URL "https://github.com/miloyip/rapidjson/archive/v1.1.0.tar.gz"
|
||||
URL_MD5 "badd12c511e081fec6c89c43a7027bce"
|
||||
URL ${RAPIDJSON_SOURCE_URL}
|
||||
URL_MD5 ${RAPIDJSON_SOURCE_MD5}
|
||||
CONFIGURE_COMMAND ""
|
||||
BUILD_COMMAND ""
|
||||
BUILD_IN_SOURCE 1
|
||||
@@ -446,7 +540,7 @@ if (ARROW_IPC)
|
||||
endif()
|
||||
# We always need to do release builds, otherwise flatc will not be installed.
|
||||
ExternalProject_Add(flatbuffers_ep
|
||||
URL "https://github.com/google/flatbuffers/archive/v${FLATBUFFERS_VERSION}.tar.gz"
|
||||
URL ${FLATBUFFERS_SOURCE_URL}
|
||||
CMAKE_ARGS
|
||||
"-DCMAKE_CXX_FLAGS=${FLATBUFFERS_CMAKE_CXX_FLAGS}"
|
||||
"-DCMAKE_INSTALL_PREFIX:PATH=${FLATBUFFERS_PREFIX}"
|
||||
@@ -580,7 +674,7 @@ if (ARROW_WITH_ZLIB)
|
||||
-DBUILD_SHARED_LIBS=OFF)
|
||||
|
||||
ExternalProject_Add(zlib_ep
|
||||
URL "http://zlib.net/fossils/zlib-1.2.8.tar.gz"
|
||||
URL ${ZLIB_SOURCE_URL}
|
||||
${EP_LOG_OPTIONS}
|
||||
BUILD_BYPRODUCTS "${ZLIB_STATIC_LIB}"
|
||||
CMAKE_ARGS ${ZLIB_CMAKE_ARGS})
|
||||
@@ -613,7 +707,6 @@ if (ARROW_WITH_SNAPPY)
|
||||
set(SNAPPY_STATIC_LIB_NAME snappy)
|
||||
endif()
|
||||
set(SNAPPY_STATIC_LIB "${SNAPPY_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}${SNAPPY_STATIC_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
set(SNAPPY_SRC_URL "https://github.com/google/snappy/releases/download/${SNAPPY_VERSION}/snappy-${SNAPPY_VERSION}.tar.gz")
|
||||
|
||||
if (${UPPERCASE_BUILD_TYPE} EQUAL "RELEASE")
|
||||
if (APPLE)
|
||||
@@ -642,7 +735,7 @@ if (ARROW_WITH_SNAPPY)
|
||||
BUILD_IN_SOURCE 1
|
||||
BUILD_COMMAND ${MAKE}
|
||||
INSTALL_DIR ${SNAPPY_PREFIX}
|
||||
URL ${SNAPPY_SRC_URL}
|
||||
URL ${SNAPPY_SOURCE_URL}
|
||||
CMAKE_ARGS ${SNAPPY_CMAKE_ARGS}
|
||||
BUILD_BYPRODUCTS "${SNAPPY_STATIC_LIB}")
|
||||
else()
|
||||
@@ -652,7 +745,7 @@ if (ARROW_WITH_SNAPPY)
|
||||
BUILD_IN_SOURCE 1
|
||||
BUILD_COMMAND ${MAKE}
|
||||
INSTALL_DIR ${SNAPPY_PREFIX}
|
||||
URL ${SNAPPY_SRC_URL}
|
||||
URL ${SNAPPY_SOURCE_URL}
|
||||
BUILD_BYPRODUCTS "${SNAPPY_STATIC_LIB}")
|
||||
endif()
|
||||
set(SNAPPY_VENDORED 1)
|
||||
@@ -696,7 +789,7 @@ if (ARROW_WITH_BROTLI)
|
||||
-DBUILD_SHARED_LIBS=OFF)
|
||||
|
||||
ExternalProject_Add(brotli_ep
|
||||
URL "https://github.com/google/brotli/archive/${BROTLI_VERSION}.tar.gz"
|
||||
URL ${BROTLI_SOURCE_URL}
|
||||
BUILD_BYPRODUCTS "${BROTLI_STATIC_LIBRARY_ENC}" "${BROTLI_STATIC_LIBRARY_DEC}" "${BROTLI_STATIC_LIBRARY_COMMON}"
|
||||
${BROTLI_BUILD_BYPRODUCTS}
|
||||
${EP_LOG_OPTIONS}
|
||||
@@ -758,7 +851,7 @@ if (ARROW_WITH_LZ4)
|
||||
endif()
|
||||
|
||||
ExternalProject_Add(lz4_ep
|
||||
URL "https://github.com/lz4/lz4/archive/v${LZ4_VERSION}.tar.gz"
|
||||
URL ${LZ4_SOURCE_URL}
|
||||
${EP_LOG_OPTIONS}
|
||||
UPDATE_COMMAND ""
|
||||
${LZ4_PATCH_COMMAND}
|
||||
@@ -811,7 +904,7 @@ if (ARROW_WITH_ZSTD)
|
||||
endif()
|
||||
|
||||
ExternalProject_Add(zstd_ep
|
||||
URL "https://github.com/facebook/zstd/archive/v${ZSTD_VERSION}.tar.gz"
|
||||
URL ${ZSTD_SOURCE_URL}
|
||||
${EP_LOG_OPTIONS}
|
||||
UPDATE_COMMAND ""
|
||||
${ZSTD_PATCH_COMMAND}
|
||||
@@ -891,12 +984,11 @@ if (ARROW_ORC)
|
||||
set (PROTOBUF_HOME "${PROTOBUF_PREFIX}")
|
||||
set (PROTOBUF_INCLUDE_DIR "${PROTOBUF_PREFIX}/include")
|
||||
set (PROTOBUF_STATIC_LIB "${PROTOBUF_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}protobuf${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
set (PROTOBUF_SRC_URL "https://github.com/google/protobuf/releases/download/v${PROTOBUF_VERSION}/protobuf-${PROTOBUF_VERSION}.tar.gz")
|
||||
|
||||
ExternalProject_Add(protobuf_ep
|
||||
CONFIGURE_COMMAND "./configure" "--disable-shared" "--prefix=${PROTOBUF_PREFIX}" "CXXFLAGS=${EP_CXX_FLAGS}"
|
||||
BUILD_IN_SOURCE 1
|
||||
URL ${PROTOBUF_SRC_URL}
|
||||
URL ${PROTOBUF_SOURCE_URL}
|
||||
BUILD_BYPRODUCTS "${PROTOBUF_STATIC_LIB}"
|
||||
${EP_LOG_OPTIONS})
|
||||
|
||||
@@ -952,7 +1044,7 @@ if (ARROW_ORC)
|
||||
-DZLIB_HOME=${ZLIB_HOME})
|
||||
|
||||
ExternalProject_Add(orc_ep
|
||||
URL "https://github.com/apache/orc/archive/${ORC_VERSION}.tar.gz"
|
||||
URL ${ORC_SOURCE_URL}
|
||||
BUILD_BYPRODUCTS ${ORC_STATIC_LIB}
|
||||
CMAKE_ARGS ${ORC_CMAKE_ARGS}
|
||||
${EP_LOG_OPTIONS})
|
||||
|
||||
+95
@@ -0,0 +1,95 @@
|
||||
#!/usr/bin/env 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.
|
||||
|
||||
# This script downloads all the thirdparty dependencies as a series of tarballs
|
||||
# that can be used for offline builds, etc.
|
||||
|
||||
set -e
|
||||
|
||||
SOURCE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
if [ "$#" -ne 1 ]; then
|
||||
echo "Usage: $0 <destination-directory>"
|
||||
exit
|
||||
fi
|
||||
|
||||
_DST=$1
|
||||
|
||||
BOOST_VERSION=1.67.0
|
||||
GTEST_VERSION=1.8.0
|
||||
GFLAGS_VERSION=2.2.0
|
||||
GBENCHMARK_VERSION=1.4.1
|
||||
FLATBUFFERS_VERSION=1.9.0
|
||||
RAPIDJSON_VERSION=1.1.0
|
||||
JEMALLOC_VERSION=17c897976c60b0e6e4f4a365c751027244dada7a
|
||||
SNAPPY_VERSION=1.1.3
|
||||
BROTLI_VERSION=v0.6.0
|
||||
LZ4_VERSION=1.7.5
|
||||
ZLIB_VERSION=1.2.8
|
||||
ZSTD_VERSION=1.2.0
|
||||
PROTOBUF_VERSION=2.6.0
|
||||
GRPC_VERSION=1.12.1
|
||||
ORC_VERSION=1.5.1
|
||||
|
||||
BOOST_UNDERSCORE_VERSION=`echo $BOOST_VERSION | sed 's/\./_/g'`
|
||||
wget -O $_DST/boost.tar.gz https://dl.bintray.com/boostorg/release/$BOOST_VERSION/source/boost_$BOOST_UNDERSCORE_VERSION.tar.gz
|
||||
|
||||
wget -O $_DST/gtest.tar.gz https://github.com/google/googletest/archive/release-$GTEST_VERSION.tar.gz
|
||||
|
||||
wget -O $_DST/gflags.tar.gz https://github.com/gflags/gflags/archive/v$GFLAGS_VERSION.tar.gz
|
||||
|
||||
wget -O $_DST/gbenchmark.tar.gz https://github.com/google/benchmark/archive/v$GBENCHMARK_VERSION.tar.gz
|
||||
|
||||
wget -O $_DST/flatbuffers.tar.gz https://github.com/google/flatbuffers/archive/v$FLATBUFFERS_VERSION.tar.gz
|
||||
|
||||
wget -O $_DST/rapidjson.tar.gz https://github.com/miloyip/rapidjson/archive/v$RAPIDJSON_VERSION.tar.gz
|
||||
|
||||
wget -O $_DST/snappy.tar.gz https://github.com/google/snappy/releases/download/$SNAPPY_VERSION/snappy-$SNAPPY_VERSION.tar.gz
|
||||
|
||||
wget -O $_DST/brotli.tar.gz https://github.com/google/brotli/archive/$BROTLI_VERSION.tar.gz
|
||||
|
||||
wget -O $_DST/lz4.tar.gz https://github.com/lz4/lz4/archive/v$LZ4_VERSION.tar.gz
|
||||
|
||||
wget -O $_DST/zlib.tar.gz http://zlib.net/fossils/zlib-$ZLIB_VERSION.tar.gz
|
||||
|
||||
wget -O $_DST/zstd.tar.gz https://github.com/facebook/zstd/archive/v$ZSTD_VERSION.tar.gz
|
||||
|
||||
wget -O $_DST/protobuf.tar.gz https://github.com/google/protobuf/releases/download/v$PROTOBUF_VERSION/protobuf-$PROTOBUF_VERSION.tar.gz
|
||||
|
||||
wget -O $_DST/grpc.tar.gz https://github.com/grpc/grpc/archive/v$GRPC_VERSION.tar.gz
|
||||
|
||||
wget -O $_DST/orc.tar.gz https://github.com/apache/orc/archive/rel/release-$ORC_VERSION.tar.gz
|
||||
|
||||
echo "
|
||||
# Environment variables for offline Arrow build
|
||||
export ARROW_BOOST_URL=$_DST/boost.tar.gz
|
||||
export ARROW_GTEST_URL=$_DST/gtest.tar.gz
|
||||
export ARROW_GFLAGS_URL=$_DST/gflags.tar.gz
|
||||
export ARROW_GBENCHMARK_URL=$_DST/gbenchmark.tar.gz
|
||||
export ARROW_FLATBUFFERS_URL=$_DST/flatbuffers.tar.gz
|
||||
export ARROW_RAPIDJSON_URL=$_DST/rapidjson.tar.gz
|
||||
export ARROW_SNAPPY_URL=$_DST/snappy.tar.gz
|
||||
export ARROW_BROTLI_URL=$_DST/brotli.tar.gz
|
||||
export ARROW_LZ4_URL=$_DST/lz4.tar.gz
|
||||
export ARROW_ZLIB_URL=$_DST/zlib.tar.gz
|
||||
export ARROW_ZSTD_URL=$_DST/zstd.tar.gz
|
||||
export ARROW_PROTOBUF_URL=$_DST/protobuf.tar.gz
|
||||
export ARROW_GRPC_URL=$_DST/grpc.tar.gz
|
||||
export ARROW_ORC_URL=$_DST/orc.tar.gz
|
||||
"
|
||||
Reference in new issue
Block a user