You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by we...@apache.org on 2019/06/27 22:20:52 UTC

[arrow] branch master updated: ARROW-5490: [C++] Remove ARROW_BOOST_HEADER_ONLY

This is an automated email from the ASF dual-hosted git repository.

wesm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/master by this push:
     new b8cadbb  ARROW-5490: [C++] Remove ARROW_BOOST_HEADER_ONLY
b8cadbb is described below

commit b8cadbbfce2f01095c5bbd6b816de70d36bf071f
Author: Antoine Pitrou <an...@python.org>
AuthorDate: Thu Jun 27 17:18:01 2019 -0500

    ARROW-5490: [C++] Remove ARROW_BOOST_HEADER_ONLY
    
    That CMake variable isn't exposed as an option and probably doesn't work anymore.
    
    Author: Antoine Pitrou <an...@python.org>
    
    Closes #4723 from pitrou/ARROW-5490-remove-boost-header-only and squashes the following commits:
    
    172fe52eb <Antoine Pitrou> ARROW-5490:  Remove ARROW_BOOST_HEADER_ONLY
---
 cpp/cmake_modules/FindBoostAlt.cmake        | 16 ++----
 cpp/cmake_modules/ThirdpartyToolchain.cmake | 89 +++++++++++++----------------
 cpp/src/arrow/CMakeLists.txt                |  6 +-
 cpp/src/arrow/io/CMakeLists.txt             |  2 +-
 cpp/src/arrow/ipc/CMakeLists.txt            | 26 ++++-----
 cpp/src/parquet/CMakeLists.txt              |  4 +-
 6 files changed, 60 insertions(+), 83 deletions(-)

diff --git a/cpp/cmake_modules/FindBoostAlt.cmake b/cpp/cmake_modules/FindBoostAlt.cmake
index 978caff..8f16439 100644
--- a/cpp/cmake_modules/FindBoostAlt.cmake
+++ b/cpp/cmake_modules/FindBoostAlt.cmake
@@ -38,24 +38,16 @@ if(ARROW_BOOST_USE_SHARED)
   set(BUILD_SHARED_LIBS_KEEP ${BUILD_SHARED_LIBS})
   set(BUILD_SHARED_LIBS ON)
 
-  if(ARROW_BOOST_HEADER_ONLY)
-    find_package(Boost ${BoostAlt_FIND_VERSION_OPTIONS})
-  else()
-    find_package(Boost ${BoostAlt_FIND_VERSION_OPTIONS}
-                 COMPONENTS regex system filesystem)
-  endif()
+  find_package(Boost ${BoostAlt_FIND_VERSION_OPTIONS}
+               COMPONENTS regex system filesystem)
   set(BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_KEEP})
   unset(BUILD_SHARED_LIBS_KEEP)
 else()
   # Find static boost headers and libs
   # TODO Differentiate here between release and debug builds
   set(Boost_USE_STATIC_LIBS ON)
-  if(ARROW_BOOST_HEADER_ONLY)
-    find_package(Boost ${BoostAlt_FIND_VERSION_OPTIONS})
-  else()
-    find_package(Boost ${BoostAlt_FIND_VERSION_OPTIONS}
-                 COMPONENTS regex system filesystem)
-  endif()
+  find_package(Boost ${BoostAlt_FIND_VERSION_OPTIONS}
+               COMPONENTS regex system filesystem)
 endif()
 
 if(Boost_FOUND)
diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake
index f8e6651..f6677e0 100644
--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -492,47 +492,42 @@ macro(build_boost)
   # This is needed by the thrift_ep build
   set(BOOST_ROOT ${BOOST_PREFIX})
 
