Update to Arrow 0.16

This commit is contained in:
philjdf 2020-01-28 16:43:37 +00:00
parent 89751b450a
commit 87a2816019
4 changed files with 49 additions and 117 deletions

View File

@ -1,5 +1,5 @@
Source: arrow
Version: 0.15.1
Version: 0.16.0
Build-Depends: boost-system, boost-filesystem, boost-multiprecision, boost-algorithm, flatbuffers, rapidjson, zlib, lz4, brotli, zstd, snappy, gflags, thrift, double-conversion, glog, uriparser
Homepage: https://github.com/apache/arrow
Description: Apache Arrow is a columnar in-memory analytics layer designed to accelerate big data. It houses a set of canonical in-memory representations of flat and hierarchical data along with multiple language-bindings for structure manipulation. It also provides IPC and common algorithm implementations.

View File

@ -1,5 +1,5 @@
diff --git a/cpp/cmake_modules/BuildUtils.cmake b/cpp/cmake_modules/BuildUtils.cmake
index 4ef2948..9c3c121 100644
index f5f0ad7..3dca82e 100644
--- a/cpp/cmake_modules/BuildUtils.cmake
+++ b/cpp/cmake_modules/BuildUtils.cmake
@@ -305,7 +305,7 @@ function(ADD_ARROW_LIB LIB_NAME)
@ -11,49 +11,8 @@ index 4ef2948..9c3c121 100644
set(LIB_NAME_STATIC ${LIB_NAME}_static)
else()
set(LIB_NAME_STATIC ${LIB_NAME})
diff --git a/cpp/cmake_modules/FindLz4.cmake b/cpp/cmake_modules/FindLz4.cmake
index 8410916..a196b25 100644
--- a/cpp/cmake_modules/FindLz4.cmake
+++ b/cpp/cmake_modules/FindLz4.cmake
@@ -19,14 +19,16 @@ if(MSVC AND NOT DEFINED LZ4_MSVC_STATIC_LIB_SUFFIX)
set(LZ4_MSVC_STATIC_LIB_SUFFIX "_static")
endif()
-set(LZ4_STATIC_LIB_SUFFIX "${LZ4_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}")
+if(CMAKE_BUILD_TYPE STREQUAL "DEBUG")
+ set(LZ4_LIB_NAME_DEBUG_SUFFIX d)
+endif()
-set(LZ4_STATIC_LIB_NAME ${CMAKE_STATIC_LIBRARY_PREFIX}lz4${LZ4_STATIC_LIB_SUFFIX})
+set(LZ4_STATIC_LIB_NAME ${CMAKE_STATIC_LIBRARY_PREFIX}lz4${LZ4_MSVC_STATIC_LIB_SUFFIX}${LZ4_LIB_NAME_DEBUG_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX})
if(LZ4_ROOT)
find_library(
LZ4_LIB
- NAMES lz4 ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME}
+ NAMES lz4${LZ4_LIB_NAME_DEBUG_SUFFIX} ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME}
"${CMAKE_SHARED_LIBRARY_PREFIX}lz4_static${CMAKE_SHARED_LIBRARY_SUFFIX}"
PATHS ${LZ4_ROOT}
PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
@@ -43,14 +45,14 @@ else()
set(LZ4_INCLUDE_DIR "${LZ4_PC_INCLUDEDIR}")
list(APPEND LZ4_PC_LIBRARY_DIRS "${LZ4_PC_LIBDIR}")
- find_library(LZ4_LIB lz4
+ find_library(LZ4_LIB lz4${LZ4_LIB_NAME_DEBUG_SUFFIX} ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME}
PATHS ${LZ4_PC_LIBRARY_DIRS}
NO_DEFAULT_PATH
PATH_SUFFIXES ${LIB_PATH_SUFFIXES})
else()
find_library(
LZ4_LIB
- NAMES lz4 ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME}
+ NAMES lz4${LZ4_LIB_NAME_DEBUG_SUFFIX} ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME}
"${CMAKE_SHARED_LIBRARY_PREFIX}lz4_static${CMAKE_SHARED_LIBRARY_SUFFIX}"
PATH_SUFFIXES ${LIB_PATH_SUFFIXES})
find_path(LZ4_INCLUDE_DIR NAMES lz4.h PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
diff --git a/cpp/cmake_modules/FindThrift.cmake b/cpp/cmake_modules/FindThrift.cmake
index 87cc24e..4de0760 100644
index f9d6296..82b8d22 100644
--- a/cpp/cmake_modules/FindThrift.cmake
+++ b/cpp/cmake_modules/FindThrift.cmake
@@ -54,6 +54,10 @@ if(MSVC AND NOT THRIFT_MSVC_STATIC_LIB_SUFFIX)
@ -67,7 +26,7 @@ index 87cc24e..4de0760 100644
if(Thrift_ROOT)
find_library(THRIFT_STATIC_LIB thrift${THRIFT_MSVC_STATIC_LIB_SUFFIX}
PATHS ${Thrift_ROOT}
@@ -71,15 +75,13 @@ else()
@@ -74,16 +78,14 @@ else()
list(APPEND THRIFT_PC_LIBRARY_DIRS "${THRIFT_PC_LIBDIR}")
@ -80,51 +39,56 @@ index 87cc24e..4de0760 100644
HINTS ${THRIFT_PC_PREFIX}
- NO_DEFAULT_PATH
PATH_SUFFIXES "bin")
set(THRIFT_VERSION ${THRIFT_PC_VERSION})
else()
- find_library(THRIFT_STATIC_LIB thrift${THRIFT_MSVC_STATIC_LIB_SUFFIX}
+ find_library(THRIFT_STATIC_LIB thrift${THRIFT_MSVC_STATIC_LIB_SUFFIX}${THRIFT_LIB_NAME_DEBUG_SUFFIX}
PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}" "lib")
find_path(THRIFT_INCLUDE_DIR thrift/Thrift.h PATH_SUFFIXES "include")
find_program(THRIFT_COMPILER thrift PATH_SUFFIXES "bin")
diff --git a/cpp/cmake_modules/FindZSTD.cmake b/cpp/cmake_modules/FindZSTD.cmake
index 8e47086..d7ce559 100644
--- a/cpp/cmake_modules/FindZSTD.cmake
+++ b/cpp/cmake_modules/FindZSTD.cmake
@@ -19,14 +19,18 @@ if(MSVC AND NOT DEFINED ZSTD_MSVC_STATIC_LIB_SUFFIX)
set(ZSTD_MSVC_STATIC_LIB_SUFFIX "_static")
endif()
diff --git a/cpp/cmake_modules/SetupCxxFlags.cmake b/cpp/cmake_modules/SetupCxxFlags.cmake
index 75b33c2..80cac9a 100644
--- a/cpp/cmake_modules/SetupCxxFlags.cmake
+++ b/cpp/cmake_modules/SetupCxxFlags.cmake
@@ -128,7 +128,9 @@ macro(arrow_add_werror_if_debug)
if("${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG")
# Treat all compiler warnings as errors
if(MSVC)
- set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} /WX")
+ if(MSVC_VERSION VERSION_LESS 1900)
+ set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} /WX")
+ endif()
else()
set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -Werror")
endif()
diff --git a/cpp/src/arrow/stl.h b/cpp/src/arrow/stl.h
index 7ae9eaf..b9efdcb 100644
--- a/cpp/src/arrow/stl.h
+++ b/cpp/src/arrow/stl.h
@@ -518,6 +518,9 @@ class allocator {
-set(ZSTD_STATIC_LIB_SUFFIX "${ZSTD_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}")
+if(CMAKE_BUILD_TYPE STREQUAL "DEBUG")
+ set(ZSTD_LIB_NAME_DEBUG_SUFFIX d)
+endif()
private:
MemoryPool* pool_;
+
+set(ZSTD_STATIC_LIB_SUFFIX "${ZSTD_MSVC_STATIC_LIB_SUFFIX}${ZSTD_LIB_NAME_DEBUG_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}")
set(ZSTD_STATIC_LIB_NAME ${CMAKE_STATIC_LIBRARY_PREFIX}zstd${ZSTD_STATIC_LIB_SUFFIX})
+ template <class U>
+ friend class allocator;
};
# First, find via if specified ZTD_ROOT
if(ZSTD_ROOT)
message(STATUS "Using ZSTD_ROOT: ${ZSTD_ROOT}")
find_library(ZSTD_LIB
- NAMES zstd "${ZSTD_STATIC_LIB_NAME}" "lib${ZSTD_STATIC_LIB_NAME}"
+ NAMES zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX} "${ZSTD_STATIC_LIB_NAME}" "lib${ZSTD_STATIC_LIB_NAME}"
"${CMAKE_SHARED_LIBRARY_PREFIX}zstd${CMAKE_SHARED_LIBRARY_SUFFIX}"
PATHS ${ZSTD_ROOT}
PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
@@ -44,14 +48,14 @@ else()
set(ZSTD_INCLUDE_DIR "${ZSTD_PC_INCLUDEDIR}")
/// \brief A MemoryPool implementation delegating allocations to a STL allocator
diff --git a/cpp/src/parquet/schema.h b/cpp/src/parquet/schema.h
index 87db4de..095ef9a 100644
--- a/cpp/src/parquet/schema.h
+++ b/cpp/src/parquet/schema.h
@@ -460,7 +460,11 @@ class PARQUET_EXPORT SchemaDescriptor {
// -- -- b |
// -- -- -- c |
// -- -- -- -- d
- std::unordered_map<int, const schema::NodePtr> leaf_to_base_;
+#if _MSC_VER >= 1900
+ std::unordered_map<int, schema::NodePtr> leaf_to_base_;
+#else
+ std::unordered_map<int, const schema::NodePtr> leaf_to_base_;
+#endif
list(APPEND ZSTD_PC_LIBRARY_DIRS "${ZSTD_PC_LIBDIR}")
- find_library(ZSTD_LIB zstd
+ find_library(ZSTD_LIB zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX}
PATHS ${ZSTD_PC_LIBRARY_DIRS}
NO_DEFAULT_PATH
PATH_SUFFIXES ${LIB_PATH_SUFFIXES})
# Third, check all other CMake paths
else()
find_library(ZSTD_LIB
- NAMES zstd "${ZSTD_STATIC_LIB_NAME}" "lib${ZSTD_STATIC_LIB_NAME}"
+ NAMES zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX} "${ZSTD_STATIC_LIB_NAME}" "lib${ZSTD_STATIC_LIB_NAME}"
"${CMAKE_SHARED_LIBRARY_PREFIX}zstd${CMAKE_SHARED_LIBRARY_SUFFIX}"
PATH_SUFFIXES ${LIB_PATH_SUFFIXES})
find_path(ZSTD_INCLUDE_DIR NAMES zstd.h PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
// Mapping between ColumnPath DotString to the leaf index
std::unordered_multimap<std::string, int> leaf_to_idx_;

View File

@ -1,31 +0,0 @@
diff --git a/cpp/cmake_modules/SetupCxxFlags.cmake b/cpp/cmake_modules/SetupCxxFlags.cmake
index 496904b..887f9c4 100644
--- a/cpp/cmake_modules/SetupCxxFlags.cmake
+++ b/cpp/cmake_modules/SetupCxxFlags.cmake
@@ -124,7 +124,9 @@ macro(arrow_add_werror_if_debug)
if("${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG")
# Treat all compiler warnings as errors
if("${COMPILER_FAMILY}" STREQUAL "msvc")
- set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} /WX")
+ if (MSVC_VERSION VERSION_LESS 1900)
+ set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} /WX")
+ endif()
else()
set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -Werror")
endif()
diff --git a/cpp/src/parquet/schema.h b/cpp/src/parquet/schema.h
index 740edbc..1526c73 100644
--- a/cpp/src/parquet/schema.h
+++ b/cpp/src/parquet/schema.h
@@ -457,7 +457,11 @@ class PARQUET_EXPORT SchemaDescriptor {
// -- -- b |
// -- -- -- c |
// -- -- -- -- d
+#if _MSC_VER >= 1900
+ std::unordered_map<int, schema::NodePtr> leaf_to_base_;
+#else
std::unordered_map<int, const schema::NodePtr> leaf_to_base_;
+#endif
// Mapping between ColumnPath DotString to the leaf index
std::unordered_multimap<std::string, int> leaf_to_idx_;

View File

@ -7,12 +7,11 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO apache/arrow
REF apache-arrow-0.15.1
SHA512 f371c687ad8f944c3552f2111ee3c721b89fd0cea01c4ab64c22322fe1ad96f6feff851b6f5505d8522ff4a28e59f6cafa6ce1ee0bc291d83338e4297150dc9e
REF apache-arrow-0.16.0
SHA512 fbee9ebbbfaf89435a95ac60fd9e0e0104e73c580810cd94d7a0c3f881758127e370be9283aa7fc92ea25f96a438dcbd78a3d43122aed75cc9ad30f4659a0d4f
HEAD_REF master
PATCHES
all.patch
fix-msvc-1900.patch
)
string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "dynamic" ARROW_BUILD_SHARED)