-  if(ARROW_BOOST_HEADER_ONLY)
-    set(BOOST_BUILD_PRODUCTS)
-    set(BOOST_CONFIGURE_COMMAND "")
-    set(BOOST_BUILD_COMMAND "")
+  set(BOOST_LIB_DIR "${BOOST_PREFIX}/stage/lib")
+  set(BOOST_BUILD_LINK "static")
+  set(
+    BOOST_STATIC_SYSTEM_LIBRARY
+    "${BOOST_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}boost_system${CMAKE_STATIC_LIBRARY_SUFFIX}"
+    )
+  set(
+    BOOST_STATIC_FILESYSTEM_LIBRARY
+    "${BOOST_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}boost_filesystem${CMAKE_STATIC_LIBRARY_SUFFIX}"
+    )
+  set(
+    BOOST_STATIC_REGEX_LIBRARY
+    "${BOOST_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}boost_regex${CMAKE_STATIC_LIBRARY_SUFFIX}"
+    )
+  set(BOOST_SYSTEM_LIBRARY boost_system_static)
+  set(BOOST_FILESYSTEM_LIBRARY boost_filesystem_static)
+  set(BOOST_REGEX_LIBRARY boost_regex_static)
+  set(BOOST_BUILD_PRODUCTS ${BOOST_STATIC_SYSTEM_LIBRARY}
+                           ${BOOST_STATIC_FILESYSTEM_LIBRARY}
+                           ${BOOST_STATIC_REGEX_LIBRARY})
+  set(BOOST_CONFIGURE_COMMAND "./bootstrap.sh" "--prefix=${BOOST_PREFIX}"
+                              "--with-libraries=filesystem,regex,system")
+  if("${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG")
+    set(BOOST_BUILD_VARIANT "debug")
   else()
-    set(BOOST_LIB_DIR "${BOOST_PREFIX}/stage/lib")
-    set(BOOST_BUILD_LINK "static")
-    set(
-      BOOST_STATIC_SYSTEM_LIBRARY
-      "${BOOST_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}boost_system${CMAKE_STATIC_LIBRARY_SUFFIX}"
-      )
-    set(
-      BOOST_STATIC_FILESYSTEM_LIBRARY
-      "${BOOST_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}boost_filesystem${CMAKE_STATIC_LIBRARY_SUFFIX}"
-      )
-    set(
-      BOOST_STATIC_REGEX_LIBRARY
-      "${BOOST_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}boost_regex${CMAKE_STATIC_LIBRARY_SUFFIX}"
-      )
-    set(BOOST_SYSTEM_LIBRARY boost_system_static)
-    set(BOOST_FILESYSTEM_LIBRARY boost_filesystem_static)
-    set(BOOST_REGEX_LIBRARY boost_regex_static)
-    set(BOOST_BUILD_PRODUCTS ${BOOST_STATIC_SYSTEM_LIBRARY}
-                             ${BOOST_STATIC_FILESYSTEM_LIBRARY}
-                             ${BOOST_STATIC_REGEX_LIBRARY})
-    set(BOOST_CONFIGURE_COMMAND "./bootstrap.sh" "--prefix=${BOOST_PREFIX}"
-                                "--with-libraries=filesystem,regex,system")
-    if("${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG")
-      set(BOOST_BUILD_VARIANT "debug")
-    else()
-      set(BOOST_BUILD_VARIANT "release")
-    endif()
-    set(BOOST_BUILD_COMMAND "./b2" "link=${BOOST_BUILD_LINK}"
-                            "variant=${BOOST_BUILD_VARIANT}" "cxxflags=-fPIC")
+    set(BOOST_BUILD_VARIANT "release")
+  endif()
+  set(BOOST_BUILD_COMMAND "./b2" "link=${BOOST_BUILD_LINK}"
+                          "variant=${BOOST_BUILD_VARIANT}" "cxxflags=-fPIC")
 
-    add_thirdparty_lib(boost_system STATIC_LIB "${BOOST_STATIC_SYSTEM_LIBRARY}")
+  add_thirdparty_lib(boost_system STATIC_LIB "${BOOST_STATIC_SYSTEM_LIBRARY}")
 
-    add_thirdparty_lib(boost_filesystem STATIC_LIB "${BOOST_STATIC_FILESYSTEM_LIBRARY}")
+  add_thirdparty_lib(boost_filesystem STATIC_LIB "${BOOST_STATIC_FILESYSTEM_LIBRARY}")
+
+  add_thirdparty_lib(boost_regex STATIC_LIB "${BOOST_STATIC_REGEX_LIBRARY}")
 
-    add_thirdparty_lib(boost_regex STATIC_LIB "${BOOST_STATIC_REGEX_LIBRARY}")
-  endif()
   externalproject_add(boost_ep
                       URL ${BOOST_SOURCE_URL}
                       BUILD_BYPRODUCTS ${BOOST_BUILD_PRODUCTS}
@@ -591,20 +586,16 @@ elseif(BOOST_SOURCE STREQUAL "SYSTEM")
   find_package(BoostAlt ${ARROW_BOOST_REQUIRED_VERSION} REQUIRED)
 endif()
 
-if(ARROW_BOOST_HEADER_ONLY)
-  set(ARROW_BOOST_LIBS)
+if(TARGET Boost::system)
+  set(BOOST_SYSTEM_LIBRARY Boost::system)
+  set(BOOST_FILESYSTEM_LIBRARY Boost::filesystem)
+  set(BOOST_REGEX_LIBRARY Boost::regex)
 else()
-  if(TARGET Boost::system)
-    set(BOOST_SYSTEM_LIBRARY Boost::system)
-    set(BOOST_FILESYSTEM_LIBRARY Boost::filesystem)
-    set(BOOST_REGEX_LIBRARY Boost::regex)
-  else()
-    set(BOOST_SYSTEM_LIBRARY boost_system_static)
-    set(BOOST_FILESYSTEM_LIBRARY boost_filesystem_static)
-    set(BOOST_REGEX_LIBRARY boost_regex_static)
-  endif()
-  set(ARROW_BOOST_LIBS ${BOOST_SYSTEM_LIBRARY} ${BOOST_FILESYSTEM_LIBRARY})
+  set(BOOST_SYSTEM_LIBRARY boost_system_static)
+  set(BOOST_FILESYSTEM_LIBRARY boost_filesystem_static)
+  set(BOOST_REGEX_LIBRARY boost_regex_static)
 endif()
+set(ARROW_BOOST_LIBS ${BOOST_SYSTEM_LIBRARY} ${BOOST_FILESYSTEM_LIBRARY})
 
 message(STATUS "Boost include dir: " ${Boost_INCLUDE_DIR})
 message(STATUS "Boost libraries: " ${Boost_LIBRARIES})
diff --git a/cpp/src/arrow/CMakeLists.txt b/cpp/src/arrow/CMakeLists.txt
index 119ff2b..68ab60c 100644
--- a/cpp/src/arrow/CMakeLists.txt
+++ b/cpp/src/arrow/CMakeLists.txt
@@ -126,6 +126,8 @@ set(ARROW_SRCS
     io/buffered.cc
     io/compressed.cc
     io/file.cc
+    io/hdfs.cc
+    io/hdfs-internal.cc
     io/interfaces.cc
     io/memory.cc
     io/readahead.cc
@@ -232,10 +234,6 @@ if(ARROW_TENSORFLOW)
   add_subdirectory(adapters/tensorflow)
 endif()
 
-if(NOT ARROW_BOOST_HEADER_ONLY)
-  set(ARROW_SRCS ${ARROW_SRCS} io/hdfs.cc io/hdfs-internal.cc)
-endif()
-
 if(ARROW_IPC)
   add_subdirectory(ipc)
 
diff --git a/cpp/src/arrow/io/CMakeLists.txt b/cpp/src/arrow/io/CMakeLists.txt
index d502494..03078f6 100644
--- a/cpp/src/arrow/io/CMakeLists.txt
+++ b/cpp/src/arrow/io/CMakeLists.txt
@@ -22,7 +22,7 @@ add_arrow_test(buffered-test PREFIX "arrow-io")
 add_arrow_test(compressed-test PREFIX "arrow-io")
 add_arrow_test(file-test PREFIX "arrow-io")
 
-if(ARROW_HDFS AND NOT ARROW_BOOST_HEADER_ONLY)
+if(ARROW_HDFS)
   add_arrow_test(hdfs-test NO_VALGRIND PREFIX "arrow-io")
 endif()
 
diff --git a/cpp/src/arrow/ipc/CMakeLists.txt b/cpp/src/arrow/ipc/CMakeLists.txt
index 3e19304..65513d7 100644
--- a/cpp/src/arrow/ipc/CMakeLists.txt
+++ b/cpp/src/arrow/ipc/CMakeLists.txt
@@ -23,21 +23,19 @@ add_arrow_test(read-write-test PREFIX "arrow-ipc")
 add_arrow_test(json-simple-test PREFIX "arrow-ipc")
 add_arrow_test(json-test PREFIX "arrow-ipc")
 
-if(NOT ARROW_BOOST_HEADER_ONLY)
-  # json-integration-test is two things at the same time:
-  # - an executable that can be called to answer integration test requests
-  # - a self-(unit)test for the C++ side of integration testing
-  if(ARROW_BUILD_TESTS)
-    add_arrow_test(json-integration-test EXTRA_LINK_LIBS ${GFLAGS_LIBRARIES})
-    add_dependencies(arrow-integration arrow-json-integration-test)
-  elseif(ARROW_BUILD_INTEGRATION)
-    add_executable(arrow-json-integration-test json-integration-test.cc)
-    target_link_libraries(arrow-json-integration-test ${ARROW_TEST_LINK_LIBS}
-                          ${GFLAGS_LIBRARIES} GTest::GTest)
+# json-integration-test is two things at the same time:
+# - an executable that can be called to answer integration test requests
+# - a self-(unit)test for the C++ side of integration testing
+if(ARROW_BUILD_TESTS)
+  add_arrow_test(json-integration-test EXTRA_LINK_LIBS ${GFLAGS_LIBRARIES})
+  add_dependencies(arrow-integration arrow-json-integration-test)
+elseif(ARROW_BUILD_INTEGRATION)
+  add_executable(arrow-json-integration-test json-integration-test.cc)
+  target_link_libraries(arrow-json-integration-test ${ARROW_TEST_LINK_LIBS}
+                        ${GFLAGS_LIBRARIES} GTest::GTest)
 
-    add_dependencies(arrow-json-integration-test arrow arrow_testing)
-    add_dependencies(arrow-integration arrow-json-integration-test)
-  endif()
+  add_dependencies(arrow-json-integration-test arrow arrow_testing)
+  add_dependencies(arrow-integration arrow-json-integration-test)
 endif()
 
 # make clean will delete the generated file
diff --git a/cpp/src/parquet/CMakeLists.txt b/cpp/src/parquet/CMakeLists.txt
index 019f59f..cb8de16 100644
--- a/cpp/src/parquet/CMakeLists.txt
+++ b/cpp/src/parquet/CMakeLists.txt
@@ -94,9 +94,7 @@ else()
 endif()
 
 set(PARQUET_BOOST_LINK_LIBS)
-if(NOT ARROW_BOOST_HEADER_ONLY)
-  list(APPEND PARQUET_BOOST_LINK_LIBS ${BOOST_REGEX_LIBRARY})
-endif()
+list(APPEND PARQUET_BOOST_LINK_LIBS ${BOOST_REGEX_LIBRARY})
 if(MSVC)
   list(APPEND PARQUET_BOOST_LINK_LIBS ${BOOST_SYSTEM_LIBRARY})
 endif()